Compose stacks a still over a video for up to 300 seconds, flat $0.02
A 3-minute Short with a headline image on top fits Sume timeline compose's 300-second ceiling at a flat $0.02. How the stack is sized and what clamps.

Yes, a stacked 3-minute Short fits: Sume's timeline compose takes a clip of up to 300 seconds and charges a flat $0.02 per job. A still on top of a video, or an overlay plate, over a 180-second clip is one compose call, well inside the ceiling.
The numbers are in the timeline compose docs (read 2026-10-06): the ceiling is 300 seconds, the rate is flat at $0.02 because the duration may not be known before the worker probes the video, and the default output is 1080x1920 MP4. YouTube's three-minute Short limit is 180 seconds.
How does the stack decide its length?
The output length always comes from the video layer: video.duration, or the rest of the file from video.source_in. The still stays on screen for the whole clip and can never make it longer. If you ask for more than the file has, the job clamps and returns the warning compose_duration_clamped_to_source; it still succeeds.
What layout keys are there?
Mixing stack keys with overlay keys returns a 400 (compose_stack_takes_no_overlay_layout).
| Key | stack | overlay |
|---|---|---|
split | horizontal or vertical | Not permitted |
ratio | Still's share of the frame, 0.1 to 0.9 | Not permitted |
width_ratio | Not permitted | 0.05 to 1 of width, default 0.9 |
margin_ratio | Not permitted | 0 to 0.45 of height, default 0.05 |
What do I do with a source longer than 300 seconds?
Not an issue for a Short, but for a longer reel cut it first with video trim into pieces of 300 seconds or less, compose each, and join them in Timeline 1.0. Set output.width and output.height on compose to match the Timeline you assemble into so the clip is not rescaled twice.
Sources
Related posts
More in Media tools
- Timeline invalid_segment_timing and segment_overlap: fix your starts
Sume timeline returns invalid_segment_timing or segment_overlap when video starts do not increase or slots overlap past the transition. Fix the start values.
- Timeline output.fps: omit it, or you may resample and get judder
Timeline takes output.fps of 24, 25, 30 or 60 and warns when it differs from the sources. YouTube Shorts and TikTok ad pages list no frame rate.
- Timeline transition_not_frame_aligned: why a 0.01 s fade fails
A Timeline fade under half a frame rounds to zero frames and is refused with transition_not_frame_aligned. How many frames a fade is at 24, 25, 30 and 60 fps.
- transition_snapped_to_frame: a 0.3 s fade at 25 fps is 8 frames
Timeline rounds a fade to whole frames and reports transition_snapped_to_frame as a warning, not a failure. What 0.3 s becomes at 24, 25, 30 and 60 fps.
Written by Sume