Nodes/ComfyUI-WanVideoWrapper/WanVideo Long I2V Multi/InfiniteTalk
ComfyUI Node Runs on cloud

WanVideo Long I2V Multi/InfiniteTalk

The windowed engine for talking-head video

By kijai·Created about a year ago·Updated 2 months ago· 6,651
WanVideo Long I2V Multi/InfiniteTalk
  • vae
  • start_image
  • clip_embeds
  • image_embeds
  • output_path
width832
height480
frame_window_size81
motion_frame25
force_offloadfalse
colormatchdisabled
tiled_vaefalse
modeauto
output_path

This is the node that actually generates long talking-head video. Where the MultiTalk loader gets the model in place and the wav2vec node encodes the audio, this node runs the special windowed sampling method that MultiTalk and InfiniteTalk need - creating the clip in overlapping frame windows so it can run far past Wan's native 81-frame limit and keep the mouth synced the whole way. The node description is explicit that this windowed method is its own thing: not compatible with (and not needed alongside) the regular context-window nodes.

If you want a character to talk continuously for 20 seconds without visible transitions, this is the path. It's also the slow, memory-hungry end of the pack, because "long" plus "windowed" means a lot of sampling.

How it works

The node generates the video in windows of frame_window_size frames, each overlapping the previous by a chunk of motion_frame carry-over frames so motion continues smoothly across the seam. Each window is conditioned on the audio features (via the MultiTalk/InfiniteTalk model attached upstream) so lip-sync holds throughout. It encodes the start image against the VAE, produces the WANVIDIMAGE_EMBEDS for the sampler, and can optionally write frames to disk as it goes.

The inputs that matter

  • vae - the WANVAE, required.
  • start_image (optional) - the face/character to animate.
  • frame_window_size (default 81) - the per-window length. Keep it near Wan's native context; this is the chunk size, not the total.
  • motion_frame (default 25) - how many frames carry over between windows to keep motion continuous. More overlap = smoother continuity, more compute.
  • mode - auto, multitalk, or infinitetalk. auto picks based on the model you loaded; set it explicitly if you want to force one.
  • width / height - output size. Talking heads don't need to be huge; keep it modest to control render time.
  • colormatch (optional) - reduces color drift across windows on long clips.

Outputs are the WANVIDIMAGE_EMBEDS for the sampler and an output_path string.

How to install it

Comes with the pack. Via ComfyUI Manager: search WanVideo Wrapper, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/kijai/ComfyUI-WanVideoWrapper
pip install -r ComfyUI-WanVideoWrapper/requirements.txt

then restart. This node is the sampling front end of the talking-head cluster - you also need the MultiTalk/InfiniteTalk model, the wav2vec encoder, the VAE, and a base Wan model.

Common issues & troubleshooting

You tried to add context options too, and something broke or it's redundant. Don't combine this with WanVideoContextOptions. This node has its own windowing method; the two aren't meant to stack. Pick one long-video path.

It's really slow. This is the expected cost of long, windowed, audio-synced generation. Early testers saw 30+ minutes for a default-length clip even with a speed LoRA, because each window runs its own steps and there are many windows. Keep resolution and total length reasonable, use a low-noise speed LoRA, and add block swap/fp8 to fit.

Seams or motion jumps between windows. Raise motion_frame so more frames carry over between windows, and turn on colormatch to stop color from drifting. Some boundary imperfection is inherent to windowed long-form.

Lip-sync drifts over a long clip. Make sure the audio features actually span the whole clip and that the window/overlap settings aren't dropping audio alignment at the seams. Clean 16kHz audio and the right-language wav2vec model give the model the best chance of staying locked.

CategoryWanVideoWrapper

Inputs (12)

NameTypeDefaultDescription
vaeWANVAE
widthINT83264–2048Width of the generation
heightINT48064–29048Height of the generation
frame_window_sizeINT811–10000The number of frames to process at once, should be a value the model is generally good at.
motion_frameINT251–10000Driven frame length used in the long video generation. Basically the overlap length.
force_offloadBOOLEANfalseWhether to force offload the model within the loop for VAE operations, enable if you encounter memory issues.
colormatchCOMBOdisabledColor matching method to use between the windows
start_imageoptIMAGEImages to encode
tiled_vaeoptBOOLEANfalseUse tiled VAE encoding for reduced memory use
clip_embedsoptWANVIDIMAGE_CLIPEMBEDSClip vision encoded image
modeoptCOMBOautoThe sampling strategy to use in the long video generation loop, should match the model used
output_pathoptSTRINGIf set, will save each window's resulting frames to this folder, also DISABLES returning the final video tensor to save memory

Outputs (2)

NameTypeDescription
image_embedsWANVIDIMAGE_EMBEDS
output_pathSTRING