Timeline segment_source_short_looped vs padded: loop or freeze a clip
When a clip is shorter than its slot, Sume Timeline either loops it or holds its last frame. How render.pad_mode auto, loop and freeze decide, with thresholds.

If a source clip is shorter than the slot it fills, Sume Timeline either loops the clip (segment_source_short_looped) or freezes its last frame (segment_source_short_padded). The choice comes from render.pad_mode, which is auto, loop or freeze. Neither is an error and neither refunds anything. Read from the Timeline docs and compiler on 2026-10-06.
How does each mode decide?
Each warning reports pad_seconds and pad_mode in its context, and a loop adds loop_count.
| pad_mode | Behavior | Warning |
|---|---|---|
| freeze | Always holds the last frame | segment_source_short_padded |
| loop | Always loops, if the source is at least 0.5 s | segment_source_short_looped |
| auto (default) | Loops if the shortfall exceeds 0.25 s and the source is at least 0.5 s, else holds | Either |
Which should a Short use?
A looped motion clip reads as a deliberate loop, while a frozen last frame reads as a stall. Use loop for ambient footage such as steam or traffic, and freeze for a product shot that must end on its final pose. Check warnings[] in the result, since the plan call cannot predict these.
{
"audio": {"mode": "silence", "duration_seconds": 15},
"video": [{"source_url": "https://media.sume.com/artifacts/artf_demo/steam-4s.mp4",
"start": 0, "duration": 15}],
"render": {"pad_mode": "loop"}
}Sources
Related posts
More in Developers
- Timeline mode sync for a 30-second Short: handle both 200 and 202
Sume Timeline mode sync waits up to 30 seconds and returns 200 if the render finished, else 202. Why a Short client must handle both, with a Python poll loop.
- Timeline warning transition_downgraded_to_cut: why a fade became a cut
Sume Timeline turns a fade, wipe or slide into a hard cut when the transition does not fit the clip. Why it happens in short vertical edits and how to avoid it.
- Sume timeline warnings are not failures: a gate for your season
A padded, looped, resampled or clamped clip comes back as a warning on a completed render. A Python allowlist gate stops those episodes before you publish.
- Titan base64 image fields vs Sume input_references URLs in Python
Titan sends images as base64 strings inside the request. Sume wants public HTTPS URLs. A Python adapter from a local file to a URL for edits.
Written by Sume