A 30-second music bed under a 70-second render costs $0.325

One Music Router track at $0.125 plus a 70-second Timeline render at $0.20 is $0.325. Use soundtrack loop, fade_out_seconds up to 10 and duck_db 0 to 20.

5 min readSume
All posts

A 30-second music bed under a 70-second Timeline render costs $0.325: one Music Router generation at $0.125 plus a render of ceil(70 / 60) = 2 billed minutes at $0.10, which is $0.20. The bed is shorter than the video, so set soundtrack.loop and let it repeat; add a fade_out_seconds of up to 10 and a duck_db of 0 to 20 so the voice stays on top.

The cost sheet

All three lines come straight from the docs. Music is a fixed $0.125 per accepted generation. Timeline is $0.10 per ceil(output minute).

Cost of a 70-second render with a music bed (read 2026-10-08)
LineArithmeticPrice
Music Router, one trackfixed per generation$0.125
Timeline 1.0 render, 70 sceil(70 / 60) = 2 minutes x $0.10$0.20
Total0.125 + 0.20$0.325
Same with 60 s render0.125 + ceil(60 / 60) x 0.10$0.225

Soundtrack options

The soundtrack object is optional. The docs list these fields.

soundtrack fields, Timeline 1.0 (read 2026-10-08)
FieldRangeNotes
urlmedia.sume.com fileImport first; off-host URLs are refused
gain_dbnumberLevel of the bed
loopbooleanRepeat a bed that is shorter than the spine
fade_out_seconds0 to 10Longer than the spine gives soundtrack_fade_exceeds_output
duck_db0 to 20Needs a real spine; with silence it gives duck_requires_audio_spine

Where the bed goes in the request

The soundtrack object sits next to audio in the Timeline body. The audio object is the spine, which is the voice or the main track and sets the output length. The bed is a second layer and never sets the length. If the voice is 70 seconds, the output is 70 seconds, and a bed of any length is cut or looped to fit. Without loop, a bed that ends early leaves silence under the end of the video, so set loop unless you want that.

When the bed should not loop

A looped bed is the cheapest way to cover a long video, but a loop can sound mechanical over 70 seconds. If the music has a clear arc, ask for a longer track instead. The price does not depend on the length that you ask for, so a prompt for "a 70-second track" costs the same $0.125 as one for 30 seconds. The risk is that the model may not follow the length, so check the file before you build the render around it.

Ask for the length you need

Music has no duration field, so the 30 seconds comes from your prompt, for example "A 30-second track." Do not trust the length until you have the file. Run video inspect or listen to it. A bed of 28 seconds that loops under a 70-second render repeats 2.5 times, so choose a bed with a clean loop point: steady drums, no long reverb tail, no vocal line.

Keep the bed quiet. A negative gain_db lowers the bed in the mix, and duck_db lowers it further while the voice speaks. Both need an audio spine, since the bed ducks against the voice. A silent render has nothing to duck against.

import json

PRICE_MUSIC = 0.125
PRICE_MIN = 0.10
output_seconds = 70

import math
render = math.ceil(output_seconds / 60) * PRICE_MIN
print("render:", round(render, 2), "total:", round(render + PRICE_MUSIC, 3))

soundtrack = {
    "url": "https://media.sume.com/artifacts/artf_demo/bed.mp3",
    "gain_db": -12,
    "loop": True,
    "fade_out_seconds": 4,
    "duck_db": 10,
}
print(json.dumps({"soundtrack": soundtrack}, indent=2))

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume