Nodes/ComfyUI-SCAIL2-Easy/SCAIL-2 Fit Video
ComfyUI Node

SCAIL-2 Fit Video

Your driving video is the wrong size. This node fixes that for SCAIL-2

By nkxx188·Created 3 months ago·Updated 3 months ago· 77
SCAIL-2 Fit Video
  • video
  • video
  • width
  • height
  • summary
resolution512p
custom_width832
custom_height480

Video diffusion models are picky about dimensions in a way that image models aren't, and SCAIL-2 is pickier than most. Feed it a driving video at some arbitrary resolution and you'll either get a failed run or output that looks subtly wrong - off proportions, half-cropped subjects. SCAIL2FitVideo exists to make that failure mode impossible: it resizes your driving video to a resolution SCAIL-2 is actually happy with, preserving aspect ratio, no cropping.

It's a small node and it does one thing, which makes it a nice first stop if you're learning the pack. It sits between your video source and the generation node: VHS_LoadVideoSCAIL2FitVideoSCAIL2SimpleVideo's pose_video input. The bundled 1. SCAIL2_simple.json workflow is wired exactly that way.

How it works

The fit logic is straightforward: pick a preset, and the node scales the video's short side to the preset value, computes the long side from the original aspect ratio, then rounds both dimensions to a multiple of 32 - the alignment SCAIL-2 and Wan latents want. Because it scales the short side, a portrait clip and a landscape clip both get handled correctly without you doing the math. Under the hood it resizes in chunks so you don't blow up VRAM on a long clip, and it clamps to a valid 0–1 range.

The inputs that matter

Only three, and really only one you'll touch:

  • resolution - 512p, 704p, or custom. The default is 512p.
  • custom_width / custom_height - only shown when resolution is custom. Defaults are 832×480, stepped in 32s.

Pick 512p or 704p and the width/height widgets disappear - the pack's frontend hides them on purpose so you can't override a preset and break the fit.

Which one? 704p is the sweet spot the included workflows use (a 704×1280 drive is the kind of thing people actually run SCAIL-2 at), and it's a good default for quality. 512p is the fast/low-VRAM option for testing - the KB's hardware reports say even 8GB cards can limp through at 360–576p territory, so 512p is the sensible starting point. custom is for when you know your target resolution exactly (say, matching an existing upscale or a specific canvas) and want full control.

Outputs

  • video - the resized IMAGE batch. Wire this into SCAIL2SimpleVideo.pose_video.
  • width and height - the actual fitted dimensions as INTs. Nice for feeding a text label or preview node so you can see what SCAIL-2 is actually generating at.
  • summary - a JSON string with source shape, target shape, and the fit mode. Useful when you're debugging why output came out a size you didn't expect.

Installing and gotchas

Install the pack once (ComfyUI Manager → "ComfyUI-SCAIL2-Easy", or git clone https://github.com/jieg9341-lab/ComfyUI-SCAIL2-Easy into custom_nodes and restart). This node adds no model downloads of its own and nothing beyond the pack's light dependencies - it's pure tensor math.

The one thing to keep straight: this node resizes, it does not crop. If your driving video has the subject near the edge, fitting the short side can push them out of frame in the resized result, so leave a little headroom in the source clip. And remember the resize doesn't change your subject's proportions - that's the point. It also doesn't fix a too-long clip; frame count is handled on the generation node (max_frames, chunking), not here.

CategorySCAIL-2/Simple

Inputs (4)

NameTypeDefaultDescription
videoIMAGE
resolutionCOMBO512p3 options: 512p, 704p, custom
custom_widthINT83232–4096
custom_heightINT48032–4096

Outputs (4)

NameTypeDescription
videoIMAGE
widthINT
heightINT
summarySTRING