Meta feed sound is optional but recommended: add a ducked music bed

Meta says captions and sound are optional but recommended on Facebook Feed video. Add a music bed under a voice with Sume Timeline soundtrack and duck_db.

4 min readSume
All posts

Meta's Facebook Feed video page lists captions and sound as optional but recommended. If your ad has a voice-over, a quiet music bed under it is one Sume Timeline request: add a soundtrack block with a gain, a loop flag and a duck_db from 0 to 20 so the bed drops when the voice speaks. A 30 second render costs $0.10.

What Meta says

The page also lists the audio spec, read on 2026-10-08.

Facebook Feed sound facts, read 2026-10-08
ItemMeta text
SoundOptional, recommended
CaptionsOptional, recommended
Audio formatStereo AAC, 128 kbps or more

The soundtrack block

Timeline's soundtrack field holds an optional bed with a url, gain_db, loop and fade_out_seconds up to 10. duck_db runs from 0 to 20 and needs a real audio spine, not silence; asking for ducking over a silent spine returns the code duck_requires_audio_spine. Spine gain is audio.gain_db, from -60 to 12.

The request below places a 30 second voice-over, lays a looped bed 18 dB below full level, ducks it by 12 dB under the voice and fades it out over 2 seconds at the end. The values are examples to adjust by ear.

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: feed-bed-001" \
  -d '{"audio":{"url":"https://media.sume.com/artifacts/artf_demo/voice.wav","duration_seconds":30},"video":[{"source_url":"https://media.sume.com/artifacts/artf_demo/ad.mp4","start":0,"duration":30,"fit":"cover"}],"soundtrack":{"url":"https://media.sume.com/artifacts/artf_demo/bed.mp3","gain_db":-18,"loop":true,"duck_db":12,"fade_out_seconds":2},"output":{"width":1440,"height":1800}}'

Mind the limits

The fade rules are strict: the edge fades, fade_in_seconds and fade_out_seconds, each run 0 to 5 seconds and their sum must not exceed the output length. A fade longer than the spine is refused with a stable code, so a 2 second fade on a 30 second ad is safe. The same rule applies to the soundtrack fade, which may be up to 10 seconds but not longer than the spine.

Since Meta says sound is optional, design the ad to work with the sound off as well. Burn the key line in with video captions, at $0.20 per job for videos up to 60 seconds, and let the music bed do only what it can do: set the mood for viewers who turn sound on. A caption job and a render are separate: if you want both, render first, then caption the result, for $0.10 + $0.20 = $0.30 on a 30 second ad.

  • Spine: your voice-over, with duration_seconds matching the output.
  • Bed: gain_db -18 as a starting point; raise or lower by ear.
  • Duck: 12 dB under the voice.
  • Cost: 30 s output is $0.10; a 61 s output would be $0.20.

Check before upload

Meta asks for stereo AAC at 128 kbps or more. Sume does not expose audio bitrate, so listen to the render, then pull the audio with audio detach ($0.01 per job) if you want to inspect the track on its own. If the voice is too quiet against the bed, raise duck_db rather than lowering the voice. Re-render under a new Idempotency-Key for each experiment, and keep the key names descriptive, such as feed-bed-duck-12 and feed-bed-duck-16, so you can tell the results apart. Each experiment is another $0.10, so check the request with the unbilled /plan call before you render.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume