Nodes/ComfyUI-MaxedOut/WAN 2.2 Image to Video MXD
ComfyUI Node

WAN 2.2 Image to Video MXD

WAN 2.2 I2V conditioning without the scaling headache

By Maxed-Out-99·Created about a year ago·Updated 22 days ago· 9
WAN 2.2 Image to Video MXD
  • positive
  • negative
  • vae
  • start_image
  • positive
  • negative
  • latent
length81
batch_size1

Turning a still image into a moving clip is WAN 2.2's signature trick - it's one of the best open-weights I2V models there is, and the 14B A14B image-to-video checkpoint is what most local video people actually run. The annoying part of a WAN 2.2 I2V workflow is the conditioning: you have to bake your start image into the positive and negative conditioning as a concat image, mask the known frames, build the right-shaped empty latent, and get the resolution right or the whole thing falls over. WAN 2.2 Image to Video MXD wraps that whole dance into one node.

What it does

You give it positive and negative conditioning (from a CLIP + WAN text encoder), a vae, a length, a batch_size, and your start_image - and it returns the conditioned positive/negative pair plus an empty latent, all ready to feed a WAN 2.2 sampler. Under the hood it:

  1. Builds the concat_latent_image by encoding your start frame(s) with the VAE, padded with neutral grey for the rest of the clip.
  2. Sets a concat_mask that zeros out the known frames so the model treats them as fixed.
  3. Allocates the empty latent at [batch, 16, t, h//8, w//8] where t = (length-1)//4 + 1 (WAN's 4x temporal compression).

The tooltip on the class says it plainly: "WAN 2.2 image to video without scaling or CLIP vision." The node assumes your start_image is already pre-sized to a valid WAN bucket - it does no resizing of its own. That's the design contract: you scale upstream (the pack's Video Prep I2V or Image Scaler nodes handle it), then this node does the conditioning without surprises.

Inputs that matter

  • start_image - the frame that starts your clip. It's the whole point of I2V, and it's required here.
  • length - total frames, default 81 (5 seconds at 16fps), stepping by 4.
  • vae - your WAN VAE; it does the frame encoding.
  • positive / negative - the text conditioning. Both get the same concat image and mask stamped on.

Outputs: positive, negative (conditioning), and latent - wire all three into the sampler.

Install and the comfy_api catch

cd ComfyUI/custom_nodes
git clone https://github.com/Maxed-Out-99/ComfyUI-MaxedOut.git

Restart, or ComfyUI Manager → search "Maxed Out". The catch, shared with the pack's other WAN I2V nodes: these only register when ComfyUI's comfy_api (Nodes 2.0) layer is present. On an older ComfyUI the node silently won't show up. Update ComfyUI first.

Troubleshooting

  • "start_image must be provided (already pre-sized)" - you left it disconnected. Also the parenthetical is a hint: if it's the wrong size, you get shape errors downstream. Run frames through a WAN scaler first.
  • No start_image input visible in old saved workflows - the node used to mark it required vs optional differently across versions; reconnect it fresh.
  • Sampler shape errors - you're feeding a non-WAN latent or a mismatched resolution. Verify the VAE is the WAN one and the image is on-bucket.

For "I just want WAN 2.2 to animate this picture," this node is the shortest path in the pack - once your ComfyUI is new enough to load it.

Categoryconditioning/video_models

Inputs (6)

NameTypeDefaultDescription
positiveCONDITIONING
negativeCONDITIONING
vaeVAE
lengthINT811–16384
batch_sizeINT11–4096
start_imageIMAGE

Outputs (3)

NameTypeDescription
positiveCONDITIONING
negativeCONDITIONING
latentLATENT