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.

4 min readSume
All posts

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.

What each Sume surface returns, from the video-captions and video-inspect docs, read 2026-10-12.
NeedSurfaceReturns
Burned-in captions on a clipPOST /v1/video-captionsCaptioned video; no raw transcript
Words with timingsPOST /v1/video-inspect with transcribe: truetranscript.text, words[]
Caption-sized linesSame, with segmentation.mode: "sentence"Sentence segments[] with no gaps
Fix one wrong wordPOST /v1/video-captions with source_caption_id and wordsNew 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

All Developers posts

Written by Sume