comfyui-scail2-infinity
All-in-one ComfyUI node that automatically generates arbitrarily long SCAIL-2 videos by internally looping chunked workflows with frame anchoring and continuous stitching.
comfyui-scail2-infinity
A single all-in-one ComfyUI node — SCAIL-2 Infinity (auto window) — that turns the
core WanSCAILToVideo chunked workflow into one node that generates arbitrarily long
SCAIL-2 video automatically.
SCAIL-2 is trained on 81-frame chunks with a 5-frame overlap (76-frame step). Normally,
to go past 81 frames you wire multiple chunks together by hand, feeding each chunk's decoded
output back into the next via previous_frames / video_frame_offset (the same "window"
stitching Kijai's WanAnimate does). This node does that loop internally: chunk → sample →
decode → re-anchor on the last 5 frames → repeat, until the driving pose video is exhausted,
then stitches everything into one continuous video.
What it reuses (nothing reimplemented)
comfy_extras.nodes_scail.WanSCAILToVideo.execute()— builds the per-chunk conditioning, empty latent, and adjusted frame offset. It's a pure function of its inputs, so this node just calls it once per window. All SCAIL-2 features (pose mask, reference mask, replacement mode, clip-vision, pose strength/start/end) are passed straight through.nodes.common_ksampler()— samples each chunk.VAE.decode/VAE.decode_tiled— decodes each chunk.
Key parameters
| Param | Default | Notes |
|---|---|---|
| window_length | 81 | Frames per chunk. SCAIL-2 trained at 81 — keep it. |
| previous_frame_count | 5 | Overlap frames anchored from the previous chunk. Trained at 5. |
| max_frames | 0 | Hard cap on total frames. 0 = run until the pose video ends. |
| decode_tiled | off | Tiled VAE decode to bound decode VRAM at high resolution. |
| vary_seed_per_window | off | Off = same seed each chunk (best continuity). |
How length is decided
- With a
pose_video: it generates fixed 81-frame windows stepping by76(window_length - previous_frame_count) until the cumulative output reaches the driving video length, then trims the final overshoot. For 228 driving frames that is exactly 3 windows (3 samples).max_framescan cap it shorter. - Without a
pose_video: exactly one window (no infinite loop). - The first 81 output frames are identical to running the stock single-chunk
WanSCAILToVideo→KSampler→VAEDecodegraph.