Music-only Short: Timeline silence mode with a soundtrack bed
Build a Short with no voice: audio mode silence plus a soundtrack. The bed plays alone at the default -16 dB with no amix loss. Fields, limits, tail rule.

For a Short with music and no voice, send audio: {"mode": "silence", "duration_seconds": N} and a soundtrack with the music URL. Sume plays the bed alone: with no voice spine to mix against, the compiler skips the amix step, so the bed is not attenuated by a mix. The default gain_db is -16, so raise it if you want a louder bed. Read from the Timeline docs and compiler on 2026-10-06.
Which fields are allowed?
| Field | Rule |
|---|---|
| audio.mode | silence, with duration_seconds 1 to 1800 |
| audio.url, parts, gain_db, source_in | Refused in silence mode |
| soundtrack.url | A media.sume.com audio file |
| soundtrack.gain_db | -60 to 12, default -16 |
| soundtrack.loop | Repeat a short bed to the declared length |
| soundtrack.fade_out_seconds | Up to 10 |
| soundtrack.duck_db | Refused: needs a real spine |
What if the music is shorter than the Short?
Without loop, an unlooped short bed leaves a silent tail and the compiler warns. Set soundtrack.loop to true for a seamless repeat, or trim the video to the track. A hard stop at the end is rarely what you want on a Short, so set a fade_out_seconds of one to three seconds.
{
"audio": {"mode": "silence", "duration_seconds": 45},
"video": [{"source_url": "https://media.sume.com/artifacts/artf_demo/reel.mp4",
"start": 0, "duration": 45}],
"soundtrack": {"url": "https://media.sume.com/artifacts/artf_demo/bed.mp3",
"gain_db": -6, "loop": true, "fade_out_seconds": 2}
}Why not use duck_db?
Ducking lowers the bed under speech. With no speech there is nothing to duck, so duck_db in silence mode returns duck_requires_audio_spine. Drop the field.
Sources
Related posts
More in Developers
- Nearest supported aspect ratio per Sume image model, in Python
A model rejects an aspect ratio it does not list. Read the catalog, pick the closest ratio it accepts, generate, then crop to the exact shape you need.
- NestJS raw body controller to verify an AI video webhook signature
Enable rawBody in NestFactory, read req.rawBody in a controller and check Sume's sume-v1 HMAC before you act on a job.completed video event.
- Never set toleranceSeconds to 0 on a Sume webhook verifier
toleranceSeconds 0 skips the timestamp check, so a captured delivery verifies forever. See the replay and a WebCrypto verifier that rejects stale ones.
- A Node CLI to submit a Sume video job: util.parseArgs and --dry-run
A Node script with util.parseArgs that validates duration, builds the /v1/videos request, and prints it with --dry-run before anything bills. Tested offline.
Written by Sume