SCAIL-2 Scheduled Long Video
The SCAIL-2 node that finally handles the 81-frame chunking for you
- model
- clip
- vae
- sampler
- sigmas
- clip_vision
- pose_video
- pose_video_mask
- reference_1
- reference_1_mask
- reference_2
- reference_2_mask
- reference_3
- reference_3_mask
- reference_4
- reference_4_mask
- reference_5
- reference_5_mask
- reference_6
- reference_6_mask
- reference_7
- reference_7_mask
- reference_8
- reference_8_mask
- frames
- used_pose_video_mask
- used_reference_mask_timeline
- summary
SCAIL-2's stock workflow has one giant tax on anything past a few seconds: its native context is 81 frames, and going longer means chaining samplers by hand - decode each chunk, keep a few frames, feed them back in as previous_frames, and keep the arithmetic straight the whole time. This is the node that rolls that entire loop into a single generation call. SCAIL-2 Scheduled Long Video takes your model stack and a segment plan, then repeatedly invokes the native WanSCAILToVideo + SamplerCustom + VAEDecode nodes internally, chunk by chunk, discarding overlap and appending to the output. It's the workhorse of the pack, and the one you'll build every workflow around.
The inputs are a full sampling stack - model, clip, vae, sampler, sigmas, clip_vision - plus pose_video (your driving video as IMAGE), seed, cfg, and mode (replacement or animation). The segment plan comes in as the segment_plan string from the SCAIL-2 Segment Plan Builder. The three settings that do the real work: max_chunk_frames (default 81, the native window), overlap_frames (default 5, the continuation overlap), and reference_count. Remember that max_chunk_frames includes the overlap - 81 + 5 means each continued chunk only keeps 76 new frames, and boundary_overlap per segment controls the stronger continuation you want right after a reference switch.
The mode switch matters more than beginners expect. replacement mode is the classic SCAIL-2 replacement workflow, and it requires pose_video_mask plus a reference_N_mask for every reference the plan uses - those come from the SCAIL-2 Multi Reference Colored Mask node. animation mode doesn't need the masks. If you connect a pose_video and no mask and it errors, this is why: replacement mode is the default and it will not run bare.
The optional reference inputs are dynamic: reference_1 through reference_8, each with a matching reference_N_mask. Set reference_count and hit Update reference inputs to hide the ones you don't use. Each segment's reference number in the plan points at one of these. Outputs are frames (the generated video, ready for interpolation or VHS_VideoCombine), plus used_pose_video_mask and used_reference_mask_timeline - both aligned to the final frame timeline after overlap is discarded, so you can preview the masks beside the output - and a summary string.
There's also color_correction (default on) and cache_mode (disk default, or off). The disk cache is genuinely nice: the node fingerprints your model, prompt graph, pose video, plan, and seed, and stores the result under output/scail2_cache/long_video. Re-run the same graph and it returns the cached frames without resampling - a real timesaver when you're tuning downstream nodes on top of an expensive generation. The tradeoff is a few GB of disk and a cache that can confuse you if you expect a seed change to matter but your graph hash didn't actually change. color_correction applies ColorTransfer per chunk to keep colors consistent across chunk boundaries - leave it on.
Install: ComfyUI Manager search comfyui_scail2_multi_cond, or git clone https://github.com/TTPlanetPig/comfyui_scail2_multi_cond into ComfyUI/custom_nodes and restart. This pack ships no models - you bring the SCAIL-2 weights, which on a 16GB card means the fp8 build, and on 8GB the Q4 GGUF at low resolution. Generation is slow; a 20-second clip is tens of minutes on consumer hardware, and that's not a bug in this node.
The honest caveat: this node hides the chunk loop but not the model's limits. Identity drift across chunk boundaries is SCAIL-2's known weakness, and scheduling is not a fix for it - match your references to the boundaries (that's what the keyframe extractor is for) and expect to tune. But for turning a plan into frames without hand-wiring eight sampler chains, this is the node that makes long SCAIL-2 video actually approachable.
Inputs (34)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| clip | CLIP | — | |
| vae | VAE | — | |
| sampler | SAMPLER | — | |
| sigmas | SIGMAS | — | |
| clip_vision | CLIP_VISION | — | |
| pose_video | IMAGE | — | |
| segment_plan | STRING | # frames | reference | prompt | negative | boundary_overlap 49 | 1 | first segment prompt | | 5 121 | 2 | second segment prompt | | 5 73 | 3 | third segment prompt | | 5 157 | 4 | fourth segment prompt | | 5 | — |
| seed | INT | 10–18446744073709550000 | — |
| cfg | FLOAT | 1.00–20 | — |
| mode | COMBO | replacement | 2 options: replacement, animation |
| max_frames | INT | 00–100000 | — |
| max_chunk_frames | INT | 8117–81 | — |
| overlap_frames | INT | 50–33 | — |
| reference_count | INT | 21–8 | — |
| color_correction | BOOLEAN | true | — |
| cache_mode | COMBO | disk | 2 options: disk, off |
| pose_video_maskopt | IMAGE | — | |
| reference_1opt | IMAGE | — | |
| reference_1_maskopt | IMAGE | — | |
| reference_2opt | IMAGE | — | |
| reference_2_maskopt | IMAGE | — | |
| reference_3opt | IMAGE | — | |
| reference_3_maskopt | IMAGE | — | |
| reference_4opt | IMAGE | — | |
| reference_4_maskopt | IMAGE | — | |
| reference_5opt | IMAGE | — | |
| reference_5_maskopt | IMAGE | — | |
| reference_6opt | IMAGE | — | |
| reference_6_maskopt | IMAGE | — | |
| reference_7opt | IMAGE | — | |
| reference_7_maskopt | IMAGE | — | |
| reference_8opt | IMAGE | — | |
| reference_8_maskopt | IMAGE | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| frames | IMAGE | — |
| used_pose_video_mask | IMAGE | — |
| used_reference_mask_timeline | IMAGE | — |
| summary | STRING | — |