reelsdk vs Remotion
A Remotion alternative for captions, slideshows and shorts without React or AWS
Remotion is a React framework you render on your own servers or AWS Lambda: its own example puts a one-minute video at about $0.017 of Lambda compute, plus $0.01 per render on a company licence, while teams of 3 or fewer use it free. reelsdk is a hosted API: $0.02 per output minute for captions and slideshows, $0.25 for a complete faceless short, with no AWS account, no code to deploy and no subscription.
- reelsdk captions or slideshow$0.02
- Remotion on Lambda, team of 3 or fewer~$0.017
- Remotion on Lambda, Automators licence~$0.027
Remotion's warm Lambda example (2,048 MB, us-east-1) before S3 storage, egress and transcription, plus $0.01 per render on Automators, which has a $100 monthly minimum.
Which one to pick
Pick reelsdk if
- Your videos are captions, slideshows or faceless shorts and you'd rather not write and maintain React compositions for them
- You don't want to run an AWS account, deploy Lambda functions and sites, or keep Remotion versions in step
- You want transcription included: $0.02 a minute covers it
Pick Remotion if
- Your video is a custom design you want to build in React, with your own components
- You are 3 people or fewer and already on AWS: the licence is free and compute is about $0.017 a minute
- You render hundreds of videos in parallel; Lambda allows 1,000 concurrent functions per region by default
Price per minute
Remotion and reelsdk, cost of one video
Remotion has no render price of its own: you pay your cloud bill, and companies of 4 or more people also pay for a licence. We used Remotion's published Lambda example for a one-minute video. reelsdk prices by job type, and the price includes the machine, storage for 7 days and, for captions, the transcription.
| Option | Licence | Compute | One minute of video |
|---|---|---|---|
| Remotion on Lambda, up to 3 people | Free | About $0.017 warm, $0.021 cold | About $0.017 to $0.021 |
| Remotion on Lambda, Automators | $0.01 a render, $100 a month minimum | About $0.017 warm, $0.021 cold | About $0.027 to $0.031 |
| Remotion Creators | $25 a month per seat | Your own bill | Compute plus seats |
| Remotion Enterprise | From $500 a month | Your own bill | Compute plus licence |
| reelsdk captions or slideshow | None | Included | $0.02 |
| reelsdk faceless short | None | Included | $0.25 up to 60 s |
| reelsdk raw ffmpeg | None | $0.01 per compute minute | Depends on the command |
Remotion's Lambda figures exclude S3 storage, egress, CloudWatch logs and transcription, and you deploy and run the function yourself. reelsdk has no subscription, and the first $1 is free. Prices from Remotion license and pricing, checked October 2026.
Head to head
reelsdk and Remotion, feature by feature
| reelsdk | Remotion | |
|---|---|---|
| What it is | A hosted rendering API | A React framework you render yourself, on servers or AWS Lambda |
| Pricing model | Pay per job, no subscription, first $1 free | Free for individuals and up to 3 people; companies pay $0.01 a render, $25 a seat a month or from $500 a month, plus compute |
| How you describe a video | One call per job type with a JSON body | React components, rendered with renderMediaOnLambda or the CLI |
| Word-by-word captions | POST /v1/captions: transcription, burn-in, srt, vtt and ass in one job | You build it: transcribe with Whisper, page the words with createTikTokStyleCaptions(), style the component |
| Faceless short from a topic | POST /v1/shorts, $0.25 up to 60 s | Not included; bring your own script, image and voice generation |
| Raw ffmpeg | POST /v1/ffmpeg, ffmpeg 8.1, $0.01 per compute minute | npx remotion ffmpeg, on machines you run |
| Setup | An API key | An AWS account and IAM role, a deployed function and site, matching Remotion versions |
| Getting the result | The create call waits up to 300 s for the finished job, or 202 with a poll URL | A renderId; poll getRenderProgress or wait for the webhook |
| Webhooks | HMAC-SHA256 in Reel-Signature, 3 attempts | HMAC-SHA512 in X-Remotion-Signature when you set a secret |
| Concurrency | 3 jobs at once, 500 a day per key | 1,000 concurrent Lambda functions per region by default, lower on new AWS accounts |
| Limits per render | Media up to 15 minutes, 10 minutes of run time, 500 MB per input | 15 minutes per Lambda function, up to 10 GB of memory and disk |
| Live preview | None | Remotion Player in the browser |
| Where files live | Download links for 7 days | Your S3 bucket, for as long as you keep them |
Be honest
Where Remotion is the better choice
Layouts you code in React
Remotion lets you write the video as React components, with your own fonts, data and animation logic. If the video is a custom design rather than a slideshow, a captioned clip or a short, Remotion is the right tool and reelsdk isn't; our closest answer is a hand-written filtergraph on
/v1/ffmpeg.A live preview in the browser
The Remotion Player embeds the same composition in your app, so users see and tweak the video before anything renders. reelsdk is a backend API: you send a request and get an mp4 link back, with nothing to preview first.
Cheapest for a small team already on AWS
The licence is free for individuals and companies of up to 3 people, so you only pay AWS, which Remotion puts at about $0.017 for a one-minute video. If you already run Lambda and like owning the stack, that beats our $0.02 a minute.
Migration
Moving a render from Remotion
With Remotion you write the captioned composition in React (transcription, caption pages and styling), deploy it as a site plus a Lambda function, then call renderMediaOnLambda and poll getRenderProgress. With reelsdk the composition is the request: send the video URL and a caption style to POST /v1/captions and read the mp4 from the response.
Remotion today
import { getRenderProgress, renderMediaOnLambda } from "@remotion/lambda/client";
const region = "us-east-1";
const functionName = process.env.REMOTION_FUNCTION_NAME;
// We deployed the Lambda function and the site with the Remotion CLI first
const { renderId, bucketName } = await renderMediaOnLambda({
region,
functionName,
serveUrl: process.env.REMOTION_SERVE_URL,
composition: "CaptionedClip",
inputProps: { videoUrl: "https://example.com/talk.mp4" },
codec: "h264",
webhook: {
url: "https://your.app/hooks/remotion",
secret: process.env.REMOTION_WEBHOOK_SECRET,
},
});
let progress = await getRenderProgress({ renderId, bucketName, functionName, region });
while (!progress.done && !progress.fatalErrorEncountered) {
await new Promise((resolve) => setTimeout(resolve, 3000));
progress = await getRenderProgress({ renderId, bucketName, functionName, region });
}
console.log(progress.outputFile);
The same render on reelsdk
const res = await fetch("https://api.reelsdk.com/v1/captions?wait=120", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.REELSDK_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
video_url: "https://example.com/talk.mp4",
style: "karaoke",
webhook_url: "https://your.app/hooks/reelsdk",
}),
});
const { job } = await res.json();
// Still rendering after 120 s? Then we got 202 and a poll_url
console.log(job.status === "succeeded" ? job.outputs.video : job.poll_url);
Field by field
| Remotion | reelsdk |
|---|---|
composition + serveUrl | The endpoint: POST /v1/captions |
inputProps.videoUrl | video_url |
| Whisper transcription in your code | Included, or pass words to skip it |
createTikTokStyleCaptions() pages | style.max_words, 1 to 8 |
| Your caption component | style: a preset, or font, position, text_color, highlight_color, outline_color, size |
webhook: { url, secret } | webhook_url, signed with your key's whsec_ secret |
getRenderProgress() | GET /v1/jobs/{id}, or ?wait= on the create call |
progress.outputFile | job.outputs.video |
FAQ
reelsdk vs Remotion, answered
How much does Remotion cost compared to reelsdk?
Remotion's licence is free for individuals and companies of up to 3 people; larger companies pay $0.01 per render with a $100 monthly minimum, $25 per seat a month, or from $500 a month for Enterprise. On top you pay your own compute: Remotion's example puts a one-minute video at about $0.017 to $0.021 on Lambda, before S3 storage and egress. reelsdk charges $0.02 per output minute for captions and slideshows, $0.25 for a faceless short up to 60 seconds and $0.01 per compute minute for ffmpeg, with no subscription.
How do captions work in Remotion compared to reelsdk?
In Remotion you transcribe the audio yourself, with whisper.cpp through @remotion/install-whisper-cpp or the OpenAI API through @remotion/openai-whisper, split the words into pages with createTikTokStyleCaptions() from @remotion/captions, and code the caption component. With reelsdk you send the video to POST /v1/captions: transcription is included in the $0.02 a minute, a 30-second clip takes 30 to 43 seconds, and you get the mp4 with burned-in word-by-word captions plus srt, vtt, ass and a JSON transcript.
Can Remotion make a faceless short from a topic?
Not on its own. Remotion renders the React you write, so the script, the images and the voice come from services you wire in. reelsdk POST /v1/shorts makes a complete faceless short from a topic, with the script, AI scene images, voiceover, word-by-word captions and music, in 8 visual styles and 6 languages, in about 100 seconds for $0.25 up to 60 seconds or $0.35 up to 90.
How do async renders and webhooks compare?
renderMediaOnLambda returns a renderId and bucketName; you poll getRenderProgress until done, or pass a webhook with a secret and Remotion signs the POST with an HMAC-SHA512 X-Remotion-Signature header. On reelsdk the create call waits up to 60 seconds by default and 300 with ?wait=300, or returns 202 and a poll URL with ?wait=0, and a per-job webhook_url gets an HMAC-SHA256 Reel-Signature with 3 delivery attempts.
Other comparisons
Ready to build?
Ship video from your app today
Your first $1 of renders is free, and one key covers every endpoint.
