Extract audio from a video URL: why example.com is refused

Audio detach only reads a video already on this workspace's media.sume.com. An outside URL fails unsupported_media_source, so import it first, then detach.

4 min readSume
All posts

Audio detach has no open-internet fetch. A video_url on any host other than this workspace's media.sume.com is rejected at admit with unsupported_media_source. Import the video first with POST /v1/media-imports, then send the resulting media.sume.com URL to detach.

Which errors mean what?

From the Audio detach docs:

URL-related audio detach refusals, from the Sume docs read 2026-09-30.
CodeWhen
unsupported_media_sourcevideo_url is not on the Sume media host
source_not_foundDead or foreign media.sume.com URL
unsupported_media_typeHEAD is not a video
detach_source_has_no_audioSource has no audio track (worker)

What is the two-step flow?

Import, then detach. The docs name POST /v1/media-imports (MCP tool media-imports_create). The MCP tools page calls media-imports_create the social URL mirror and the docs do not list which sites it supports, so test your source before you depend on it. Idempotency-Key is required on the detach.

curl -X POST https://api.sume.com/v1/audio-detach \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: detach-url-001" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/talk.mp4"
  }'

Can the hosted MCP read my laptop file?

No. The MCP docs say hosted MCP cannot read files from your laptop; upload with assets_create, assets_upload_url and assets_complete, then use the asset. The flow for detach is audio_detach, then jobs_wait, then jobs_result.

How do I avoid a no-audio failure?

Probe first with video inspect: probe.has_audio tells you before you pay for a detach, and frames: false is enough. The failure itself is covered in the no-audio-track error.

How does the job run?

Audio detach defaults to mode: "async". Pass mode: "sync" to wait up to 30 seconds for a 200 finished job, or you get 202 and poll GET /v1/jobs/:id/status and GET /v1/jobs/:id/result. There is no GET /v1/audio-detach/:id. Idempotency-Key is required. The result is kind: audio_detach with audio_url, duration_seconds, format, channels and sample_rate; sample_rate is null when you omitted it and the source rate was inherited. The audio_url is a new artf_ artifact; the video is untouched.

Detach is not clip inspection. For probing, stills or transcripts use video inspect; for a new MP4 cut use video trim, described in the Audio detach docs.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume