Audio detach errors: unsupported_media_type, source_not_found
Each Sume audio detach refusal code and its one-line fix: off-host URL, other workspace, not a video, empty range, no audio track, source too long.

Sume's audio detach returns stable refusal codes, and each one maps to one fix. unsupported_media_type means the HEAD of the URL was not a video. source_not_found means a dead media.sume.com URL, or one that belongs to a different workspace. unsupported_media_source means the URL is not on the Sume media host at all. None of these is a retry case: change the input.
Codes and fixes
The server rejects off-host URLs such as https://example.com/... at admit, so the failure is immediate and not billed as a job.
| Code | When | Fix |
|---|---|---|
| unsupported_media_source | video_url is not on the Sume media host | Import the file first with POST /v1/media-imports. |
| source_not_found | Dead media.sume.com URL, or another workspace's | Use an artifact or asset from this workspace. |
| unsupported_media_type | HEAD is not a video | Send a video, not an image or audio file. |
| audio_detach_range_empty | range.end <= range.start, or range over 900 s | Fix the range; keep it at 900 s or less. |
| detach_start_past_source | range.start is past the probed duration | Start inside the clip. |
| detach_source_has_no_audio | No audio track | Check probe.has_audio with video inspect first. |
| source_duration_exceeded | Source longer than 1800 s | Trim the source first. |
| ffmpeg_fields_rejected | Client sent af, filter, ffmpeg, cmd, codec or similar | Remove them; the server compiles ffmpeg. |
Check before you detach
For the no-audio case, call video inspect first and read probe.has_audio. frames: false is enough, so the probe stays small. This avoids a failed detach on a muted screen recording.
Limits worth knowing
- Source at most 1800 s, output at most 900 s. A whole track longer than 900 s needs a
range. - Default format is wav (
pcm_s16le).mp3is 128 kbps. 16000withchannels: "mono"is the STT shape.Idempotency-Keyis required on the create call.
Import first, then detach
Most unsupported_media_source errors come from sending a link from the open internet. The server does not fetch from it. Import the file with POST /v1/media-imports, take the media.sume.com URL from the result, and send that as video_url.
source_not_found is the one that surprises people on shared setups. The URL looks right and the artifact exists, but it belongs to another workspace, so from this workspace it is the same as a dead link. Check which key you are using.
Idempotency-Key is required, so every retry after you fix the input needs a thought about reuse. If you changed the input, use a new key.
Sources
Related posts
More in Developers
- automation_generation_spend_cap_exceeded: what a 402 cap error ends
The per-run cap rejects only the one generation that would cross it. current, requested and cap come back in micros so you can size the next request.
- Avatar batch: which limit hits first, writes per minute or the queue?
On Pro, 300 writes/min is far above the 24 accepted jobs (4 running, 20 queued). Queue capacity limits an avatar batch first, so submit in waves of that size.
- Avatar create 400: removed name and file fields and their replacements
Old avatar model-run requests that send name or file return 400 with details.fields listing replacements: avatar_handle and input.image_url. Fix both at once.
- 409 avatar_handle_reserved: why handles starting sume_ are off limits
Creating an avatar whose handle starts with sume_ returns 409 avatar_handle_reserved. What the error body says and how to pick a handle that passes.
Written by Sume