Sume video captions: $0.20 a job, ten clips cost $2.00
Sume video captions cost $0.20 per job for clips of 60 s or less. A restyle with source_caption_id reuses stored word timings, so no second transcription.

Standalone Sume video captions cost $0.20 per accepted job, quoted for videos of 60 seconds or less, so ten clips cost 10 x $0.20 = $2.00. A restyle of an already captioned video is still a render and keeps the same price, but sending source_caption_id reuses the existing word timings, so speech-to-text does not run again.
The job is POST /v1/video-captions with a public HTTPS video_url, not a media.sume.com import. The price and the 60-second note are in the video captions docs; check the live number in the catalog.
Cost for a batch with restyles
Every accepted job reserves and captures $0.20. A restyle is its own job, so testing three looks on one clip is four jobs in total: the first caption plus three restyles.
| Scenario | Jobs | Arithmetic | Cost |
|---|---|---|---|
| One 45 s clip | 1 | 1 x $0.20 | $0.20 |
| Ten clips, one style | 10 | 10 x $0.20 | $2.00 |
| One clip, three style tests (1 + 3) | 4 | 4 x $0.20 | $0.80 |
| 50 clips, one style | 50 | 50 x $0.20 | $10.00 |
Restyle without transcribing twice
Send source_caption_id and a new style instead of video_url. Sume reuses the source video and the stored word timings. Send words with it only to correct the text. Choices include slam, punch, tiktok-green, korean-ad and the Hangul styles; design overrides colors, typography, placement, phrasing and motion for one request, and bad values fail at request time with a 400, before any charge.
{
"source_caption_id": "vc_123",
"style": "black-outline",
"design": { "colors": { "active": "#22D3EE" } }
}Errors that save you a retry
Captions from speech need audible speech. A silent clip fails with caption_no_speech and next_action: use_overlay_captions; send cues with text, start and end to burn authored text. Korean text on slam, punch or tiktok-green returns 400 caption_hangul_text_latin_style. A script_text that cannot be aligned returns script_alignment_mismatch or script_alignment_failed; simplify the script or omit it.
- Send only one of
script_text,words,cuesandsegments. video_urlmust be public HTTPS; localhost, private-network and signed or private links are rejected.- SRT uploads are not supported; use
cuesfor phrase-level text.
Planning a batch
Check durations before you submit. The $0.20 price is quoted for videos of 60 seconds or less under the current fixed estimate, so a 90-second clip is outside the number this page can back. Trim long clips first: a video trim is $0.02, so trim plus caption is $0.22 per clip, and 40 clips cost 40 x $0.22 = $8.80.
Use an idempotency key per clip so a retry after a network error does not create a second $0.20 job. Poll the job envelope at /v1/jobs/:id/status and /result, or read GET /v1/video-captions/:id, which returns the public-safe status, the style and the captioned video_url. Raw transcripts and renderer internals are not part of the public contract, so keep your own copy of any text you need.
Sources
Related posts
More in Media tools
- Test a video dim first: video-filter check is free, encode is $0.02
Sume video filter has an unbilled check endpoint that runs the same validation as the encode. Try dim and crop programs for free, then pay $0.02 once.
- Video filter check passed but the encode failed: what to do next
Sume's free video-filter check covers schema, allowlist and source, not the worker. A valid program can still fail on expressions, memory or time. Next steps.
- Video filter limits: 8 ops, 2048 characters, 32 filters, 300 s
Video filter refuses a ninth op, a graph past 2,048 characters or 32 filters, and a source past 300 s. Each has its own code, and the free check catches most.
- Video filter limits: 8 ops, 2,048 characters, 32 filters
Video filter takes up to 8 dim/crop ops plus a filters-only graph of 2,048 characters and 32 filters. See what is allowed, what is refused, and the free check.
Written by Sume