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.
- Sume 401 halfway through a batch: stop every worker, do not retry
A 401 on a Sume submit means a missing, malformed or revoked key. The SDK does not retry it, and neither should you. Python sample that keeps job ids.
- Sume SDK idempotencyKey: null sends no key, so POST retries stop
subscribeFormatRun mints a UUID Idempotency-Key by default. Pass null and the create call carries no key, so the SDK will not retry it on a 429 or 5xx.
- Sume SDK maxRetries: 0 when your job queue already retries the call
The SDK retries 408, 429 and 5xx twice by default. Under a queue with five attempts that is up to 15 tries. Set maxRetries to 0 and let one layer retry.
Written by Sume