silent_audio_takes_no_* in Sume timeline: BGM-only slideshow fix

audio.mode silence refuses url, parts, gain_db and source_in. Put gain and fades on the soundtrack bed, which is allowed over silence.

4 min readSume
All posts

The four silent_audio_takes_no_url, _parts, _gain and _source_in codes all say the same thing: you declared audio.mode: "silence" and also sent a spine field. Delete the field from audio. If you wanted the music quieter, put gain_db on the soundtrack bed instead. The hints returned are remove_audio_url_or_silence_mode, remove_audio_parts_or_silence_mode, remove_audio_gain_db and remove_audio_source_in_or_add_audio_spine.

This is the standard shape of a music-only slideshow: no voice, a declared length, one background track. For a Short, the length is bounded by the platform; YouTube states that a square or vertical video up to 3 minutes is categorized as a Short (YouTube Help, read 2026-10-05).

Why silence takes no spine fields

The schema comments in the API explain the logic. Silence is synthesized, not decoded, so there is no file to join, no gain to apply to a file and no source to seek into. The Timeline 1.0 docs list the same rule in the program table: in silence mode, do not send url, parts, gain_db or source_in.

fields next to audio.mode silence (Sume docs and schema read 2026-10-05)
Field on audioWith mode silenceCode
urlrefusedsilent_audio_takes_no_url
partsrefusedsilent_audio_takes_no_parts
gain_dbrefusedsilent_audio_takes_no_gain
source_inrefusedsilent_audio_takes_no_source_in
duration_secondsrequired, 1 to 1800none

The valid body: silence plus a soundtrack bed

The soundtrack object takes a url, gain_db, loop and fade_out_seconds (at most 10). Ducking is the exception: duck_db needs a real audio spine, so over silence it returns duck_requires_audio_spine. The fade must also fit the output, or you get soundtrack_fade_exceeds_output.

{
  "audio": { "mode": "silence", "duration_seconds": 30 },
  "soundtrack": {
    "url": "https://media.sume.com/artifacts/artf_demo/bed.mp3",
    "gain_db": -6,
    "loop": true,
    "fade_out_seconds": 2
  },
  "video": [
    { "source_url": "https://media.sume.com/artifacts/artf_demo/a.png", "start": 0, "duration": 15 },
    { "source_url": "https://media.sume.com/artifacts/artf_demo/b.png", "start": 15, "duration": 15 }
  ]
}

Stills in a slideshow

Stills are static holds in Timeline 1.0. The job accepts a motion field on a still, ignores it and reports motion_ignored, so do not expect a pan or zoom. Each slot still needs a duration of at least 0.2 seconds, and the last slot may end at most 0.5 seconds past audio.duration_seconds.

Reading the four codes together

The four codes come from one check, so a body can carry more than one offending field. That matters when a builder adds a default gain_db of 0 to every audio object: removing gain_db fixes one code, but a leftover url from a template can still be refused. Fix every offending field, then re-run /plan. A clean plan returns duration_seconds, segment_count, billable_minutes and an estimated cost, and no job is created.

When not to do this

If the music has a licensing constraint on the platform, silence mode does not solve it; the soundtrack is still in the file. YouTube, for instance, says a Short over a minute with an active Content ID claim is blocked and cannot be monetized, while royalty-free tracks from its Audio Library do not get claims. Check the track, not the render settings. Use /plan first: it is free and returns the same error codes.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume