Docs › Captions (Pro and Scale)
Captions (Pro and Scale)
Add "captions": true to complete, an import, an edit or a reprocess, and we transcribe the speech into subtitles. The language is detected automatically; to set it, send {"language": "es"} (an ISO 639-1 code such as en, es, fr, de, ja, zh).
POST /videos/3f1c…/complete
{ "captions": true }
GET /videos/3f1c… (once ready)
"captions": { "status": "ready", "language": "en",
"vttUrl": "https://…/en.vtt?…", "srtUrl": "https://…/en.srt?…", "txtUrl": "https://…/en.txt?…" }
- The video doesn't wait. It's published and playable first; captions follow, typically a few minutes later. Until then
captions.statusisprocessing(keep polling, or wait for the webhook). - Files: WebVTT (
vttUrl, for<track>and most players), SRT (srtUrl) and a plain-text transcript (txtUrl). The links last 15 minutes, like downloads. - Streaming: the HLS stream also gets a subtitle track, so standard players show a CC button automatically.
- Never blocks or fails your video: if captions can't be made,
captions.statusisfailedand the video is unaffected. Over the limits below it'sskippedwith areason. - Cost: each captioned minute counts as 2 extra processing minutes (minimum 1), only when a transcript is actually made. A reprocess with the same trim reuses the earlier transcript at no charge.
- Limits: videos up to 4 hours; 1,200 captioned minutes per account per day.