Nodes/ComfyUI-WanVideoWrapper/Wav2vec2 Model Loader
ComfyUI Node Runs on cloud

Wav2vec2 Model Loader

Load the audio brain for Wan talking-head video

By kijai·Created about a year ago·Updated 2 months ago· 6,651
Wav2vec2 Model Loader
    • wav2vec_model
    model
    base_precisionfp16
    load_devicemain_device

    If you want a Wan video where the character's mouth and head actually move in time with an audio track - a talking head, a lip-synced clip, InfiniteTalk-style continuous speech - something has to translate the raw audio into a signal the video model can follow. That something is wav2vec2, Meta's speech representation model, and this node loads it. It's the audio front end for Wan's audio-driven modes (the S2V speech-to-video family, MultiTalk, InfiniteTalk). No wav2vec2, no lip movement.

    It's a loader, so it's not glamorous - but it's a required piece, and if you're staring at a talking-head workflow wondering what this node is doing there, that's the answer: it's turning sound into the features that drive the face.

    How it works

    wav2vec2 processes an audio waveform into a sequence of learned feature vectors - a per-timeslice representation of what the audio is doing. Wan's audio-driven samplers consume those features to decide mouth shapes, jaw motion, and head movement frame by frame. This node just loads the wav2vec2 weights at your chosen precision and device and exposes them as a WAV2VECMODEL for the rest of the pipeline. The actual audio-to-motion mapping happens later, in the sampler.

    The inputs and outputs that matter

    • model (enum) - which wav2vec2 model to load, populated from your local models folder. Empty dropdown = you haven't downloaded a wav2vec2 model yet, which is the usual reason this node errors out of the box.
    • base_precision (fp16 default, or bf16 / fp32) - load precision. fp16 is the standard, memory-light choice.
    • load_device (main_device default, or offload_device) - where the model lives. Keep it on main_device for speed; move to offload_device if you're scraping the bottom of your VRAM barrel.

    Output is wav2vec_model (WAV2VECMODEL) - feed it into the audio-driven Wan sampler / embeds stage that expects it.

    How to install it

    Comes with the WanVideoWrapper. ComfyUI Manager: search ComfyUI-WanVideoWrapper, install, restart. Manual:

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

    then restart. You also need a wav2vec2 model downloaded into your models folder so the dropdown has something to pick - it's a separate download, not bundled with base Wan. And of course you need one of the audio-driven Wan models (S2V, MultiTalk, or InfiniteTalk) for the features to feed into; wav2vec2 alone doesn't generate anything.

    Common issues & troubleshooting

    Dropdown is empty. No wav2vec2 model found. Download one into the correct models subfolder and refresh. This is the single most common snag.

    Loaded fine but the mouth doesn't move. wav2vec2 is only the audio front end. You still need an audio-driven Wan model and the sampler stage that maps features to motion. A loaded wav2vec2 with no S2V/MultiTalk/InfiniteTalk model behind it produces silence-in-motion - literally nothing to drive.

    Out of memory on a tight card. Set load_device to offload_device. wav2vec2 isn't huge, but on an 8–12GB card fighting a 14B Wan model, every bit of VRAM counts.

    CategoryWanVideoWrapper

    Inputs (3)

    NameTypeDefaultDescription
    modelCOMBOThese models are loaded from the 'ComfyUI/models/wav2vec2' -folder
    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