Animated captions as an API
Don't want to run FFmpeg, fonts and render queues? Send us a video, get it back with word-by-word animated captions. Same renderer as the open-source library, hosted by us.
Cloud is optional. captions.js itself is free and MIT-licensed, including commercial use, and always will be: self-host it with npm or the Docker image.
The API
One request, one MP4
A preview of the planned API. Details may change before launch.
curl https://api.captionsjs.dev/v1/renders \
-H "Authorization: Bearer $CAPTIONS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://example.com/talk.mp4",
"transcribe": true,
"preset": "Karaoke",
"webhook_url": "https://your.app/hooks/captions"
}'{
"id": "rnd_8f2k1q",
"status": "completed",
"output_url": "https://cdn.captionsjs.dev/r/rnd_8f2k1q.mp4",
"duration_sec": 63.4,
"minutes_billed": 1.06,
"preset": "Karaoke"
}Why hosted
No render servers
No FFmpeg builds, font caches, queues or autoscaling to babysit. Send a URL, get an MP4.
Transcription included
Word-level timings done for you, or bring your own Whisper, Deepgram or SRT and pay less.
Matches your preview
Same renderFrame as the open-source library: what users style in your browser editor is what the API renders.
No lock-in
The engine stays MIT. Same presets, same output: move to self-hosting any day with the Docker image.
Planned pricing
Pay per rendered minute
No subscription to start. Prices may change before launch; founding members keep theirs.
Your transcript
$0.05/min
Send Whisper, Deepgram or plain word timings with the video.
Transcription included
$0.08/min
Just send the video. Word-level timings are done for you.
Founding members
600 min
Free, for the first 100 teams on the list, plus $0.05/min locked for 12 months. Book a call and get 1,000 minutes.
Free minutes are credited when Cloud launches and stay valid for 6 months. One founding offer per company.
Early access
Get on the list
When does it launch?
We're building it now and onboarding the first teams from this list in small batches. Leave your email and we'll tell you when your access is ready.
Is this the same thing as the npm package?
Same engine. The npm package and the Docker image are free and stay free; Cloud is the hosted version for teams that don't want to run render servers.
What counts as a minute?
A minute of the video you render, rounded up to the second. Previews in the browser are free: they run on your users' devices.
What happens to our videos?
The plan: source and rendered files are deleted after delivery, and nothing is used to train models. We'll publish the exact policy before launch.
Prefer to run it yourself? Burn captions with FFmpeg in Node.js for free.