Reels music vs original audio balance: set duck_db in a Sume timeline

Instagram lets you trim a song and balance its volume against original audio. To bake the same balance into an MP4, use a Sume timeline soundtrack with duck_db.

5 min readSume
All posts

Instagram's Reels guide says its music tool lets you trim a song to a specific section and adjust the volume balance against your original audio. If your Reel will be rendered as one MP4 outside the app, you can set that balance in a Sume Timeline 1.0 render with a soundtrack block: gain_db sets the music level and duck_db (0 to 20) lowers it while a real audio spine is playing.

Instagram's side comes from the Reels guide, read on 2026-10-03. It does not say how Instagram's balance control is implemented or what its numbers mean, so nothing here claims to match it.

What does Instagram's music tool do?

The guide says you can search for a song by name, browse trending tracks or explore curated playlists, trim the audio to a section, and adjust the volume balance with the original audio. That library lives in Instagram. Sume has no access to it, so a track you pick there cannot be mixed into a Sume render.

That is the main trade-off. If you mix in Sume you must bring your own audio you have the rights to, or generate it with the Music Router.

How does a Sume soundtrack mix work?

In Timeline 1.0 the audio spine is the main audio, usually the voice. The optional soundtrack is a bed under it. The fields on the docs page are url, gain_db, loop, fade_out_seconds (up to 10) and duck_db (0 to 20). The docs say duck_db needs a real spine, not silence, and a request that sets it with audio.mode: "silence" is refused with duck_requires_audio_spine.

Soundtrack fields from the Timeline 1.0 docs page (read 2026-10-03).
FieldRange or valuesEffect
soundtrack.urlSume-hosted audioThe music bed
soundtrack.gain_dbNumber of dBLevel of the bed
soundtrack.duck_db0 to 20Lowers the bed while the spine is active
soundtrack.looptrue or falseRepeats the bed to fill the output
soundtrack.fade_out_secondsUp to 10Fades the bed at the end

What does a request look like?

This render joins one 20-second voice file with a looped music bed ducked by 12 dB and a 3-second fade at the end. Run POST /v1/timeline-1.0/plan first if you want the unbilled estimate. All URLs must already be on the Sume media host.

curl -X POST https://api.sume.com/v1/timeline-1.0/render \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: reel-mix-001" \
  -d '{
    "audio": { "url": "https://media.sume.com/artifacts/artf_demo/voice.wav", "duration_seconds": 20 },
    "video": [
      { "source_url": "https://media.sume.com/artifacts/artf_demo/take.mp4", "start": 0, "duration": 20 }
    ],
    "soundtrack": {
      "url": "https://media.sume.com/artifacts/artf_demo/bed.wav",
      "gain_db": -6,
      "duck_db": 12,
      "loop": true,
      "fade_out_seconds": 3
    }
  }'

How do I get a music bed from Sume?

The Music Router takes a prompt of 1 to 5000 characters and routes to an engine (Lyria 3.5 today). It does not accept duration or duration_seconds; the docs say to steer length in the prompt, for example by asking for a 30-second track. Because the timeline's loop option repeats the bed, you can ask for a short track and loop it.

Generated music is not Instagram's licensed library, and the guide does not explain how Instagram treats audio that is already inside an uploaded file. Check that point before you rely on it for a monetized or branded post.

What should I check?

Play the render on a phone and listen for the voice at the start of each sentence. If the music still competes, raise duck_db in steps of a few dB or lower gain_db. Poll the job as in Jobs and results. If you plan to add Instagram music on top inside the app, render without a bed so there is only one music layer.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume