Vantage I2V Dual Model Looper
Wan 2.2's high/low-noise split, without the cable spaghetti
- model_high
- model_low
- clip
- project_data
- vae
- start_image
- model_init
- clip_vision
- images
Wan 2.2 is a mixture-of-experts model, and the split is physical: a high-noise expert handles motion and composition, a low-noise expert handles detail. People who actually run 2.2 seriously feed those two experts as separate models - a high checkpoint and a low checkpoint chained in sequence - and it's a wiring headache every time you rebuild a graph. The Vantage I2V Dual Model Looper is the single looper restructured around exactly that setup: same overlapping-window chaining, same disk-based resume, but two model slots and a three-stage denoise schedule instead of one.
What it is
The niche variant of the pack's core idea. Where the single looper takes one model, this one takes model_high, model_low, and an optional model_init, then carves the denoise pass between them. The pack's own example workflows show what it's for: both "Vantage + Wan 2.2 + Lightning LoRA 8 Steps" and "Vantage + Wan 2.2 GGUF + 20 Steps" feed it two GGUFs (one high, one low) through a LoRA loader. That matches the community consensus the KB records: keep the high-noise pass clean and apply speed LoRAs to the low-noise pass only - this node is a graph that encodes that habit for you.
How it works
Everything about windows, overlap, and resume is shared with the single looper: one prompt line per five-second clip, 81-frame windows at 16 fps (129 at 25 fps), frames saved to ComfyUI/vantage/<project_id>/<n>/, and regeneration from any start_prompt. The difference is the schedule. Total steps are steps_init + steps_high + steps_low. With a model_init hooked up, the init model runs the first steps_init steps at its own cfg_init, the high model continues through steps_high, and the low model finishes the last steps_low and forces full denoise. Without model_init, it's just high then low. Defaults of 1 / 9 / 10 land at 20 steps total, which is why the Lightning LoRA example sits at 8 - you're expected to tune these down with distillation LoRAs.
The inputs that matter
- model_high, model_low - the two Wan 2.2 experts. Which one is which matters; get them swapped and the motion/detail split goes weird.
- model_init (optional) - a third model for the opening steps; skip it if you don't have one.
- project_data - from the Vantage Project Loader; your prompts live there, one line per clip.
- steps_init / steps_high / steps_low, cfg_init, cfg - the split schedule. This is the tuning surface for the whole node.
- clip, vae, start_image plus the usual seed, sampler_name, scheduler, width, height, fps, overlap, crop, denoise, batch_size. Notably clip_vision is optional here, unlike the single looper - but for image-to-video you generally still want it.
The single output, images, feeds a VideoCombine node, same as the single looper.
Installing it
Identical to the rest of the pack: ComfyUI Manager → search VantageLongWanVideo → install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/vantagewithai/VantageLongWanVideo.git
then restart. No pip dependencies, no bundled models - bring your own pair of Wan 2.2 checkpoints (GGUF or full).
Where people get burned
This is the least-trafficked node in the pack - effectively zero Google impressions - so there's no body of community write-ups to fall back on; the two example workflow JSONs in the repo are your best reference, and they're both GGUF-based. Model order is the classic mistake: high vs low isn't cosmetic. And if you only have one Wan checkpoint, this node is the wrong tool - the single-model looper is the one you want. Watch the step math too: the defaults assume you're using speed/distillation LoRAs, so at full 20-step quality on a big GGUF, budget accordingly. The disk-and-resume behavior (PNGs piling up in ComfyUI/vantage/, start_prompt clamped to 0 if out of range) is inherited from the single looper, so the same gotchas apply.
Inputs (24)
| Name | Type | Default | Description |
|---|---|---|---|
| model_high | MODEL | — | |
| model_low | MODEL | — | |
| clip | CLIP | The CLIP model used for encoding the text. | |
| project_data | * | Dict with 'prompt_lines' and 'project_id'. | |
| negative_text | STRING | Negative text. | |
| seed | INT | 00–18446744073709550000 | — |
| steps_init | INT | 10–10000 | — |
| steps_high | INT | 91–10000 | — |
| steps_low | INT | 101–10000 | — |
| cfg_init | FLOAT | 8.00–100 | — |
| cfg | FLOAT | 8.00–100 | — |
| sampler_name | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| scheduler | COMBO | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 | |
| width | INT | 83264–8192 | — |
| height | INT | 48064–8192 | — |
| batch_size | INT | 11–64 | — |
| denoise | FLOAT | 1.000–1 | — |
| fps | COMBO | 16 | 2 options: 16, 25 |
| overlap | INT | 10–8 | How many frames overlap into the next loop. 0 or 1 = last frame; N>=2 = Nth from bottom. |
| crop | COMBO | 2 options: center, none | |
| vae | VAE | The VAE Model used for decoding latent. | |
| start_image | IMAGE | — | |
| model_initopt | MODEL | — | |
| clip_visionopt | CLIP_VISION | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |