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.

4 min readSume
All posts

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.

Inspect errors on the transcript path, from the Sume video inspect docs, read 2026-10-02.
CodeWhen
inspect_source_has_no_audiotranscribe: true on a clip with no audio track
video_inspect_transcribe_requiredSTT-only fields without transcribe: true
source_not_foundDead or foreign media.sume.com URL
video_inspect_frames_program_conflictBoth frames.at[] and frames.fps

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume