How to increase video length by looping a short clip
Loop a short clip until it matches a song or voiceover: put it in one Timeline 1.0 slot as long as the audio and set render.pad_mode to loop.

To increase a video's length by looping, repeat the same clip back to back until it covers the time you need, such as the length of a song or a voiceover, and save the result as a new file. With Sume, when the clip is already hosted on Sume, put it in one Timeline 1.0 slot as long as the audio: when a slot is longer than its clip, render.pad_mode fills the rest, and loop replays the clip until the slot is covered.
The facts come from the Timeline 1.0 docs and the field descriptions in the Sume API reference, read on 2026-09-27. Anything described as current behavior is read from Sume's code.
How do I loop a clip to the length of my audio?
The audio sets the length. audio.duration_seconds, from 1 to 1,800, is the output length, and audio.url is the song or voiceover, such as a music or voice track from an earlier Sume job. Give the clip one slot from start: 0 whose duration equals that length, and set render.pad_mode to loop:
- Every URL must already be your workspace's
media.sume.comartifact or asset, such as an earlier Sume job's output. Sume has no public upload route for a file on your computer; see which URLs each endpoint accepts. - Set
output.widthandoutput.heightto the clip's size, because the default output is 1080×1920. - A looped source comes back as a soft warning in
warnings[](segment_source_short_loopedin the current code), not a failure. The unbilledPOST /v1/timeline-1.0/planchecks the body first, but the docs say it cannot predict pad or loop warnings. - For a silent video, send
audio.mode: "silence"with nourl;duration_secondsstill sets the length.
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: loop-to-song-001" \
-d '{
"audio": { "url": "https://media.sume.com/artifacts/artf_demo/song.mp3", "duration_seconds": 95 },
"output": { "width": 1920, "height": 1080 },
"render": { "pad_mode": "loop" },
"video": [
{ "source_url": "https://media.sume.com/artifacts/artf_demo/clip-6s.mp4", "start": 0, "duration": 95 }
]
}'Does a short clip loop by default?
Mostly. The default, auto, loops short sources instead of holding a long freeze. In the current compiler, though, auto loops only when the slot outlasts the clip by more than 0.25 s, and a source shorter than 0.5 s is never looped, even with loop, because looping it would strobe; it holds its last frame instead. Name loop when you want the repeat, rather than relying on the default.
| `render.pad_mode` | A slot longer than its clip is filled by… |
|---|---|
loop | Replaying the source |
freeze | Holding the last frame |
auto (default) | Looping short sources instead of holding a long freeze |
Does the clip's own sound loop too?
No. In the current compiler a Timeline render's sound comes only from its spine and an optional soundtrack, never from the clips, so the looped picture plays under your song or voiceover and the clip's own audio is left out. To repeat a music bed, soundtrack.loop repeats it until the spine ends; see add background music to a video.
Will the loop show a seam?
Each pass replays the clip from its start, so every seam shows whatever jump there is between the clip's last frame and its first. A clip that ends on the same picture it starts with hides the seam; make a seamless loop AI video shows how to generate one.
Is looping the only way to extend a video?
No. To add new footage instead of repeats, generate the next clip from the last frame, as in chaining AI clips from the last frame. And if you only want a video to repeat while it plays, that is a player setting, not a new file; a Timeline render writes a longer file.
What does it cost, and what are the limits?
The render reserves $0.10 per output minute on API pricing, plus a 5.5% agent fee by default, counted as ceil(audio.duration_seconds / 60) minutes, so a 95-second song reserves 2 minutes. It never charges more than its reservation.
- Output from 1 to 1,800 seconds, so one render loops a clip to at most 30 minutes.
output.widthandoutput.heightare even integers from 256 to 2160.
Sources
Related posts
More in Media tools
- Instagram story ad size: 9:16 specs, plus Facebook Stories
Meta recommends 9:16 at 1440×2560 for Instagram and Facebook Stories ads. Lengths that play in full, safe zones, and how to make one with Sume.
- Instagram Reels video requirements for API uploads
Instagram's API cURLs a Reel from a public video_url: MP4 or MOV, H.264 or HEVC, 23–60 fps, 3 s to 15 min, 300 MB. How a Sume MP4 maps to each rule.
- Korean speech to text API: transcribe Korean audio
Transcribe Korean speech to text by API: send the audio URL with language_code ko, or let it auto-detect, and get the transcript with word timings.
- Translate video subtitles by API: English to Korean captions
Translate an English video's subtitles into Korean with Sume: get timed sentences, translate each line, then burn the lines as cues in a Hangul style.
Written by Sume