Wan22ImageToVideoLatent
The I2V start node that doesn't touch your prompt
- vae
- start_image
- LATENT
Wan 2.2 image-to-video works a little differently from the 2.1 flow you might have memorized. The 2.1 I2V node built your conditioning and latent together; this node is the Wan 2.2 split: it builds only the latent - the 48-channel monster that Wan 2.2's I2V model actually denoises - and leaves conditioning to the text-encode node in the same workflow. If you're on a Wan 2.2 template and wonder why there's a latent-only node sitting before the KSampler, this is it.
The important number is 48 channels. Wan 2.2's I2V concatenates the VAE-encoded first frame with the noise in a 32+16 channel layout, at 16x spatial compression (h/16, w/16). The node allocates a [1, 48, frames, h/16, w/16] latent, and if you pass a start_image, it VAE-encodes it and writes it into the first latent slots, then sets a noise_mask to 0 across those frames - 0 means "don't touch, this is the real image" - and 1 everywhere else. It also runs the result through Wan 2.2's latent format processor so the start frames sit in the same distribution as the noise. With no start_image, you get a pure noise target (a text-to-video latent in Wan 2.2 clothing). Output: a single LATENT, repeated to batch_size, carrying both samples and the noise mask.
Inputs: vae, width (default 1280), height (default 704), length (default 49), batch_size, and the optional start_image. The defaults are the model's native resolution and length - Wan 2.2 was trained at 1280×704 and stays happiest there.
It's core (comfy_extras/nodes_wan.py), ships with ComfyUI, no install. You'll want the Wan 2.2 checkpoint - remember it's the two-pass family (separate high-noise and low-noise models in the 14B variant), and this latent feeds the sampler for either pass.
The gotchas are mostly about the two-pass architecture, which tripped up the community for months after 2.2 landed. The sampler settings that work for 2.1 don't necessarily carry over, and speed LoRAs that "work" will nuke the quality the 2.2 pass structure is trying to produce. The specific trap for this node: because it only makes the latent, people wire a 2.1-style conditioning node in front of it by habit and end up double-anchoring the first frame - the I2V signal lands twice and the motion dies. Pair this node with the matching Wan 2.2 text-encode node for the same model family, and don't stack a separate I2V conditioning on top.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| vae | VAE | — | |
| width | INT | 128032–16384 | — |
| height | INT | 70432–16384 | — |
| length | INT | 491–16384 | — |
| batch_size | INT | 11–4096 | — |
| start_imageopt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |