Nodes/ComfyUI-Fossiel-WAN-Additional-Tilers/Wan22 Painter I2V (Tiled VAE Encode)
ComfyUI Node

Wan22 Painter I2V (Tiled VAE Encode)

Painter I2V without the slow-motion curse — and without the VRAM spike

By Fossiel·Created 9 months ago·Updated 9 months ago· 2
Wan22 Painter I2V (Tiled VAE Encode)
  • positive
  • negative
  • vae
  • clip_vision_output
  • start_image
  • positive
  • negative
  • latent
width832
height480
length81
batch_size1
motion_amplitude1.15
tile_size512
overlap64
temporal_size64
temporal_overlap8

The Painter line of Wan 2.2 I2V nodes exists for one reason: 4-step speed LoRAs like lightx2v make everything waddle. Motion comes out sluggish and floaty because a distilled fast sampler hasn't got the steps to move things. Painter's answer is motion_amplitude - a knob that literally rescales the difference between your first frame and the generated frames in latent space, turning up the motion. This version of Painter I2V is the one you want on a low-VRAM card, because it does all that encoding in tiles.

What it actually does

Under the hood it's princepainter's ComfyUI-PainterI2V logic, with one swap: vae.encode() became vae.encode_tiled(). The node takes your start_image, fills the rest of the length with neutral gray, and encodes that stack - first frame real, the rest blank - into latent. A mask constrains only that first frame, which is what tells Wan the video has to start from your picture and is free everywhere else.

Then the Painter trick: if motion_amplitude is above 1.0, it takes the latent's first frame as a baseline, computes the difference to the gray frames, and multiplies that difference by motion_amplitude (default 1.15, up to 2.0) before re-adding it. Bigger knob, more motion per frame. It's a coarse but effective fix for the speed-LoRA float, and it's why people reach for Painter instead of the plain native I2V node. The first frame is also injected as a reference_latents entry so identity holds.

Inputs and outputs

Required: positive / negative conditioning, vae, width / height / length / batch_size, motion_amplitude, and the tiling quartet (tile_size 512, overlap 64, temporal_size 64, temporal_overlap 8). Optional: start_image and a clip_vision_output from a CLIP Vision node, which gets merged into both conditionings.

Outputs are the standard positive, negative, and latent. Drop them into your KSampler like any Wan I2V node - it's a direct replacement for the original Painter I2V node, same sockets, plus the tiling controls.

Installing it

ComfyUI Manager → search Fossiel or WAN-Additional-Tilers, or:

cd ComfyUI/custom_nodes
git clone https://github.com/Fossiel/ComfyUI-Fossiel-WAN-Additional-Tilers

Restart ComfyUI. Zero extra Python dependencies, no bundled models - you supply the Wan 2.2 checkpoint, CLIP, VAE, and whatever speed LoRA you're fighting with.

Gotchas

Two things trip people up. First, the speed-LoRA tradeoff cuts both ways: these distilled LoRAs genuinely do hurt scene composition and lighting if you blast them on everything - the community consensus is to apply them to the low-noise pass only and keep high noise clean. motion_amplitude at 1.15 is a mild bump; if your clip still crawls, raise it in small steps rather than jumping to 2.0, or you'll get jitter instead of motion. Second, the usual pack rule: keep ComfyUI updated, because the temporal tiling arguments need a recent build.

Categoryconditioning/video_models

Inputs (14)

NameTypeDefaultDescription
positiveCONDITIONING
negativeCONDITIONING
vaeVAE
widthINT83216–16384
heightINT48016–16384
lengthINT811–16384
batch_sizeINT11–4096
motion_amplitudeFLOAT1.151–2
tile_sizeINT51264–4096
overlapINT640–4096
temporal_sizeINT648–4096Amount of frames to encode at a time.
temporal_overlapINT84–4096Amount of frames to overlap.
clip_vision_outputoptCLIP_VISION_OUTPUT
start_imageoptIMAGE

Outputs (3)

NameTypeDescription
positiveCONDITIONING
negativeCONDITIONING
latentLATENT