Nodes/WanImageToVideoTiledVAE for ComfyUI/Wan22ImageToVideoLatent (Tiled VAE encode)
ComfyUI Node

Wan22ImageToVideoLatent (Tiled VAE encode)

Wan 2.2 image-to-video without the 48-channel VAE meltdown

By stduhpf·Created about a year ago·Updated 10 months ago· 16
Wan22ImageToVideoLatent (Tiled VAE encode)
  • vae
  • start_image
  • LATENT
width1280
height704
length49
batch_size1
tile_size512
overlap64
temporal_size64
temporal_overlap8

This is the pack's Wan 2.2 specialist, and if you're on the 27B MoE or 5B TI2V models it's probably the node you'll actually reach for. Wan22ImageToVideoLatent (Tiled VAE encode) is the tiled take on ComfyUI's core Wan22ImageToVideoLatent, and it has the honor of being the one node in this pack where tiling isn't a nice-to-have - the Wan 2.2 VAE is genuinely brutal on VRAM.

Why Wan 2.2 needs its own node

Wan 2.2 swapped the 2.1 VAE for a new one with 16× spatial downsampling (instead of 8×) and 48 latent channels instead of 16. More channels, bigger latent footprint, and a correspondingly hungrier encode pass. That's why this node creates a [1, 48, frames/4, height/16, width/16] latent and why it sits in a different category (conditioning/inpaint) from the other nodes in the pack - it returns only a latent, no conditioning, because in Wan 2.2 the I2V image conditioning is baked into the latent itself via a noise mask.

The mechanism is the same trick as the rest of the pack: the start frame goes through vae.encode_tiled() - spatial tiles plus temporal frame-chunks - instead of a single monolithic encode. Lower peak VRAM, same output shape.

What you set

  • vae - your Wan 2.2 VAE. Do not feed this a 2.1 VAE; the 48-channel / 16× layout is specific to 2.2.
  • width / height / length - defaults are 1280×704 and 49 frames. Note the step is 32 for dimensions here (16× spatial compression means the latent divides by 16 twice), so sizes lock to multiples of 32.
  • start_image - optional, but without it you just get an empty latent. Feed your first frame (or the first few frames) and the node stamps it into the latent with a noise_mask that tells the sampler which frames are already decided.
  • tile_size / overlap / temporal_size / temporal_overlap - the four tiling knobs, same defaults as everywhere else in the pack: 512 / 64 / 64 / 8.

The single output is a LATENT with a noise_mask attached. In ComfyUI that just means "feed this into a sampler as samples" - the mask travels with it, so a KSampler will denoise the unknown frames while leaving your provided ones intact.

Installing

Same routine as the whole pack. ComfyUI Manager → search "WanImageToVideoTiled" → Install, or:

cd ComfyUI/custom_nodes
git clone https://github.com/stduhpf/ComfyUI--WanImageToVideoTiled

then restart. No requirements.txt, no extra model downloads - it leans entirely on your existing Wan 2.2 VAE and ComfyUI's built-in Wan helpers. Credit where it's due: the pack is GPL-3.0 because it's mostly ComfyUI's own node code with the encode call swapped for a tiled one.

Gotchas worth knowing

The author marks this node as successfully tested in the README, so it's one of the safer picks in the pack. Still, remember the two universal caveats: tiling only shrinks the encode phase - if the 27B denoiser itself is what's OOMing you, this won't help - and you should pair it with VAE Decode (Tiled) at the end, because decode is usually the slowest step of a Wan 2.2 render. And while tiling is theoretically a hair worse than a full encode (seam blending), the author reports no visible quality loss; if you ever see tile lines, raise overlap before you lower tile_size.

Categoryconditioning/inpaint

Inputs (10)

NameTypeDefaultDescription
vaeVAE
widthINT128032–16384
heightINT70432–16384
lengthINT491–16384
batch_sizeINT11–4096
tile_sizeINT512128–4096
overlapINT640–4096
temporal_sizeINT648–4096Amount of frames to encode at a time.
temporal_overlapINT84–4096Amount of frames to overlap.
start_imageoptIMAGE

Outputs (1)

NameTypeDescription
LATENTLATENT