Omni and Seedance clips in one timeline: the fps resample warning

Clips from two video models can have different frame rates. Sume's timeline warns with output_fps_resamples_sources; probe each clip, then set output.fps.

5 min readSume
All posts

If you join clips from two models in one Sume timeline, set output.fps yourself after you check each clip's rate. If you omit it, the render uses the rate of the sources (the longest video sources decide). When that rate differs from a source's own rate, the job repeats or drops a frame every few frames, which shows as judder on motion, and the job reports a soft warning, output_fps_resamples_sources, with the rate the sources wanted.

When this happens

A 40-second cut that mixes a Seedance 2.5 shot with Omni clips is a plausible plan. Seedance 2.5 gives up to 30 seconds per generation (ByteDance Seed, read 2026-10-05), and Sume lists seedance-2.5 at 4 to 30 seconds (Sume docs: Video generation, read 2026-10-05). A 30-second Seedance shot plus one 10-second Omni clip makes 40 seconds with one seam, as Google's own 40-second extension ceiling would (Google, read 2026-10-05).

Different models can output different frame rates. This post does not claim what either model emits. Read the rates from your own files.

Find each clip's rate

POST /v1/video-inspect returns a probe and stills for one media.sume.com clip. Send frames: false for the probe only. Read the frame rate of each clip from it (Sume docs: Video inspect, read 2026-10-05). Inspect bills its Modal compute and holds a ceiling at submit, so check the receipt for the amount.

Pick a rate and conform the outlier

Only 24, 25, 30 and 60 are valid for output.fps; any other value is a 400. A trim with output needs precision: exact, which re-encodes the clip.

Ways to resolve a frame rate mismatch in Timeline 1.0 (read 2026-10-05)
OptionHowCostTrade-off
Accept the majority rateSet output.fps to 24, 25, 30 or 60 to match most clipsNoneThe outlier clip is resampled
Conform the outlier firstPOST /v1/video-trim with output: { fps } on that clip, exact precision$0.02 per jobOne extra job and a re-encode
Leave it unsetOmit output.fpsNoneThe sources decide; you get the warning if they disagree

Read the warning, do not hide it

Soft warnings are not failures. The render still completes. Treat output_fps_resamples_sources as a prompt to look at the cut on a fast pan, where judder shows. If the shots are mostly static or slow, a resample can pass unnoticed, and the warning is a note, not a fix. If you are cutting a fast action sequence, conform first.

Keep a small table of source rates by model in your own notes, built from probes. When a model updates, re-probe: a rate you measured on one release is not a promise for the next.

A practical order of work: generate the clips, inspect each, pick the rate most of the footage already has, conform the rest, then plan the timeline with output.fps set. The plan is unbilled, so it is a safe place to check slot starts before you spend on the render.

One more point on stills. A still image slot has no frame rate, so it never counts toward the rate the sources want. If your cut has a title still between two clips, only the clips decide the rate when you omit output.fps.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume