Extract audio from a long video: the 900 s output cap and range
Audio detach takes sources up to 1800 s but outputs at most 900 s. For a longer track pass range and detach in two calls. Errors included.

POST /v1/audio-detach accepts a source up to 1800 s but writes at most 900 s of audio. For a longer video, pass range: { start, end } for each stretch of up to 900 s, so a 25-minute video needs two detach calls.
This is from the Audio detach docs, read 2026-09-30.
What does range do?
range is an optional { start, end? } in seconds. Omit it for the whole track; an omitted end runs to the end of the file. A range whose end is at or before start, or that is longer than 900 s, fails with audio_detach_range_empty. A start past the probed duration fails with detach_start_past_source.
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-part-1" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/long-talk.mp4",
"range": { "start": 0, "end": 900 }
}'Should I detach many times or split once?
For many ranges from one talking-head MP4, the docs say detach once, then split the file with POST /v1/timeline-1.0/audio (operation: "split", 1 to 20 ranges). That only works while the track fits in one detach; for a video over 900 s of audio, detach in ranges and split each result.
What else can fail?
A video with no audio track fails detach_source_has_no_audio; check probe.has_audio first with video inspect and frames: false. A source over 1800 s fails source_duration_exceeded. Each detach is $0.01 per job.
| Limit | Value | Error when exceeded |
|---|---|---|
| Source length | 1800 s | source_duration_exceeded |
| Output length | 900 s (longer range refused) | audio_detach_range_empty |
| Range start | Inside the source | detach_start_past_source |
| Price | $0.01 per job | - |
Sources
Related posts
More in Developers
- Bluesky video format not supported: the accepted MIME types
Bluesky's app accepts video/mp4, video/mpeg, video/webm, video/quicktime and image/gif. For anything else, re-encode to MP4 with Sume video trim.
- Bluesky video length limit: 10 minutes, and how to trim to fit
Bluesky's app sets VIDEO_MAX_DURATION_MS to 10 minutes, and 1.132.0 removed the 10-minute gate. Trim longer clips with Sume video trim first.
- Bluesky video upload limit: 300 MB MP4, and fitting a clip
Bluesky raised its video upload limit from 100 MB to 300 MB in June 2026, MP4 only. Fit a clip under it by trimming length and conforming size with Sume.
- CapCut captions API: black-outline and korean-ad styles
CapCut has no captions API in the pages we read. Sume's POST /v1/video-captions burns a white-on-black-outline look with style black-outline.
Written by Sume