Wan2.2 IS2V
Your browser does not support the video tag.
Similar to Bernini-R-S2V, added speech-driven lip-sync to Wan 2.2 image-to-video checkpoints. Painted masks let you target one face or two speakers in sequence for simple dialog without audio bleeding across the whole frame.
It is not state-of-the-art audio-to-video, but it removes the need for post-processing lip-sync or a separate speech model just to get a talking head from Wan I2V. For basic talking-head clips, or longer videos built from short image+audio segments, it is a handy all-in-one option on top of Wan 2.2 I2V.
Wan IS2V Dual Speaker custom node handles the full I2V path (start_image, concat mask/latent, optional CLIP vision) plus masked S2V audio.
models
| File | Role |
|------|---------|
| wan2.2_is2v_high_noise_14B_fp16.safetensors | High noise FP16 |
| wan2.2_is2v_low_noise_14B_fp16.safetensors | Low noise FP16 |
| wan2.2_is2v_high_noise_14B_fp8_scaled.safetensors | High noise FP8 |
| wan2.2_is2v_low_noise_14B_fp8_scaled.safetensors | Low noise FP8 |
| wan2.2_is2v_high_noise_14B_int8_convrot.safetensors | High noise int8-convrot |
| wan2.2_is2v_low_noise_14B_int8_convrot.safetensors | Low noise int8-convrot |
Usage
1. Place the models in ComfyUI/models/diffusion_models/
2. Download and save the wav2vec2 audio encoder in ComfyUI/models/audio_encoders/
3. Download and Unzip ComfyUI-WanIS2V.zip into ComfyUI/custom_nodes/, then restart ComfyUI.
3. Search for the Wan IS2V Dual Speaker node or use one of the example workflows
LightX2V LoRA
- Wan2.2-I2V-A14B-4steps-lora-rank64-Seko-V1-high_noise
- Wan2.2-I2V-A14B-4steps-lora-rank64-Seko-V1-low_noise
Motion Enhancer
Node: Wan IS2V Dual Speaker
Inputs
| Input | Required | Description |
|-------|----------|-------------|
| audio_1 | no | Encoded mono audio for speaker 1 |
| mask_1 | if audio_1 | Painted mask on the input image. Painted over = lip-sync region for speaker 1. |
| audio_2 | no | Encoded mono audio for speaker 2 (dialog) |
| mask_2 | if audio_2 | Lip-sync region for speaker 2 |
| speaker_2_start_frame | no | When speaker 2 begins (default -1 = auto after speaker 1 ends) |
| mask_crossfade_frames | no | Soft blend between speaker masks (default 4, 0 = hard cut) |
| audio_inject_scale | no | Strength of audio injection inside the mask (default 1.0) |