inspect_source_has_no_audio: check probe.has_audio before transcribe
transcribe true on a silent clip fails as inspect_source_has_no_audio. Probe first with frames false and read probe.has_audio, then ask for the transcript.

inspect_source_has_no_audio means you sent transcribe: true to POST /v1/video-inspect for a clip with no audio track. The fix is to probe first: a call with frames: false returns the probe without stills, and probe.has_audio tells you whether a transcript is possible. Probe and stills are unbilled; only the transcript half is billed.
All of this is from the video inspect docs, read 2026-10-02.
How do I probe without paying?
Send video_url and frames: false. The default mode is sync: the handler waits up to 30 seconds and returns 200 with the finished inspect, or 202 with a job to poll at GET /v1/video-inspect/:id. Idempotency-Key is required, and video_url must be a clip on this workspace's media.sume.com.
curl -X POST https://api.sume.com/v1/video-inspect \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: probe-only-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/clip.mp4",
"frames": false
}'What do I do when has_audio is false?
Skip transcribe. If you need on-screen words, write the copy yourself and burn it with cues on video captions, because speech-based captions on a silent clip fail as caption_no_speech. Do not send language_code, segmentation or duration_seconds without transcribe: true; that is video_inspect_transcribe_required.
What does a transcript return when there is audio?
With transcribe: true, the resource carries transcript with text, words[], optional sentence segments[] when segmentation.mode is sentence, and an audio_url. The rate is $0.01 per audio minute.
| Code | When |
|---|---|
inspect_source_has_no_audio | transcribe: true on a clip with no audio track |
video_inspect_transcribe_required | STT-only fields without transcribe: true |
source_not_found | Dead or foreign media.sume.com URL |
video_inspect_frames_program_conflict | Both frames.at[] and frames.fps |
Sources
Related posts
More in Media tools
- Which AI video models take reference images in Sume's Videos panel?
Auto, Kling 3.0, Wan 3.0 and MiniMax H3 show reference slots in Sume's panel; H3 Max and Grok do not. Plus the API limits for image, video and audio references.
- Why did my video settings change when I switched model in Sume?
Sume's Videos panel clamps resolution, aspect ratio, duration and audio to the new model: 720p first, first listed length, first listed ratio. Worked examples.
- Video trim end past the clip: trim_clamped_to_source vs start error
A Sume trim whose end runs past the clip clamps and warns trim_clamped_to_source. A start past the clip fails with trim_start_past_source.
- Video upscale tops out at 30 s: trim the hero seconds first
Sume video upscale takes 1 to 30 input seconds and bills per input second. Cut the best few seconds with video trim first, then upscale only those.
Written by Sume