Wan22ImageToVideoLatent (Tiled VAE encode)
Wan 2.2 image-to-video without the 48-channel VAE meltdown
- vae
- start_image
- LATENT
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_maskthat 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.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| vae | VAE | — | |
| width | INT | 128032–16384 | — |
| height | INT | 70432–16384 | — |
| length | INT | 491–16384 | — |
| batch_size | INT | 11–4096 | — |
| tile_size | INT | 512128–4096 | — |
| overlap | INT | 640–4096 | — |
| temporal_size | INT | 648–4096 | Amount of frames to encode at a time. |
| temporal_overlap | INT | 84–4096 | Amount of frames to overlap. |
| start_imageopt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |