Where is the transcript for my caption job? Use video_inspect
A Sume caption job returns a captioned video, not raw text. For words and sentence segments, run video_inspect with transcribe true at $0.01 per audio minute.

A Sume caption job does not hand back the transcript. When it finishes, GET /v1/video-captions/{id} returns the public-safe status, the style, and the captioned video; Sume's docs state that raw transcripts, renderer internals and signed source URLs are not part of the public contract. To get the text, run POST /v1/video-inspect with transcribe: true on the same clip. You receive text, a words[] array with timings, and optional sentence segments[].
Why doesn't the caption job return the text?
The caption endpoint is a render: it burns text onto a video and returns that video. Speech-to-text is an internal step, and its output is not a stable public field. That separation is deliberate, and it means the supported way to read words is a surface built for it.
If you only need to fix a wrong word in an existing burn, you do not need the transcript at all. Send source_caption_id with a corrected words array, and Sume reuses the stored timings without running speech-to-text again.
How do I get a transcript from a clip?
Video inspect reads one media.sume.com clip your workspace already owns, so import an outside file first. Set transcribe: true, and add language_code if you know the language; without it, speech-to-text auto-detects. The default mode is sync with up to 30 seconds of waiting, so a short clip often returns 200 directly and a longer one returns 202 to poll.
curl -X POST https://api.sume.com/v1/video-inspect \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: inspect-transcript-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/talk.mp4",
"frames": false,
"transcribe": true,
"language_code": "en",
"segmentation": { "mode": "sentence" }
}'What does it cost, and what can go wrong?
Sume's docs list the transcript at $0.01 per audio minute, on top of the inspect's own compute, and the live price is in GET /v1/catalog. Without a duration_seconds hint Sume reserves one minute; the maximum hint is 600 seconds.
Setting frames: false skips the stills so you pay for the transcript and the probe only. A clip with no audio track returns inspect_source_has_no_audio, so check probe.has_audio first.
| Need | Surface | Returns |
|---|---|---|
| Burned-in captions on a clip | POST /v1/video-captions | Captioned video; no raw transcript |
| Words with timings | POST /v1/video-inspect with transcribe: true | transcript.text, words[] |
| Caption-sized lines | Same, with segmentation.mode: "sentence" | Sentence segments[] with no gaps |
| Fix one wrong word | POST /v1/video-captions with source_caption_id and words | New burn, no second transcription |
Can I turn the result into an SRT file?
Sume does not accept SRT uploads or return an SRT, but the segments[] carry start, end and text, so building the file from them is a few lines in your own code. Sume's caption endpoint takes phrase-level text as cues instead, so you can feed edited segments back in and burn them without another speech-to-text pass.
Sources
Related posts
More in Developers
- provider.sort and allow_fallbacks on Sume images: accepted, no effect
Porting OpenRouter-style image code to Sume: provider ignore, sort and allow_fallbacks are accepted but change nothing. only and order take "sume" alone.
- Timeline audio 400: concat takes no url, split takes no parts
Sume's timeline audio endpoint rejects concat with a top-level url and split with parts. Stable error codes and the right shape for each operation.
- Validate an image request against supported_parameters first
Sume rejects a parameter a model does not list with 400 unsupported_parameter. Read the catalog descriptors and check a request body before you POST /v1/images.
- Which MCP server lets Claude Code or Cursor generate video and images?
MCP servers that let Claude Code and Cursor make video and images: Sume, fal, Replicate, Runway, Higgsfield. Endpoints, sign-in, billing, setup.
Written by Sume