Photos to slideshow
Turn your photos into a narrated slideshow with transitions, Ken Burns motion, optional AI voiceover, music and karaoke captions.
Video API from $0.02 a minute
reelsdk is a video rendering API. Send one HTTP call with one API key and get a finished mp4 back, or a signed webhook when it's done. Make narrated slideshows, burned-in captions and complete faceless shorts, or run raw ffmpeg 8.1, from any app.
curl "https://api.reelsdk.com/v1/slideshow" \
-H "Authorization: Bearer $REELSDK_KEY" \
--json '{
"images": [
"https://your.app/seville/river.jpg",
"https://your.app/seville/plaza.jpg",
"https://your.app/seville/oranges.jpg"
],
"size": "16:9",
"voiceover": {
"text": "Three days in Seville...",
"voice": "luna"
},
"captions": "karaoke"
}'Video endpoints
Every clip below is real reelsdk output, each from one API call.
How it works
One key covers every endpoint.
Plain HTTPS and JSON, nothing to install.
curl "https://api.reelsdk.com/v1/slideshow" \
-H "Authorization: Bearer $REELSDK_KEY" \
--json '{
"images": [
"https://your.app/seville/river.jpg",
"https://your.app/seville/plaza.jpg",
"https://your.app/seville/oranges.jpg"
],
"size": "16:9",
"voiceover": {
"text": "Three days in Seville...",
"voice": "luna"
},
"captions": "karaoke"
}'Photos, a clip, a topic or an ffmpeg command. Same API, same workflow.
Video URL or webhookBuilt for coding agents
Building in Lovable, bolt, Cursor or Claude Code? Serverless apps can't pack a 100+ MB ffmpeg binary, so you hit spawn ffmpeg ENOENT. Point your agent at reelsdk and let it build the video pipeline over plain HTTPS.
Pricing
No subscription, no minimum, prepaid credit. Your first $1 of renders is free.
| reelsdk | $0.02 |
|---|---|
| Shotstack | $0.20 |
| Creatomate | $0.84 |
$0.02per output minute
Voiceover $0.05 per 1,000 characters
Transitions, Ken Burns motion and burned-in captions, with transcription included.
$0.25per short up to 60 s
$0.35 for shorts up to 90 s
Script, AI scene images, voiceover, word-by-word captions and music in 6 languages.
$0.01per compute minute
ffmpeg 8.1 on a fresh machine per job
Any command or filter graph, with inputs up to 500 MB each.
A minute is the length of the video you get back; raw ffmpeg is billed by compute time. Full comparison and limits
FAQ
Supabase Edge Functions, Cloudflare Workers, Vercel, Netlify and apps built in Lovable or bolt can't run a 100+ MB ffmpeg binary or a long render. You hit bundle size limits or errors like "spawn ffmpeg ENOENT". reelsdk is plain HTTPS and JSON, so it works from any serverless function, n8n, Make, Zapier or a cron job.
Create calls wait up to 60 seconds by default (up to 300 seconds with ?wait=) and return the finished job with download links. Longer jobs return a 202 with a poll URL, or pass a webhook_url and we POST the finished job to you, signed with HMAC-SHA256. Outputs stay downloadable for 7 days.
Every job runs on a fresh machine that's ready in about 1.9 seconds. A 30 second 1080x1920 slideshow takes about 40 seconds, captions on a 30 second clip take 30 to 43 seconds and a faceless short takes about 100 seconds. Shorts cost $0.25 up to 60 seconds and $0.35 up to 90 seconds, everything included.
We ship an open-source MCP server for Claude Code, Cursor and Windsurf (github.com/bitgate/reelapi-mcp, run it with npx -y github:bitgate/reelapi-mcp), a plain-text API reference at /llms.txt and an OpenAPI spec at /openapi.json, so your agent can read the docs and wire up video itself. There's also Shorts Studio (github.com/bitgate/shorts-studio), an open-source starter app you can clone and deploy to Cloudflare.
Each key runs 3 jobs at once and 500 jobs a day, with 20 GiB of uploads a day. Input files can be up to 500 MB each (1 GB per job), media up to 15 minutes, and a job can run for 10 minutes. Sign up with Google to create keys in the dashboard, and email us to raise any limit.
Ready to build?
Your first $1 of renders is free, and one key covers every endpoint.
