Nodes/ComfyUI-WanVideoWrapper/(Down)load Wav2Vec Model
ComfyUI Node Runs on cloud

(Down)load Wav2Vec Model

The audio encoder that makes lip-sync possible

By kijai·Created about a year ago·Updated 2 months ago· 6,651
(Down)load Wav2Vec Model
    • wav2vec_model
    model
    base_precisionfp16
    load_devicemain_device

    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-base or facebook/wav2vec2-base-960h. The Facebook 960h model 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.

    CategoryWanVideoWrapper

    Inputs (3)

    NameTypeDefaultDescription
    modelCOMBO2 options: TencentGameMate/chinese-wav2vec2-base, facebook/wav2vec2-base-960h
    base_precisionCOMBOfp163 options: fp32, bf16, fp16
    load_deviceCOMBOmain_deviceInitial device to load the model to, NOT recommended with the larger models unless you have 48GB+ VRAM

    Outputs (1)

    NameTypeDescription
    wav2vec_modelWAV2VECMODEL