Start a song at the chorus in a Short: split, then soundtrack
Timeline's soundtrack has no in-point. Cut the chorus with Timeline audio split, then pass the new audio_url as the soundtrack. Steps and cost: $0.01 + $0.10.

The Timeline soundtrack object takes a url, gain_db, loop, fade_out_seconds and duck_db, but no in-point. To start a track at the chorus, cut the chorus into its own file with Timeline audio split, then use that file's audio_url as the soundtrack. The split costs $0.01 per job. Read from the Sume docs on 2026-10-06.
How do I cut the chorus?
Import the track with POST /v1/media-imports, then call POST /v1/timeline-1.0/audio with operation: "split", the track url and one range. Omit end to run to the end of the file. The result is kind: timeline_audio with segments[], and each segment carries its own audio_url. Use the default wav format if you will join the clip again, or mp3 for a smaller file.
{
"operation": "split",
"url": "https://media.sume.com/artifacts/artf_demo/song.wav",
"ranges": [{"start": 62.5, "end": 92.5}]
}How do I wire it into the Short?
Poll GET /v1/jobs/:id/result for the split, copy segments[0].audio_url and set it as soundtrack.url in a render with audio.mode: "silence" and a matching duration_seconds of 30. Add a fade_out_seconds so the ending is not clipped.
What does the two-step cost?
The split is $0.01 and a 30-second render is $0.10, so $0.11 per Short before any caption job. Rights to the music are yours to confirm: Sume cuts the file you import, it does not license it.
Sources
Related posts
More in Developers
- Stitch four voice takes into one 3-minute Short with audio.parts
Timeline audio.parts joins up to 20 gapless narration slices inside one render, no re-synthesis. Build a 180-second Short from four takes, with the math.
- Stripe Issuing 2-second timeout vs a 10-second Sume webhook
Stripe's real-time authorization for agent cards falls back after 2 seconds. Sume's run webhook allows 10 seconds per attempt. Keep decisions fast.
- Sume STT segmentation: boundary_lead_ms 70 default, 0-500 range
Sume STT can return sentence segments with a boundary_lead_ms from 0 to 500, default 70. What it is for when you turn those sentences into caption cues.
- Sume 400 invalid_request: read the details array
A Sume 400 invalid_request means the body, query, path or headers are not valid. The error envelope has code, message, request_id and a details array.
Written by Sume