(Down)load Wav2Vec Model
The audio encoder that makes lip-sync possible
- wav2vec_model
Talking-head video needs to understand the audio before it can sync a mouth to it, and Wav2Vec is how that happens. This node downloads and loads a Wav2Vec2 model - Meta's self-supervised speech encoder - which turns a voice clip into the feature representation that MultiTalk/InfiniteTalk uses to drive facial motion. Without it, the talking-head pipeline has no idea what the audio is doing.
It's a small, single-purpose loader in the audio-avatar cluster. On its own it does nothing visible; it's the front end that feeds the lip-sync model.
How it works
Wav2Vec2 processes raw audio into a sequence of learned features that capture the phonetic content of speech over time. MultiTalk/InfiniteTalk consumes those features and generates matching mouth shapes and facial movement frame by frame. This node's "download and load" convenience means it fetches the chosen model from Hugging Face the first time and caches it after. It's the audio equivalent of a text encoder: the thing that converts your input modality into something the diffusion model can be conditioned on.
The inputs and outputs that matter
model- pick one of two:TencentGameMate/chinese-wav2vec2-baseorfacebook/wav2vec2-base-960h. The Facebook960hmodel is the English one (trained on 960 hours of English speech); the TencentGameMate one is tuned for Chinese. Match it to your audio's language for the best sync.base_precision(default fp16) - fp16 is fine and light. Little reason to change it for an audio encoder.load_device(default main_device) - where it loads. It's small, so keeping it on the GPU is usually fine.
Output is a single WAV2VECMODEL, which feeds the audio side of the MultiTalk/InfiniteTalk generation.
How to install it
Ships 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. The Wav2Vec2 weights are auto-downloaded from Hugging Face on first use, so the first run pauses to fetch them.
Common issues & troubleshooting
First run stalls. It's pulling the model from Hugging Face. Normal on first use; watch the console. If it errors, it's typically a network/HF-reachability problem rather than the node.
Lip-sync is poor. First suspect: language mismatch. If your audio is English, use facebook/wav2vec2-base-960h; for Chinese, the TencentGameMate model. A mismatched encoder gives the talking-head model muddy phonetic features and the mouth shapes suffer. Also make sure your audio is clean - background noise and music degrade the features.
It loads but nothing syncs. This is only the audio encoder. You also need the MultiTalk/InfiniteTalk model attached to your Wan base and the WanVideoImageToVideoMultiTalk node running the generation. The WAV2VECMODEL has to actually reach the talking-head path.
Wrong sample rate. Wav2Vec2 expects 16kHz audio. If your clip is at a different rate and the sync is off, resample to 16kHz before feeding it in.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | 2 options: TencentGameMate/chinese-wav2vec2-base, facebook/wav2vec2-base-960h | |
| base_precision | COMBO | fp16 | 3 options: fp32, bf16, fp16 |
| load_device | COMBO | main_device | Initial device to load the model to, NOT recommended with the larger models unless you have 48GB+ VRAM |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| wav2vec_model | WAV2VECMODEL | — |