WAN 2.2 Image Guide Manager
Build a WAN 2.2 shot list without touching a sampler
- image_guides
This is the node that lets you storyboard a WAN 2.2 video instead of hoping the prompt holds a scene together. WAN 2.2 I2V gives you one starting image and a whole video - getting it to hit shot two, shot three, and a coherent ending is where people fight the model. The Image Guide Manager turns that fight into a list: pick images, drop them on a frame timeline, and hand the whole plan downstream. It never touches a sampler, a VAE, or a pixel.
It comes from the comfyui-helto-wan22 pack by helto4real, and it's the front half of a two-node split. The Manager only builds a reusable guide payload; its sibling WAN22ApplyImageGuides is what actually encodes it into WAN's conditioning. Think of this one as the spreadsheet and that one as the factory.
How it works
The node's real interface isn't the inputs you see on the canvas - it's a custom UI that ships with the pack. You get a folder browser (the pack's input folder is registered by default, and you can add more via the folder button), a thumbnail grid, a frame-position column per guide, a per-guide strength, and an enable toggle. Everything you arrange gets serialized into the hidden guides_json string widget, which is why your shot list survives saving and re-loading a workflow - it rides along in the graph itself, no external file needed. You can also save named guide sets, which live as JSON under the pack's config/guide_sets/ folder and reload from the UI.
Under the hood each guide is just folder_alias + filename + a position and strength. The output image_guides (WAN22_IMAGE_GUIDES) is that data plus the shared settings below, passed as one payload.
The inputs that matter
A handful of these are worth knowing by name:
timing_mode-frameorseconds. In seconds mode, positions are multiplied byfps(default 24) to get a frame. Negative positions wrap backwards from the end of the clip, which is handy for pinning a final frame.duplicate_policy- what to do when two images land in the same frame group. Default iserror, which stops the run. That's a trap if you're being sloppy: flip it tokeep_first,keep_last, oroffset_nextonce you have overlapping shots.global_strength- a master multiplier (0–1) applied to every guide's strength. Leave it at 1.0 while you set per-guide strengths, then use it as the "how hard do I want the whole storyboard to stick" knob.resize_mode-contain(default),stretch, orcrop. Contain preserves aspect ratio and pads, which is what you want for frames that don't match the output dimensions.width,height,length- mostly used here for preview aspect-ratio warnings and timing math; the actual encoding happens at Apply time.
The fps, start_images_strength, pad_color, and structural_repulsion_boost inputs all travel in the payload too, so the Apply node doesn't need its own copies of these settings.
How to install
The pack is a plain custom_nodes clone - no requirements.txt, no model downloads, nothing to pip. Into the custom_nodes directory:
cd ComfyUI/custom_nodes
git clone https://github.com/helto4real/comfyui-helto-wan22
Then restart ComfyUI. You can also find it through ComfyUI Manager by searching "comfyui-helto-wan22". What the pack does not install are the WAN 2.2 models themselves - you still need a WAN 2.2 I2V checkpoint pair, the WAN VAE, and the umt5 text encoder in your models/ folders, same as any native WAN workflow.
Where people get burned
- Duplicate positions default to
error. Two guides resolving to the same frame group (a group is 4 latent frames in this pack) will refuse to run until you changeduplicate_policyor nudge a frame. - Guides reference files by path. If you move or rename a source image, the payload still points at the old alias/filename and the run fails with a file-not-found at Apply time. Keep your storyboard images in one configured folder.
- The manager encodes nothing, which surprises people who expect a preview. You won't see conditioned output until you wire
image_guidesintoWAN22ApplyImageGuides(or the all-in-oneWAN22MultiImageI2VGuide) and run.
The one-node alternative - WAN22MultiImageI2VGuide - folds this whole planner into a conditioning stage if you'd rather not keep the split. But for anything you'll re-use across workflows, building the payload once in the Manager is the cleaner habit.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| 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. |
| width | INT | 128032–16384 | Preview target width used for aspect-ratio warnings. |
| height | INT | 70432–16384 | Preview target height used for aspect-ratio warnings. |
| length | INT | 491–16384 | Output video frame count used for guide timing. |
| guides_json | STRING | {"version":1,"guides":[]} | Hidden serialized guide data used by the custom UI and saved in workflows. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image_guides | WAN22_IMAGE_GUIDES | — |