Skip to content

ratio must be "adaptive" for frame-pinned clips — current guidance breaks seams above 480p #13

Description

@domtisdell

ratio must be adaptive for frame-pinned clips — the current guidance breaks seams above 480p

Summary. The skill tells you to always pass ratio explicitly. For the chained
first/last-frame technique the skill is built around, that instruction is wrong: it
makes Seedance refit the pinned frame instead of reproducing it, and the error
compounds down the chain.

From SKILL.md (Monid backend, and repeated in Gotchas):

Pass ratio explicitly (16:9, or 9:16 for the mobile chain) — the adaptive
default follows the input image's aspect instead.

Monid clip wrong aspect → the ratio default is adaptive and follows the input
image… Pass --ratio … explicitly on every chained clip.

That is right for text-to-video. It is the opposite of what frame-pinned generation
needs.

Measured

Same leg, same prompt, same frames; only ratio changed. Frame 0 of the output
compared against the pinned first_frame:

resolution ratio frame-0 match
480p 16:9 33.7 dB
720p 16:9 16.0 dB — a pure ~2% zoom, no translation
1080p 16:9 16.1 dB — same 2% zoom
1080p adaptive 37.1 dB

Confirmed across a full six-station film: mean seam 36.2 dB at 1080p with
adaptive
, no correction applied, no re-rolls. The same chain at 480p measured
33.7 dB. Provider: Monid bytedance /v1/video/seedance-2.0, 2026-08.

Why 480p looks like it works

At 480p the model returns 864×496 — not 16:9. It is ignoring the requested ratio
at that tier, so the frame passes through untouched. That makes 480p appear to be the
only reliable resolution and sends you looking for a resolution bug. It isn't one.

Dead ends, so nobody repeats them

Diagnosing this took a good many wasted re-renders. Three encoder-side corrections
were tried and all scored worse than an uncorrected clean render:

  • translation-only realignment — wrong transform; the error is scale, not shift
  • shrink-and-pad — 27.0 dB mean, plus a cream border that grows down the chain
  • crop-and-zoom — 25.8 dB mean

The 2% error compounds ~10% across six legs, so any cumulative correction also
progressively resamples the footage — losing the sharpness the higher resolution was
for. The fix has to be at render time.

Third-party docs agree, e.g. Runware: "the output size comes from the first frame";
Pixazo: "for first/last-frame generation, ratio must be adaptive". Monid's own
Seedance 2.5 notes say editing/extension require adaptive.

Suggested change

Qualify the existing rule rather than replace it:

Pass ratio explicitly for text-to-video. For frame-pinned clips (anything with
first_frame/last_frame — i.e. every chained leg and connector) pass
ratio: "adaptive": a forced ratio makes the model refit the pinned frame (~2% zoom)
and the error compounds along the chain. 480p masks this because it ignores the
ratio and returns 864×496.

Worth a line in Gotchas too, since the symptom presents as "seams only lock at 480p".

Happy to open a PR if useful.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions