audio_detach MCP tool: idempotency_key, jobs_wait, jobs_result
Hosted MCP exposes audio_detach. It needs an idempotency_key, mcp:write under OAuth, then jobs_wait and jobs_result to read the new audio_url.

Hosted MCP exposes audio_detach. It is a write tool: it needs an idempotency_key, plus mcp:write under OAuth. The flow is audio_detach, then jobs_wait, then jobs_result, and the result carries the new audio_url.
What are the tool's inputs?
The docs describe the REST job body for POST /v1/audio-detach; the MCP tool's exact input schema is in tools_list, so read this table as the REST body from the Audio detach docs:
| Field | Notes |
|---|---|
video_url | Required; this workspace's media.sume.com video |
format | wav (default) or mp3 |
range | Optional { start, end? } seconds |
channels | source (default) or mono |
sample_rate | 16000, 44100 or 48000; omit to inherit |
idempotency_key | Required for writes |
What does the result contain?
When the job is ready the result is kind: audio_detach with audio_url (a new artf_ artifact), duration_seconds, format, channels, sample_rate, source_duration_seconds, and optional range and warnings[]. The public rate is $0.01 per job.
Where do the files come from?
Hosted MCP cannot read files from your laptop. Upload through assets_create, assets_upload_url and assets_complete, or import with media-imports_create, before you call audio_detach.
Is there a GET for the detach?
No. There is no GET /v1/audio-detach/:id; poll the job envelope with jobs_wait or GET /v1/jobs/:id/status.
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. Under MCP, jobs_wait replaces the manual poll.
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 Agents
- Sume Action run 409: action_api_trigger_disabled vs action_inactive
Two different 409s stop POST /v1/actions/{id}/runs before any work starts. What each means, the dashboard fix, and how they differ from action_run_in_progress.
- Why a Sume run's billable_amount_usd_micros is not its total cost
usage.billable_amount_usd_micros on a Sume Scheduled run receipt is generation spend only. It leaves out the agent's own LLM turn. Where to read the full bill.
- Agent Completions 403: service_account_agent_completions_unsupported
A Sume service-account key cannot create Agent Completions. It fails with 403 insufficient_scope and a reason code; use another key with the right scopes.
- Claude Code routines API trigger vs the Sume Scheduled run API
Claude Code routines' /fire endpoint and Sume's POST /v1/actions/{id}/runs both start a saved agent over HTTP. Compare payload, limits, receipts and webhooks.
Written by Sume