Loopable BGM for a 90-second video: loopable flag plus soundtrack loop
Sume's BGM catalog marks each track loopable or not. Pick a loopable one for a long video, set loop: true in the Timeline soundtrack, and add a fade out.

Each track in Sume's BGM catalog has a loopable field. For a video longer than the track, choose a loopable track, set loop: true on the Timeline soundtrack, and add fade_out_seconds (up to 10) so it ends cleanly. A non-loopable track repeated end to end may show a seam where the ending meets the opening.
What the catalog tells you
The catalog is version bgm_catalog_v3. It has 48 first-party loops hosted on media.sume.com plus licensed Kevin MacLeod beds. Every track carries bpm, energy, loopable, moods, genres, tags, video_genres, product_categories and locales. The loopable flag says whether the track was built to repeat.
Use bgm_list or bgm_pick to find tracks, and filter on the fields that matter for a long video: loopable first, then energy.
The soundtrack object
In a Timeline 1.0 render, soundtrack takes url, gain_db, loop, fade_out_seconds and duck_db. fade_out_seconds is capped at 10. duck_db is 0 to 20 and needs a real audio spine, so a voiceover must be present for ducking to do anything.
Replace the slug with a real track from the catalog. The gain and duck values are examples; set them by ear against your voiceover.
{
"soundtrack": {
"url": "https://media.sume.com/assets/bgm/your-track-slug.mp3",
"gain_db": -18,
"loop": true,
"fade_out_seconds": 6,
"duck_db": 10
}
}Attribution for licensed beds
The Kevin MacLeod km-* tracks are CC BY 4.0 and need attribution. First-party Sume loops do not. The catalog carries an attribution field on those tracks; the attribution post shows where to read it.
If you do not want to credit anyone in the caption or description, filter to first-party tracks.
When the bed is too short and not loopable
If no loopable track matches your mood, generate one with Music Router at $0.125 and write the length in the prompt, or use a longer first-party loop. Looping a non-loopable track is possible, but listen at the join. The fade out is for the ending, not for hiding a seam in the middle.
Check bgm_pick's tier too. A catalog_fallback or widened result may have returned a track that is loopable but off-mood; see the match tiers explained.
Test the seam
Render a short cut that covers one loop boundary and listen to it. A loopable track should pass the join without a click or a rhythm break. If it does not, try another track, or lower gain_db so the seam is less noticeable under the voice.
This takes a minute and saves a re-render of the full video.
Related posts
More in Media tools
- Lyria 3.5 result.lyrics is model-reported: check the song with STT
The lyrics field on a Sume music job is what the model reports, not a transcript. If the words matter, run the track through Sume STT at $0.01 a minute.
- Turn a Lyria 3.5 MP3 into a WAV with one Timeline audio job
Sume's music jobs usually return MP3. A single-part Timeline audio concat can output sample-exact WAV for $0.01, which matters before you cut or re-join it.
- Use a MAI-Voice-2.1 clip as avatar audio? Sume needs its own file
A talking still on Sume takes Sume-hosted audio under 10 MB. A MAI-Voice-2.1 clip sits elsewhere, so make the line with Sume TTS instead. Sizes and limits.
- Match voice emotion and music mood: one mood word, two Sume fields
Set generation_config.emotion on TTS and the emotion axis in the Music prompt from the same mood word, so a short's voice and bed do not argue.
Written by Sume