Loop background music under a long video with Timeline 1.0
A 30-second bed under a 90-second video: use soundtrack.loop, fade_out_seconds and duck_db in a Sume Timeline 1.0 render, and plan first for free.

Set soundtrack.loop to true. In a Sume Timeline 1.0 render, a soundtrack that is shorter than the audio spine stops partway through unless it loops, and the render warns soundtrack_shorter_than_spine. With loop on, the bed repeats until the spine ends. Add fade_out_seconds so the last repeat does not stop dead.
The soundtrack fields
| Field | Range | Default | Effect |
|---|---|---|---|
| url | Sume-hosted HTTPS URL | required | The bed |
| gain_db | -60 to 12 | -16 | Level under the voice |
| loop | true or false | false | Repeat until the spine ends |
| fade_out_seconds | 0 to 10 | 0 | Fade over the last seconds |
| duck_db | 0 to 20 | 0 | Lower the bed while the voice speaks |
Steps
- Generate or upload a bed. Music from the music router costs $0.125 per accepted generation.
- Call
POST /v1/timeline-1.0/planwith your request. It is unbilled, and returns the plan. It cannot predictsoundtrack_shorter_than_spine, because that warning needs the bed's probed length, which is known only at render time. - Render with
POST /v1/timeline-1.0/render, at $0.10 per output minute. - Listen at the seam. A bed that loops mid-phrase will click or lurch, so choose a bed with an even bar structure.
Choosing numbers
Leave gain_db near its -16 default when there is a voice spine. Use duck_db around 6 to 12 for dense speech, then adjust by ear. The duck follows the spine envelope, so it is a target depth against speech at normal level, not a constant. Ducking is rejected with a silent audio mode (duck_requires_audio_spine), because there is nothing to key from. Fades on the whole output use output.fade_in_seconds and fade_out_seconds, each 0 to 5.
Limits
Audio duration is 1 to 1,800 seconds. Looping repeats the file as is; it does not crossfade or beat-match, so a seamless loop depends on the music itself. Ask the music prompt for an arc that resolves where it starts. Read the full field list in Timeline 1.0.
Related posts
More in Media tools
- Mastodon video upload: 99 MB, one video, transcoded to 1300 kbps
Mastodon takes one video per post, up to 99 MB, and transcodes it to H.264 MP4 at up to 1300 kbps. What to send from Sume so the re-encode costs less quality.
- Keep the sound of AI clips in a Sume timeline: detach to a spine
A Timeline 1.0 render takes one audio spine. To keep audio generated with your clips, detach each clip's track, join the parts, and use that as the spine.
- Reference ingest OCR needs_verification: read the crop
Low-confidence on-screen text from reference ingest returns as needs_verification with a native crop. How the 0.85 default works and how to read the manifest.
- reference_ingest_semantic_unavailable: what to do instead
semantic: true is refused on reference ingest, and reference_ingest_unavailable means the media runtime lacks the function. The two errors and what to call.
Written by Sume