Replace the music in a vertical Short: trim audio drop, then a bed

Remove a clip's audio with video-trim audio drop, then rebuild the track in Timeline with a silent spine and a soundtrack bed at a set gain_db.

5 min readSume
All posts

To swap the music on a finished vertical clip, do it in two jobs. First, video trim with audio: "drop" returns a new MP4 with no audio track. Then Timeline 1.0 renders that silent clip with audio.mode: "silence" for the length and a soundtrack bed you choose, at a gain_db between -60 and 12. The source file is never modified.

Step 1: drop the audio

Trim takes start, plus one of end or duration (0.2 to 900 seconds). Use start: 0 and the clip's own duration to keep the whole picture. Exact precision is the default and re-encodes frame-accurately with libx264, yuv420p; audio: "drop" removes the track. Public rate: $0.02 per job. Import first with POST /v1/media-imports; writes need an Idempotency-Key.

curl -X POST https://api.sume.com/v1/video-trim \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: trim-drop-audio-001" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/short.mp4",
    "start": 0,
    "duration": 45,
    "audio": "drop"
  }'

Step 2: render with a bed

In the render document, the trimmed MP4 goes in video[] with source_in: 0, the length goes in audio.duration_seconds, and the new music goes in soundtrack.url. A silent spine means there is nothing to duck under, and soundtrack.duck_db needs a real spine, so do not send it here. soundtrack.fade_out_seconds (up to 10) softens the end.

Timeline fields for a replaced soundtrack, from the Sume docs (read 2026-10-05)
FieldValue for this job
audio.modesilence
audio.duration_seconds45 (the trimmed length)
video[0].source_urlthe trimmed MP4
video[0].source_in0
soundtrack.urlyour music file on media.sume.com
soundtrack.gain_db-60 to 12; start around -6 and listen
soundtrack.duck_dbnot allowed with silence

Things to watch

  • Use music you have the right to use; Sume does not clear rights for files you upload.
  • Timeline fills 1080x1920 by default; a clip that is not 9:16 needs a fit mode or a crop first.
  • The render bills per started output minute, so a 45-second Short is one minute.
  • The soundtrack is a bed under the output; it does not alter the trimmed clip's picture.

Probe first, and the cost

Before you drop audio, confirm there is some. A video inspect call with "frames": false returns the probe, which includes has_audio, and costs only its compute. If the clip is already silent, skip step 1 and go straight to Timeline.

Public rates for the two-job replacement, from the Sume docs (read 2026-10-05)
JobRateFor a 45 second Short
video trim$0.02 per job$0.02
Timeline 1.0 render$0.10 per started output minute$0.10
Total$0.12

Where the new music comes from

The bed must be a file on media.sume.com that your workspace owns, so import it with POST /v1/media-imports like any other clip. If you do not have music, Sume's audio models can generate a bed; see the docs index for the audio models you can call. Once you have the file, soundtrack.loop repeats a short bed to fill the length, and soundtrack.fade_out_seconds (up to 10) closes it.

Listen to the result at phone volume. The trimmed clip carries no sound, so the bed is the only audio; a bed that is too loud still sounds fine alone but can fight any voiceover you add later. Adjust gain_db in steps of 3 and re-render, since each render is a $0.10 per started minute job.

Keep the Short's length consistent across the two jobs. If the trim keeps 45 seconds, set audio.duration_seconds to 45 and give the video slot a duration of 45, because the slot may stop at most 0.5 seconds before the end of the spine. A slot that is shorter than that tolerance is refused or padded, and a padded tail shows as a frozen frame that you would not want at the end of a Short.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume