Three-minute Short: songs cap at 90 seconds, so plan the music bed

YouTube says most songs run up to 90 seconds in a 3-minute Short, some 60 or 30. Build the 180-second timeline with a voice spine and a looping, ducked bed.

5 min readSume
All posts

If you put a commercial song under a 3-minute Short, plan for it to cover only part of the video. YouTube's help page says that on standard channels you can use most songs for up to 90 seconds in a 3-minute Short, but some tracks are limited to 60 or 30 seconds (read 2026-10-07). The safe build is a voice spine for all 180 seconds and a bed that loops, so no limit touches the structure.

Sume's Timeline 1.0 does exactly that: one audio spine, ordered video slots, and an optional soundtrack with loop, duck_db, and a closing fade.

The relevant YouTube lines

From YouTube's three-minute Shorts page. The page also says Shorts are square or vertical and up to three minutes for uploads after October 15, 2024 on standard channels.

YouTube three-minute Shorts and music (read 2026-10-07)
ItemPage says
Max length3 minutes
Standard channel musicmost songs up to 90 s in a 3-minute Short; some limited to 60 or 30 s
Aspectsquare or vertical
Eligible uploadsafter October 15, 2024

Build the 180-second timeline

Set audio.duration_seconds: 180 (the limit is 1-1800), point audio.url at a narration track hosted on Sume, and place six 30-second slots. A soundtrack bed needs gain_db, loop: true, a fade_out_seconds of at most 10, and duck_db of 0-20 to dip under speech; ducking needs a real spine. The script prints a body you can send to POST /v1/timeline-1.0/render.

import json

clips = ["https://media.sume.com/artifacts/artf_demo/c%d.mp4" % i for i in range(1, 7)]
body = {
    "audio": {"url": "https://media.sume.com/artifacts/artf_demo/vo.wav", "duration_seconds": 180},
    "video": [{"source_url": u, "start": i * 30, "duration": 30} for i, u in enumerate(clips)],
    "soundtrack": {
        "url": "https://media.sume.com/artifacts/artf_demo/bed.mp3",
        "gain_db": -14, "loop": True, "fade_out_seconds": 5, "duck_db": 10,
    },
    "output": {"width": 1080, "height": 1920},
}
print(len(body["video"]), "slots,", body["audio"]["duration_seconds"], "s")
print(json.dumps(body["soundtrack"]))

Where the bed comes from

Music 1.0 writes a track from a prompt of up to 5,000 characters; it does not take a duration, so you describe the length in the prompt (the docs example is "a 2-minute track"). The render is $0.10 per ceil output minute, which is three minutes of assembly for this one, so $0.30 before the music and the clips.

This post does not claim a Sume-made track avoids any claim on YouTube. Whether a generated track can draw a Content ID match is not something the docs I read address; check your own upload.

Cheaper ways to handle the limit

If the Short is mostly narration, the bed does little work, and you can skip music for the stretch where a limit would apply. A bed that is quiet and generic is also less likely to be the thing a viewer remembers.

If the track is the point, a licensed song limited to 60 or 30 seconds means building the Short around those 30 to 60 seconds and ending the song-driven part there. Timeline 1.0 can place your own audio as the spine and a separate soundtrack under it, so the structure survives either way.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume