> ## Documentation Index
> Fetch the complete documentation index at: https://docs.comfy.org/llms.txt
> Use this file to discover all available pages before exploring further.

# ComfyUI Wan2.1 InfiniteTalk Workflow Example

> InfiniteTalk is an audio-driven full-body video dubbing model built on Wan2.1, enabling character lip-sync and body motion synchronization with any input audio.

**Wan2.1 InfiniteTalk** is an open-source audio-driven video generation model built on Wan2.1, developed by [MeiGen-AI](https://github.com/MeiGen-AI/InfiniteTalk). It enables you to generate full-body talking videos from a single reference image and an audio input. The character's mouth movements and body motions are automatically synchronized to match the provided audio.

**Key Features**:

* **Audio-Driven Lip Sync**: Generate natural mouth movements that match the input audio
* **Full-Body Motion**: Preserves identity, background, and camera movement while adding synchronized body motion
* **Dual Mode**: Supports both single-character and multi-character scenarios
* **ComfyUI Native**: Built-in `WanInfiniteTalkToVideo` node, no custom nodes required

**Related Links**:

* [InfiniteTalk GitHub Repository](https://github.com/MeiGen-AI/InfiniteTalk)
* [Wan2.1 Code Repository](https://github.com/Wan-Video/Wan2.1)
* [Wan2.1 Model Repository](https://huggingface.co/Wan-AI)

<Card title="Learn about Subgraph" icon="book-open" href="/interface/features/subgraph">
  This workflow uses Subgraph nodes for modular processing. Check out the Subgraph documentation to learn how to customize and extend the workflow.
</Card>

## InfiniteTalk image-to-video workflow

<CardGroup cols={2}>
  <Card title="Run in Comfy Cloud" icon="cloud" href="https://cloud.comfy.org/?template=video_wan2_1_infinitetalk&utm_source=docs&utm_medium=referral&utm_campaign=wan2-1-infinitetalk">
    Open in Comfy Cloud
  </Card>

  <Card title="Download Workflow" icon="download" href="https://github.com/Comfy-Org/workflow_templates/blob/main/templates/video_wan2_1_infinitetalk.json">
    Download JSON or search "InfiniteTalk" in Template Library
  </Card>
</CardGroup>

![Wan2.1 InfiniteTalk Workflow Preview](https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/templates/video_wan2_1_infinitetalk-1.webp)

<Tip>
  <Tabs>
    <Tab title="Local users">
      Make sure your ComfyUI is updated.

      * [Download ComfyUI](https://www.comfy.org/download)
      * [Update Guide](/installation/update_comfyui)

      Workflows in this guide can be found in the [Workflow Templates](/interface/features/template).
      If you can't find them in the template, your ComfyUI may be outdated.

      If nodes are missing when loading a workflow, possible reasons:

      1. You are not using the latest ComfyUI version (Nightly version)
      2. Some nodes failed to import at startup
    </Tab>

    <Tab title="Cloud users">
      * [Cloud](https://cloud.comfy.org) will update after ComfyUI stable release.

      So, if you find any core node missing in this document, it might be because the new core nodes have not yet been released in the latest stable version. Please wait for the next stable release.
    </Tab>
  </Tabs>
</Tip>

## Model Installation

The following models need to be downloaded and placed in the correct directories:

**diffusion\_models**

* [Wan2\_1-I2V-14B-480p\_fp8\_e4m3fn\_scaled\_KJ.safetensors](https://huggingface.co/Kijai/WanVideo_comfy_fp8_scaled/resolve/main/I2V/Wan2_1-I2V-14B-480p_fp8_e4m3fn_scaled_KJ.safetensors)

**text\_encoders**

* [umt5\_xxl\_fp8\_e4m3fn\_scaled.safetensors](https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors)

**model\_patches**

* [wan2.1\_infiniteTalk\_single\_fp16.safetensors](https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/model_patches/wan2.1_infiniteTalk_single_fp16.safetensors): For single-character scenarios
* [wan2.1\_infiniteTalk\_multi\_fp16.safetensors](https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/model_patches/wan2.1_infiniteTalk_multi_fp16.safetensors): For multi-character scenarios

**audio\_encoders**

* [wav2vec2-chinese-base\_fp16.safetensors](https://huggingface.co/Kijai/wav2vec2_safetensors/resolve/main/wav2vec2-chinese-base_fp16.safetensors)

**vae**

* [Wan2\_1\_VAE\_bf16.safetensors](https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Wan2_1_VAE_bf16.safetensors)

**loras**

* [lightx2v\_I2V\_14B\_480p\_cfg\_step\_distill\_rank64\_bf16.safetensors](https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Lightx2v/lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors)

### Model Storage Location

```
📂 ComfyUI/
├── 📂 models/
│   ├── 📂 diffusion_models/
│   │   └── Wan2_1-I2V-14B-480p_fp8_e4m3fn_scaled_KJ.safetensors
│   ├── 📂 text_encoders/
│   │   └── umt5_xxl_fp8_e4m3fn_scaled.safetensors
│   ├── 📂 model_patches/
│   │   ├── wan2.1_infiniteTalk_single_fp16.safetensors
│   │   └── wan2.1_infiniteTalk_multi_fp16.safetensors
│   ├── 📂 audio_encoders/
│   │   └── wav2vec2-chinese-base_fp16.safetensors
│   ├── 📂 vae/
│   │   └── Wan2_1_VAE_bf16.safetensors
│   └── 📂 loras/
│       └── lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors
```

### Sample Input Files

Download these sample input files and drag them into the corresponding nodes:

<CardGroup cols={2}>
  <Card title="Download Sample Image" icon="image" href="https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/input/two_character_talking.png">
    Character reference image
  </Card>

  <Card title="Download Speaker 1 Audio" icon="music" href="https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/input/audio_speaker1_woman.mp3">
    Audio track for character 1
  </Card>

  <Card title="Download Speaker 2 Audio" icon="music" href="https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/input/audio_speaker2_man.mp3">
    Audio track for character 2
  </Card>
</CardGroup>

## Workflow Steps

1. **Load the input image**: Drag the character reference image to the `Load Image` node. For multi-character scenarios, use the Mask Editor to draw masks for each character.
2. **Load audio tracks**: Connect audio files to the `Load Audio` nodes (one per character).
3. **Load diffusion model**: Ensure the `Load Diffusion Model` node is using `Wan2_1-I2V-14B-480p_fp8_e4m3fn_scaled_KJ.safetensors`.
4. **Load model patches**: Load the appropriate InfiniteTalk patch (`single` or `multi` variant) via the `ModelPatchLoader` node.
5. **Configure InfiniteTalk**: Adjust the `WanInfiniteTalkToVideo` node parameters, such as `length` (video length in frames), `motion_frame_count` (previous frames used as motion context), and `audio_scale`.
6. **Generate**: Run the workflow. The model will produce a full-body talking video synchronized with the input audio.

### Extending Video Length

Each **Video Extend** group extends the video by approximately 3.24 seconds (81 frames at 25 fps). If your audio is longer, you can:

1. Box-select the "Video Extend" group
2. Press `Ctrl-C` (copy), then `Ctrl-Shift-V` (paste with connections)
3. Connect the previous `InfiniteTalk (Base Generation)` node's `IMAGE` output to the new `WanInfiniteTalkToVideo` node's `previous_frames` input
4. Connect the `Batch Images` node's `IMAGE` output to the new `Batch Images` node's image input


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.