WAN 2.2 Generate All-in-One
WAN 2.2 I2V from storyboard to video in one node
- high_model
- low_model
- clip
- vae
- start_images
- ref_image
- control_video
- images
This is the node that gets you from storyboard to finished video without building a twenty-node sampler rig around WAN 2.2's two-expert setup. WAN22GenerateAllInOne does everything the pack's other three nodes do, plus the sampling and decode: prompt encode, multi-image guide conditioning, the two-phase high/low sampling WAN 2.2 needs, and VAE decode - all inside one node that outputs actual images. It's the closest thing this pack has to a one-click I2V, and for most people it should be the first thing they wire up.
It ships in comfyui-helto-wan22, which brings LTX-style multi-image guide management to WAN 2.2 using WAN's native concat conditioning. Where its sibling WAN22MultiImageI2VGuide stops at conditioning + latent, this one keeps going: it runs both WAN 2.2 experts, then hands you frames.
How it works
Under the hood it's the pack's whole pipeline in sequence. It patches the flow sampling shift onto both models, inspects the models to count their image-conditioning channels, encodes your prompts with the CLIP input, applies the guide conditioning exactly like the Apply node (guide timeline VAE-encoded once, attached via concat_latent_image/concat_mask/concat_mask_index), then samples in two phases: the high_model runs steps 0 → switch_step, and the low_model takes over from switch_step to the end - with noise disabled on the low pass so it continues the trajectory instead of re-noising. Finally the WAN VAE decodes the latent back to an IMAGE batch. It even reports phase progress ("WAN 2.2 Generate: …") in the UI.
The two-model split is WAN 2.2's architecture: a high-noise expert that handles motion and composition, and a low-noise expert that handles detail. The switch_step tooltip says what the community converged on - switch_step 3 with 5 total steps is the common fast setup. shift (default 8) is the flow sampling shift, matching ComfyUI's normal ModelSamplingSD3/WAN shift control.
Inputs that matter
high_model/low_model- the two WAN 2.2 I2V experts.clipis the WAN text encoder,vaethe WAN VAE. These four are the required model inputs.positive_prompt/negative_prompt- multiline text, encoded internally; no separate CLIP Text Encode nodes needed.switch_step,shift,seed,steps,cfg,sampler_name,scheduler,denoise- the sampling controls. Notecfgdefaults to 1.0, which is the right neighborhood for WAN I2V guide workflows (and for speed-LoRA setups); raise it if your output looks underconditioned.timing_mode,resize_mode,duplicate_policy,global_strength,start_images_strength,structural_repulsion_boost- the same guide settings as the rest of the pack.structural_repulsion_boost(1.0–2.0) is the interesting one: it adds extra transition guidance between guide anchors so the video is pushed to actually change between shots rather than sit on an anchor.guides_json- the hidden serialized shot list from the node's custom storyboard UI. Optional:start_images,ref_image,control_video.
The single output is images - ready for a preview or save node.
How to install
Plain clone, no pip deps, no bundled models:
cd ComfyUI/custom_nodes
git clone https://github.com/helto4real/comfyui-helto-wan22
Restart ComfyUI (or install "comfyui-helto-wan22" via ComfyUI Manager). You supply the WAN 2.2 I2V high/low checkpoint pair, the WAN VAE, and the umt5 text encoder yourself - put them in models/ the normal way.
Where people get burned
- Model-pair mismatch is checked, hard. If the high and low models report different latent channel counts, the node refuses to run - you can't mix a 5B high with a 14B low. Use a matched WAN 2.2 pair.
- A T2V (text-to-video) model won't work. WAN I2V models expose the image-conditioning channels; a T2V model doesn't, and the node raises "does not appear to expose WAN image-conditioning channels." Load I2V weights.
- Duplicate guide frames default to
error. Same rule as the rest of the pack - changeduplicate_policyor nudge frames once your timeline overlaps. - It downloads nothing. No model prompt, no automatic fetch. If the run fails instantly with a missing-file error, the gap is almost always a model/VAE/text-encoder you still need to download.
If you'd rather see the sampling steps on canvas, WAN22MultiImageI2VGuide + WAN22ApplyImageGuides + your own samplers give you the visible equivalent. But for a first working keyframed WAN 2.2 pipeline, this node is the least wiring between you and a video.
Inputs (30)
| Name | Type | Default | Description |
|---|---|---|---|
| high_model | MODEL | WAN 2.2 high-noise image-to-video model, usually sampled first. | |
| low_model | MODEL | WAN 2.2 low-noise image-to-video model, usually sampled after switch_step. | |
| clip | CLIP | WAN text encoder used to encode prompts. | |
| vae | VAE | WAN 2.2 VAE used for guide encoding and final decode. | |
| positive_prompt | STRING | — | |
| negative_prompt | STRING | — | |
| width | INT | 128032–16384 | — |
| height | INT | 70432–16384 | — |
| length | INT | 491–16384 | — |
| batch_size | INT | 11–4096 | — |
| fps | FLOAT | 24.001–240 | Frames per second used when timing_mode is seconds. |
| timing_mode | COMBO | frame | Interpret guide positions as frame indexes or seconds. |
| resize_mode | COMBO | contain | How guide images are resized before VAE encoding. contain/pad preserves aspect ratio with padding. |
| duplicate_policy | COMBO | error | How to handle guide images that resolve to the same frame. |
| pad_color | STRING | 0,0,0 | RGB padding color for contain/pad resize mode. Accepts r,g,b or #rrggbb. |
| global_strength | FLOAT | 1.000–1 | Multiplier applied to every guide strength and start image strength. |
| start_images_strength | FLOAT | 0.850–1 | Strength for the optional start image sequence before global_strength is applied. |
| structural_repulsion_boost | FLOAT | 1.001–2 | High-noise structural repulsion boost between guide anchors. 1.0 disables the extra transition guidance. |
| seed | INT | 00–18446744073709550000 | — |
| steps | INT | 301–10000 | — |
| cfg | FLOAT | 1.00–100 | — |
| sampler_name | COMBO | euler | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 |
| scheduler | COMBO | simple | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 |
| switch_step | INT | 30–10000 | Step where sampling switches from high_model to low_model. Common WAN 2.2 workflows use 3 with 5 total steps. |
| shift | FLOAT | 8.000–100 | WAN flow sampling shift. This matches ComfyUI's normal ModelSamplingSD3/WAN shift control. |
| denoise | FLOAT | 1.000–1 | — |
| guides_json | STRING | {"version":1,"guides":[]} | Hidden serialized guide data used by the custom UI and saved in workflows. |
| start_imagesopt | IMAGE | Optional IMAGE batch inserted from frame 0. | |
| ref_imageopt | IMAGE | Optional WAN 2.2 reference image encoded as reference_latents. | |
| control_videoopt | IMAGE | Optional WAN 2.2 control video encoded into the first concat slot. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |