Inspect a 3-minute Short with a transcript: set duration_seconds 180
video-inspect reserves one minute of speech-to-text unless you send duration_seconds (max 600). Why a 180 hint matters, the $0.01 per minute rate, and the 400s.

When you ask Sume video inspect for a transcript with transcribe: true, the call reserves one audio minute unless you tell it the length. Send duration_seconds with the clip's length (for a three-minute Short, 180), up to a maximum hint of 600 seconds. The speech-to-text rate is $0.01 per audio minute, so a 180 s clip is about $0.03 of transcript at that rate.
What the docs say, exactly
Three statements carry the weight. The public STT rate is $0.01 per audio minute. Without duration_seconds, Sume reserves 1 minute. The maximum hint is 600 seconds. The docs do not spell out the formula that turns the hint into a reserve, so confirm the number you expect with GET /v1/catalog and by reading the billed amount on the first job. What they do say about inspect as a whole is that it reserves its Modal compute ceiling, captures its own container seconds, and never captures more than the hold.
| Field | Rule |
|---|---|
transcribe | true to run Sume STT 1.0 |
duration_seconds | hint for the reservation, max 600 s, only with transcribe: true |
language_code | STT hint such as en; auto-detect if omitted |
segmentation.mode | sentence returns gapless sentence segments[] |
silence_split_seconds | 0.2 to 3 |
| Rate | $0.01 per audio minute |
| Source length | up to 1800 s |
Why the hint matters for Shorts
A Short under one minute fits the default reservation. A 180-second one does not, because the transcript is three minutes of audio. If the reservation is smaller than the work, you would rather learn that on the first call than on a batch of a hundred. For clips over 600 seconds the hint tops out, so a very long recording is better handled by detaching the audio and using the STT route directly.
A request
Sentence segmentation returns lines you can use as caption cards. If the clip has no audio, the call fails with inspect_source_has_no_audio, so check probe.has_audio first with a frames: false inspect.
{
"video_url": "https://media.sume.com/artifacts/artf_demo/short.mp4",
"frames": false,
"transcribe": true,
"duration_seconds": 180,
"language_code": "en",
"segmentation": { "mode": "sentence" }
}Common 400s
Sending language_code, segmentation or duration_seconds without transcribe: true returns video_inspect_transcribe_required. The default mode is sync with a 30-second wait; if it does not finish, you get a 202 and poll the job.
Sources
Related posts
More in Media tools
- Source too long? The 1800 s and 300 s caps for each Sume media tool
Trim, detach and inspect take sources up to 1800 s; filter, frames and compose stop at 300 s. The error each returns and the order to cut a long file.
- Which URL does each Sume media tool accept: public or media.sume.com?
Video captions and face swap take a public HTTPS URL; trim, filter, frames, inspect, detach, compose and timeline need your workspace's media.sume.com file.
- How to assemble a long-form video with the Timeline 1.0 API
Timeline 1.0 renders one audio spine plus 1 to 200 ordered video slots into one MP4. Every URL must be Sume-hosted; the plan preflight is unbilled.
- How to burn captions onto a video with the Sume API
Send a public HTTPS video URL to POST /v1/video-captions and get a job-backed captioned video, timed by speech-to-text or by text you supply.
Written by Sume