Captions from a video's speech: $0.20 a job, no SRT needed
Sume's video-captions endpoint transcribes the speech and burns styled captions for $0.20 a job on clips up to 60 s. Optional script_text corrects the wording.

Send a finished video with speech to POST /v1/video-captions and Sume transcribes it and burns the captions, at $0.20 per accepted job for videos up to 60 seconds. You do not supply an SRT; the API does not accept SRT uploads. If the clip has no speech it fails with caption_no_speech. See Video captions.
Three ways to get the words
| You send | Where text comes from | Timing |
|---|---|---|
only video_url | speech to text | from the audio |
video_url + script_text | your script | STT word timings, aligned to the script |
cues or segments | your authored text | your start and end; no speech needed |
The request
video_url must be a public HTTPS URL Sume can fetch; private, signed and localhost URLs are rejected. Style is optional: Latin text defaults to slam, Korean to black-outline.
curl -X POST https://api.sume.com/v1/video-captions \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: caption-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/example/clean.mp4",
"style": "punch",
"script_text": "Say hello to the Sume developer platform."
}'When alignment fails
With script_text, the speech-to-text timings stay the source of truth and your words are aligned to them. If your script strays from what is said, the job can end with script_alignment_mismatch or script_alignment_failed; the docs recommend simplifying the script or omitting it to burn the transcript as heard.
At $0.20 a job, 50 captioned clips cost $10.00. Restyling an existing result does not change the price, per the docs. Confirm the live rate in GET /v1/catalog.
Restyle without transcribing again
To burn the same video with a different style, send source_caption_id from the first result plus the new style. The speech-to-text step does not run a second time, and the price does not change. Send words with it only to correct the text.
For a silent clip, use cues or segments with text, start and end; no speech is needed. You can send only one of script_text, words, cues and segments.
Sources
Related posts
More in Media tools
- Check an AI voiceover by transcribing it: a script diff for 4 cents
Run Sume STT on a finished TTS take and diff it against the script to catch misread numbers and names. 4 cents per 450-character line, TTS plus the check.
- Trim and conform to 1080x1920 at 30 fps in one video-trim job
Video trim's output field re-encodes to a set width, height and 24/25/30/60 fps in the same $0.02 job, exact precision only. Request, ranges and refusal codes.
- Crop 1920x1080 to 9:16: video-filter width 0.3164, x 0.3418
To get a 9:16 strip from a 1920x1080 clip, send a Sume video-filter crop with x 0.3418, y 0, width 0.3164, height 1: about 608x1080, above TikTok's 540x960.
- Crop a 10-minute 16:9 ad to 9:16: filter stops at 300 s, so split
Sume video filter takes sources of 300 seconds or less; TikTok non-Spark ads run to 10 minutes. Two trims, two crops and a timeline cost $1.08. The steps.
Written by Sume