AI shorts API, from $0.25 a short
Topic in, finished faceless short out
Send a topic or your own script and get back a vertical MP4 with a written script, AI images, a voiceover, word-by-word captions and music. It costs $0.25 for up to 60 seconds and $0.35 for up to 90, everything included, and takes about 100 seconds end to end. Pick from 8 visual styles and 6 languages.
- 8 visual styles
- 6 languages
- 15 to 90 seconds
POST /v1/shorts
"status": "succeeded",
"stage": null
- planningWrites the script and plans every scene
- voiceReads the script aloud
- imagesPaints one still per scene
- renderingMotion, captions and music
Video, poster and subtitles ready
Visual styles
One scene, eight styles
The same octopus scene, painted by the image model behind the API with each style's own prompt. Every style comes with a caption preset you can override.

cinematicdefault
Anamorphic film still with natural grain
captions: bold

photoreal
Realistic photo on a 50mm lens
captions: bold

anime
Cel-shaded 2D anime key visual
captions: karaoke

3d-cartoon
Stylized 3D animated film render
captions: bold

watercolor
Hand-painted watercolor washes
captions: minimal

comic
Bold ink outlines and halftone dots
captions: bold

dark-documentary
Low-key light from a single source
captions: bold

oil-painting
Old-master oils with visible brushwork
captions: minimal
Quick start
One POST, one finished short
A short takes 60 to 120 seconds, so this call waits up to 180. The result carries a title, a caption to post with it and every scene.
curl "https://api.reelsdk.com/v1/shorts?wait=180" \
-H "Authorization: Bearer $REELSDK_KEY" \
--json '{
"topic": "Why octopuses have three hearts",
"style": "cinematic",
"aspect": "9:16",
"duration_s": 30
}'{
"job": {
"id": "job_xg9edn581u33xtplpft7",
"op": "shorts",
"status": "succeeded",
"stage": null,
"created_at": "2026-10-26T09:30:12.077Z",
"finished_at": "2026-10-26T09:31:52.540Z",
"outputs": {
"video": "https://api.reelsdk.com/f/out/job_xg9edn581u33xtplpft7/video.mp4",
"poster": "https://api.reelsdk.com/f/in/job_xg9edn581u33xtplpft7/scene-01.jpg",
"transcript": "https://api.reelsdk.com/f/out/job_xg9edn581u33xtplpft7/transcript.json",
"srt": "https://api.reelsdk.com/f/out/job_xg9edn581u33xtplpft7/captions.srt",
"vtt": "https://api.reelsdk.com/f/out/job_xg9edn581u33xtplpft7/captions.vtt"
},
"result": {
"title": "Why Octopuses Have Three Hearts",
"post_caption": "Two hearts for the gills, one for the body. #octopus #ocean #science",
"scenes": [
{
"narration": "An octopus has three hearts, and each one has a job.",
"image": "https://api.reelsdk.com/f/in/job_xg9edn581u33xtplpft7/scene-01.jpg"
},
{
"narration": "Two of them push blood through the gills.",
"image": "https://api.reelsdk.com/f/in/job_xg9edn581u33xtplpft7/scene-02.jpg"
}
// 6 more scenes
]
},
"duration_s": 31.4,
"error": null,
"usage": {
"output_seconds": 31.4,
"audio_seconds": 30.9,
"tts_characters": 431,
"images": 8
},
"poll_url": "https://api.reelsdk.com/v1/jobs/job_xg9edn581u33xtplpft7"
}
}While it runs, GET the poll_url and job.stage moves through planning, voice, images and rendering.
Languages
Six languages, 50-plus voices
Set language and the script, voice and captions follow. Region codes like es-MX work too, and Japanese, Chinese and Korean captions use bundled Noto Sans fonts.
| Language | Code | Voices | Default voice |
|---|---|---|---|
| English | en | 40 Deepgram Aura-2 voices | luna |
| Spanish | es | 10 Deepgram Aura-2 voices | aquila |
| French | fr | MeloTTS | built in |
| Japanese | ja | MeloTTS | built in |
| Chinese | zh | MeloTTS | built in |
| Korean | ko | MeloTTS | built in |
What you control
Everything a faceless channel needs, in one request
A topic or your own script
Send a
topicand the planner writes the narration and plans 4 to 24 scenes. Or send ascriptof up to 3,000 characters and we read it word for word while the topic steers the visuals.15 to 90 seconds, three shapes
Shorts run 45 seconds at 1080x1920 unless you say otherwise. Set
duration_sfrom 15 to 90, or render 1:1 or 16:9 for the feed and YouTube.Captions timed to every word
Each style comes with a caption preset. Swap in
bold,karaoke,minimalor your own style, or passfalsefor a clean video.Public domain music
On
autothe planner picks a mood that fits the script. Choose from 8 moods yourself or passnone. Every track is CC0 music by HoliznaCC0.Ready to post
Each short comes back with a title, a social caption with hashtags, a poster from the first scene, SRT and VTT subtitles, and every scene's narration and image.
Renders that pick up where they stopped
A failed step is retried once on its own. The retry resumes from the last finished step, so a script, stills or a voiceover that already exist are never made twice.
Specs
Shorts API specs
| Endpoint | POST /v1/shorts |
|---|---|
| Input | topic (up to 500 characters) or script (up to 3,000 characters that reads in 90 seconds or less, about 250 words in English) |
| Length | 15 to 90 seconds, 45 by default |
| Size | 9:16 at 1080x1920 (default), 1:1 at 1080x1080, 16:9 at 1920x1080 |
| Styles | cinematic (default), photoreal, anime, 3d-cartoon, watercolor, comic, dark-documentary, oil-painting |
| Languages | English, Spanish, French, Japanese, Chinese and Korean |
| Scenes | One AI image about every 4 seconds, 4 to 24 per short |
| Music | auto (default), lofi, chill, upbeat, cinematic, dramatic, dark, energetic, inspiring or none |
| Files returned | video.mp4, poster image, transcript.json, captions.srt, captions.vtt |
| Extras | title, post_caption (up to 150 characters plus 3 to 5 hashtags), scenes with narration and image URLs |
| Render time | About 100 seconds end to end, most between 60 and 120 |
| Price | $0.25 up to 60 seconds, $0.35 up to 90 seconds, everything included |
Pricing
$0.25 a short, everything included
Priced by length, with the script, images, voice, captions and music included.
Up to 60 seconds
$0.25per short
- Script and scene plan
- One AI image per scene
- Voiceover in 6 languages
- Word-by-word captions
- Music and the final render
Up to 90 seconds
$0.35per short
- Script and scene plan
- One AI image per scene
- Voiceover in 6 languages
- Word-by-word captions
- Music and the final render
One price, the whole video
Rendering one minute of video alone lists at $0.20 on Shotstack pay as you go and $0.84 on Creatomate Essential (checked October 2026), before you pay anyone for a script, images or a voice.
No subscription and no minimum. You work from prepaid credit, and your first $1 is free: that's four 60-second shorts.
Use cases
What builders make with it
- 01
Faceless channels on autopilot
Schedule posts from a cron job or an n8n workflow. Each finished job hands you the MP4, a poster and a caption ready to paste.
- 02
A make-me-a-video button
Call it from a Lovable, bolt or Supabase app. Topics the image safety filter flags come back as a clear 422 you can show in your UI.
- 03
Explainers for courses and newsletters
Send a lesson or an issue as the script and get a narrated short, plus SRT and VTT subtitles for every platform.
- 04
One short, six languages
Render the same topic in English, Spanish, French, Japanese, Chinese and Korean, three jobs at a time per key.
FAQ
Shorts API questions
How much does a faceless short cost?
$0.25 for a short up to 60 seconds and $0.35 for up to 90 seconds. The script, images, voiceover, captions and music are all included. There's no subscription; you use prepaid credit, and your first $1 of renders is free, which covers four 60-second shorts.
How long does a short take, and how do I get it?
About 100 seconds end to end, and most finish in 60 to 120. The create call waits 60 seconds by default, so it usually answers 202 with a poll_url. Pass ?wait=180 (up to 300) to hold the request open until the video is done, or pass a webhook_url and we POST the finished job to you, signed with HMAC-SHA256.
Can I use my own script?
Yes. Send script instead of topic and the narration is read word for word. It can be up to 3,000 characters and must read in 90 seconds or less, which is about 250 words with the default English voice. A longer script is rejected up front with an estimate of its length.
What happens if a step fails halfway through?
Server-side failures are retried once automatically, and the retry resumes from the last finished step: script, stills, voiceover or render. A brand-new request always starts from scratch.
Which AI models make the short?
All of them run on Cloudflare Workers AI. Google Gemma 4 writes the script, FLUX.2 klein paints the scenes, Deepgram Aura-2 reads English and Spanish, MeloTTS reads French, Japanese, Chinese and Korean, and Whisper times the words for the captions.
Can I call it from Lovable, bolt, Supabase or n8n?
Yes. It's one HTTPS request with a JSON body, so it works from a Supabase Edge Function, a Cloudflare Worker, a Vercel function, a Lovable or bolt app, or an n8n HTTP Request node. Each key runs 3 jobs at once and up to 500 a day.
Ready to build?
Make your first four shorts free
Sign up and create an API key in a minute. Your first $1 of renders is on us, then it's $0.25 a short.
