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.

Leave output.fps out unless you have a reason. If you omit it, Sume's Timeline renders at the frame rate of your longest video source; if you set a value different from a source, the job repeats or drops a frame every few frames and the motion can judder. It reports this as the output_fps_resamples_sources warning with the rate the sources wanted. And the two platform pages I could read, YouTube's Shorts page and TikTok's ad spec page, list no frame rate to match.
What each option does
| Setting | Result |
|---|---|
| output.fps omitted | Matches the longest video source. 30 when no source has a rate (all stills) |
| output.fps equal to the sources | No resampling |
| output.fps different from a source | Frames repeat or drop; warning output_fps_resamples_sources |
| Allowed values | 24, 25, 30, 60 |
When to set it
Set it when your sources disagree, say a 24 fps generated clip and a 30 fps screen capture, and you want one clean rate. Pick the rate of the footage that matters most, and live with the other one. If every source is a generated clip from the same model, omit it.
A rate of 60 does not make a 24 fps clip smoother. It only repeats frames. Treat 60 as an option for sources that are really 60.
Reading the warning
The warning is advisory. The job still completes, and the result carries output_fps_resamples_sources with the rate the sources wanted. Log that field in your pipeline and fail a QA check when it appears and you did not mean to resample.
If it appears, there are two fixes. Remove output.fps so the render follows the sources, or conform the odd source to the common rate before assembly. Video trim has an output.fps conform for exact mode, so a conform step costs one extra job and a re-encode.
Mixed sources are common once you add a screen recording or a stock insert to a run of generated clips. Most generated clips from a single model share a rate, so a Short built only from them rarely warns. The warning is worth watching on edits that mix origins.
Platform specs
YouTube's Shorts page names the 3-minute length and the 1080p ceiling and gives no frame rate. TikTok's page lists formats, minimum sizes, file size and bitrate, and no frame rate either. Do not invent one. If a platform rejects a file, compare the full output with what that platform's upload tool says, not with a rule from a third-party guide.
For the order of steps in a vertical Short, see trim, dim, bed, render, captions last.
Sources
Related posts
More in Media tools
- 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.
- Video API transitions: six types, one second max, eight in a row
Sume timeline accepts fade, wipeleft, wiperight, slideup, slidedown and dissolve, with a duration of at most 1 second and no more than eight adjacent fades.
- Transparent background AI image on Sume: GPT Image 2.5 field
Only the GPT Image 2.5 rows take background on Sume's image route. OpenAI says transparency needs png or webp output. A request and an alpha check in Python.
Written by Sume