Timeline slot under 0.2 s refused: fast-cut hooks for Shorts in Sume

Sume Timeline 1.0 needs every video slot duration to be at least 0.2 s. Merge sub-0.2 s flashes into a neighbor, or hold a still.

4 min readSume
All posts

A video[] slot in Sume Timeline 1.0 must be at least 0.2 seconds long; the schema's minimum for duration is 0.2. A flash cut of 0.1 seconds, which some fast hooks use, is refused as a validation error on that slot's duration. Merge it into a neighbour, lengthen it to 0.2 seconds or more, or replace it with a hold.

Hook-driven vertical edits tend to be dense. YouTube lists Shorts as vertical video of up to 3 minutes (YouTube Help, read 2026-10-05), and a short opening with several cuts in the first seconds is a common style. The limit is about what the renderer accepts, not about what performs well.

What the limit is

The Timeline 1.0 docs give the program table: video[].duration is the on-screen length, 0.2 seconds or more. At 30 frames per second that is six frames. Transitions follow separate rules: at most 1 second, at most 50 percent of the shorter neighbour, and at least one output frame, with transition_not_frame_aligned for anything below a frame.

timing limits per slot and transition (Sume docs and schema read 2026-10-05)
ItemLimitFrames at 30 fps
video[].duration0.2 s or more6 or more
transition durationat most 1 s and 50% of the shorter neighbourat most 30
transition frame floorat least one output frame1 or more
slots per render1 to 200not applicable
adjacent transitionsmore than 8 chained is refusednot applicable

Merging short cuts

If your cut list comes from a beat grid, some entries may be shorter than the floor. The script below folds any slot under 0.2 seconds into the previous one, then rebuilds the starts so they remain strictly increasing and begin at 0. It keeps the total length unchanged.

def merge_short(cuts, floor=0.2):
    merged = []
    for dur in cuts:
        if merged and dur < floor:
            merged[-1] += dur
        else:
            merged.append(dur)
    starts, t = [], 0.0
    for dur in merged:
        starts.append(round(t, 3))
        t += dur
    return list(zip(starts, merged))

print(merge_short([0.8, 0.1, 0.6, 0.15, 1.2]))

Alternatives to a very short cut

Fold the flash into the previous slot and set the picture in the source file, for example by trimming the clip so the flash frames are part of it. Or use a still as a hold of 0.2 seconds or more; stills are static holds in Timeline 1.0 and ignore motion. For a sub-frame-level effect, Sume does not offer a per-frame control through this route.

When not to merge

If the flash is the point of the edit, build it into a single source clip first and import that. Run /plan after any change: it is unbilled, needs no Idempotency-Key and returns segment_count and an estimated cost, but it cannot predict padding or looping warnings that appear only in a real render.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume