From 9ebc53ea154c91bc7342841029501d90b9048ca8 Mon Sep 17 00:00:00 2001 From: lin-bot23 Date: Sun, 11 Oct 2026 23:00:14 +0800 Subject: [PATCH] docs: add Wan2.1 InfiniteTalk tutorial (EN/ZH/JA/KO) - Complete the tutorial with zh/ja/ko translations so the i18n gate passes - Align the Video Extend steps with the workflow template's own instructions - Name the real WanInfiniteTalkToVideo parameters (length, motion_frame_count, audio_scale) - Register the tutorial in the Wan sidebar group for all four languages --- docs.json | 12 +- ja/tutorials/video/wan/wan-infinitetalk.mdx | 128 ++++++++++++++++++++ ko/tutorials/video/wan/wan-infinitetalk.mdx | 128 ++++++++++++++++++++ tutorials/video/wan/wan-infinitetalk.mdx | 122 +++++++++++++++++++ zh/tutorials/video/wan/wan-infinitetalk.mdx | 128 ++++++++++++++++++++ 5 files changed, 514 insertions(+), 4 deletions(-) create mode 100644 ja/tutorials/video/wan/wan-infinitetalk.mdx create mode 100644 ko/tutorials/video/wan/wan-infinitetalk.mdx create mode 100644 tutorials/video/wan/wan-infinitetalk.mdx create mode 100644 zh/tutorials/video/wan/wan-infinitetalk.mdx diff --git a/docs.json b/docs.json index 0cfa57a48..4112163fb 100644 --- a/docs.json +++ b/docs.json @@ -364,7 +364,8 @@ "tutorials/video/wan/fun-control", "tutorials/video/wan/fun-camera", "tutorials/video/wan/fun-inp", - "tutorials/video/wan/wan-flf" + "tutorials/video/wan/wan-flf", + "tutorials/video/wan/wan-infinitetalk" ] } ] @@ -4209,7 +4210,8 @@ "zh/tutorials/video/wan/fun-control", "zh/tutorials/video/wan/fun-camera", "zh/tutorials/video/wan/fun-inp", - "zh/tutorials/video/wan/wan-flf" + "zh/tutorials/video/wan/wan-flf", + "zh/tutorials/video/wan/wan-infinitetalk" ] } ] @@ -8080,7 +8082,8 @@ "ja/tutorials/video/wan/fun-control", "ja/tutorials/video/wan/fun-camera", "ja/tutorials/video/wan/fun-inp", - "ja/tutorials/video/wan/wan-flf" + "ja/tutorials/video/wan/wan-flf", + "ja/tutorials/video/wan/wan-infinitetalk" ] } ] @@ -11964,7 +11967,8 @@ "ko/tutorials/video/wan/fun-control", "ko/tutorials/video/wan/fun-camera", "ko/tutorials/video/wan/fun-inp", - "ko/tutorials/video/wan/wan-flf" + "ko/tutorials/video/wan/wan-flf", + "ko/tutorials/video/wan/wan-infinitetalk" ] } ] diff --git a/ja/tutorials/video/wan/wan-infinitetalk.mdx b/ja/tutorials/video/wan/wan-infinitetalk.mdx new file mode 100644 index 000000000..4a047e22f --- /dev/null +++ b/ja/tutorials/video/wan/wan-infinitetalk.mdx @@ -0,0 +1,128 @@ +--- +title: "ComfyUI Wan2.1 InfiniteTalk ワークフロー例" +description: "InfiniteTalk は Wan2.1 をベースに構築されたオーディオ駆動型の全身ビデオ吹き替えモデルで、任意の入力オーディオに合わせてキャラクターのリップシンクと身体の動きを同期できます。" +sidebarTitle: "InfiniteTalk" +translationSourceHash: e9e0002c +translationFrom: tutorials/video/wan/wan-infinitetalk.mdx +translationBlockHashes: + "_intro": ccf1ffaa + "InfiniteTalk image-to-video workflow": 778431d5 + "Model Installation": 948f4408 + "Workflow Steps": 21ba512d +--- +import UpdateReminder from "/snippets/ja/tutorials/update-reminder.mdx" + +**Wan2.1 InfiniteTalk** は、[MeiGen-AI](https://github.com/MeiGen-AI/InfiniteTalk) が開発した、Wan2.1 をベースに構築されたオープンソースのオーディオ駆動型ビデオ生成モデルです。1枚の参照画像とオーディオ入力から、全身トーキングビデオを生成できます。キャラクターの口の動きと体の動きは、指定したオーディオに合わせて自動的に同期されます。 + +**主な機能**: +- **オーディオ駆動のリップシンク**: 入力オーディオに合った自然な口の動きを生成 +- **全身の動き**: 同一性、背景、カメラワークを保ちながら、同期した体の動きを追加 +- **デュアルモード**: 単一キャラクターと複数キャラクターの両方のシナリオに対応 +- **ComfyUI ネイティブ**: 組み込みの `WanInfiniteTalkToVideo` ノードがあり、カスタムノードは不要 + +**関連リンク**: +- [InfiniteTalk GitHub リポジトリ](https://github.com/MeiGen-AI/InfiniteTalk) +- [Wan2.1 コードリポジトリ](https://github.com/Wan-Video/Wan2.1) +- [Wan2.1 モデルリポジトリ](https://huggingface.co/Wan-AI) + + + このワークフローでは、モジュール化処理のために Subgraph ノードを使用します。カスタマイズや拡張の方法については、Subgraph のドキュメントを参照してください。 + + +## InfiniteTalk 画像から動画へのワークフロー + + + + Comfy Cloud で開く + + + JSON をダウンロードするか、テンプレートライブラリで「InfiniteTalk」を検索してください + + + +![Wan2.1 InfiniteTalk ワークフローのプレビュー](https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/templates/video_wan2_1_infinitetalk-1.webp) + + + +## モデルのインストール + +以下のモデルをダウンロードし、正しいディレクトリに配置する必要があります。 + +**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): 単一キャラクターのシナリオ向け +- [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): 複数キャラクターのシナリオ向け + +**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) + +### モデルの保存場所 + +``` +📂 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 +``` + +### サンプル入力ファイル + +以下のサンプル入力ファイルをダウンロードし、対応するノードにドラッグしてください: + + + + キャラクターの参照画像 + + + キャラクター1のオーディオトラック + + + キャラクター2のオーディオトラック + + + +## ワークフローの手順 + +1. **入力画像を読み込む**: キャラクターの参照画像を `Load Image` ノードにドラッグします。複数キャラクターのシナリオでは、マスクエディターを使って各キャラクターのマスクを描画します。 +2. **オーディオトラックを読み込む**: オーディオファイルを `Load Audio` ノードに接続します(キャラクターごとに1つ)。 +3. **拡散モデルを読み込む**: `Load Diffusion Model` ノードが `Wan2_1-I2V-14B-480p_fp8_e4m3fn_scaled_KJ.safetensors` を使用していることを確認します。 +4. **モデルパッチを読み込む**: `ModelPatchLoader` ノードを介して、適切な InfiniteTalk パッチ(`single` または `multi` バリアント)を読み込みます。 +5. **InfiniteTalk を設定する**: `WanInfiniteTalkToVideo` ノードのパラメータを調整します。例えば、`length`(フレーム単位のビデオ長)、`motion_frame_count`(モーションコンテキストとして使用する過去のフレーム)、`audio_scale` などです。 +6. **生成**: ワークフローを実行します。モデルは、入力オーディオに同期した全身トーキングビデオを生成します。 + +### ビデオ長の延長 + +各 **Video Extend** グループは、ビデオを約 3.24 秒(25 fps で 81 フレーム)延長します。オーディオがそれより長い場合は、次の操作を行います。 + +1. 「Video Extend」グループをボックス選択します +2. `Ctrl-C`(コピー)を押し、続けて `Ctrl-Shift-V`(接続を保ったまま貼り付け)を押します +3. 前の `InfiniteTalk (Base Generation)` ノードの `IMAGE` 出力を、新しい `WanInfiniteTalkToVideo` ノードの `previous_frames` 入力に接続します +4. `Batch Images` ノードの `IMAGE` 出力を、新しい `Batch Images` ノードの画像入力に接続します diff --git a/ko/tutorials/video/wan/wan-infinitetalk.mdx b/ko/tutorials/video/wan/wan-infinitetalk.mdx new file mode 100644 index 000000000..a7404ddfd --- /dev/null +++ b/ko/tutorials/video/wan/wan-infinitetalk.mdx @@ -0,0 +1,128 @@ +--- +title: "ComfyUI Wan2.1 InfiniteTalk 워크플로 예제" +description: "InfiniteTalk은 Wan2.1을 기반으로 구축된 오디오 기반 전신 비디오 더빙 모델로, 모든 입력 오디오에 맞춰 캐릭터의 립싱크와 신체 동작을 동기화할 수 있습니다." +sidebarTitle: "InfiniteTalk" +translationSourceHash: e9e0002c +translationFrom: tutorials/video/wan/wan-infinitetalk.mdx +translationBlockHashes: + "_intro": ccf1ffaa + "InfiniteTalk image-to-video workflow": 778431d5 + "Model Installation": 948f4408 + "Workflow Steps": 21ba512d +--- +import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx" + +**Wan2.1 InfiniteTalk**은 [MeiGen-AI](https://github.com/MeiGen-AI/InfiniteTalk)가 개발한, Wan2.1을 기반으로 하는 오픈 소스 오디오 기반 비디오 생성 모델입니다. 단일 참조 이미지와 오디오 입력만으로 전신 토킹 비디오를 생성할 수 있습니다. 캐릭터의 입 움직임과 신체 동작은 제공된 오디오에 맞춰 자동으로 동기화됩니다. + +**주요 기능**: +- **오디오 기반 립 싱크**: 입력 오디오에 맞는 자연스러운 입 움직임 생성 +- **전신 모션**: 정체성, 배경, 카메라 움직임을 유지하면서 동기화된 신체 모션 추가 +- **듀얼 모드**: 단일 캐릭터와 다중 캐릭터 시나리오 모두 지원 +- **ComfyUI 네이티브**: `WanInfiniteTalkToVideo` 노드가 내장되어 있어 커스텀 노드가 필요하지 않습니다 + +**관련 링크**: +- [InfiniteTalk GitHub 저장소](https://github.com/MeiGen-AI/InfiniteTalk) +- [Wan2.1 코드 저장소](https://github.com/Wan-Video/Wan2.1) +- [Wan2.1 모델 저장소](https://huggingface.co/Wan-AI) + + + 이 워크플로는 모듈식 처리를 위해 서브그래프 노드를 사용합니다. 워크플로를 사용자 정의하고 확장하는 방법은 서브그래프 문서를 확인하세요. + + +## InfiniteTalk 이미지 기반 비디오 생성 워크플로 + + + + Comfy Cloud에서 열기 + + + JSON을 다운로드하거나 템플릿 라이브러리에서 "InfiniteTalk" 검색 + + + +![Wan2.1 InfiniteTalk 워크플로 미리보기](https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/templates/video_wan2_1_infinitetalk-1.webp) + + + +## 모델 설치 + +다음 모델을 다운로드하여 올바른 디렉토리에 배치해야 합니다: + +**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): 단일 캐릭터 시나리오용 +- [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): 다중 캐릭터 시나리오용 + +**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) + +### 모델 저장 위치 + +``` +📂 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 +``` + +### 샘플 입력 파일 + +다음 샘플 입력 파일을 다운로드한 뒤 해당 노드로 드래그하세요: + + + + 캐릭터 참조 이미지 + + + 캐릭터 1용 오디오 트랙 + + + 캐릭터 2용 오디오 트랙 + + + +## 워크플로 단계 + +1. **입력 이미지 로드**: 캐릭터 참조 이미지를 `Load Image` 노드로 드래그합니다. 다중 캐릭터 시나리오에서는 마스크 편집기를 사용해 각 캐릭터의 마스크를 그립니다. +2. **오디오 트랙 로드**: 오디오 파일을 `Load Audio` 노드에 연결합니다(캐릭터당 하나). +3. **확산 모델 로드**: `Load Diffusion Model` 노드가 `Wan2_1-I2V-14B-480p_fp8_e4m3fn_scaled_KJ.safetensors`를 사용하고 있는지 확인합니다. +4. **모델 패치 로드**: `ModelPatchLoader` 노드를 통해 적절한 InfiniteTalk 패치(`single` 또는 `multi` 변형)를 로드합니다. +5. **InfiniteTalk 구성**: `length`(프레임 단위의 비디오 길이), `motion_frame_count`(모션 컨텍스트로 사용되는 이전 프레임), `audio_scale` 등 `WanInfiniteTalkToVideo` 노드 파라미터를 조정합니다. +6. **생성**: 워크플로를 실행합니다. 모델이 입력 오디오와 동기화된 전신 토킹 비디오를 생성합니다. + +### 비디오 길이 연장 + +각 **Video Extend** 그룹은 비디오를 약 3.24초(25 fps 기준 81프레임) 연장합니다. 오디오가 더 길면 다음을 수행할 수 있습니다: + +1. "Video Extend" 그룹을 상자 선택합니다 +2. `Ctrl-C`(복사)를 누른 다음 `Ctrl-Shift-V`(연결과 함께 붙여넣기)를 누릅니다 +3. 이전 `InfiniteTalk (Base Generation)` 노드의 `IMAGE` 출력을 새 `WanInfiniteTalkToVideo` 노드의 `previous_frames` 입력에 연결합니다 +4. `Batch Images` 노드의 `IMAGE` 출력을 새 `Batch Images` 노드의 이미지 입력에 연결합니다 diff --git a/tutorials/video/wan/wan-infinitetalk.mdx b/tutorials/video/wan/wan-infinitetalk.mdx new file mode 100644 index 000000000..e3346b484 --- /dev/null +++ b/tutorials/video/wan/wan-infinitetalk.mdx @@ -0,0 +1,122 @@ +--- +title: "ComfyUI Wan2.1 InfiniteTalk Workflow Example" +description: "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." +sidebarTitle: "InfiniteTalk" +--- + +import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' + +**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) + + + This workflow uses Subgraph nodes for modular processing. Check out the Subgraph documentation to learn how to customize and extend the workflow. + + +## InfiniteTalk image-to-video workflow + + + + Open in Comfy Cloud + + + Download JSON or search "InfiniteTalk" in Template Library + + + +![Wan2.1 InfiniteTalk Workflow Preview](https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/templates/video_wan2_1_infinitetalk-1.webp) + + + +## 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: + + + + Character reference image + + + Audio track for character 1 + + + Audio track for character 2 + + + +## 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 diff --git a/zh/tutorials/video/wan/wan-infinitetalk.mdx b/zh/tutorials/video/wan/wan-infinitetalk.mdx new file mode 100644 index 000000000..e1e538852 --- /dev/null +++ b/zh/tutorials/video/wan/wan-infinitetalk.mdx @@ -0,0 +1,128 @@ +--- +title: "ComfyUI Wan2.1 InfiniteTalk 工作流示例" +description: "InfiniteTalk 是基于 Wan2.1 构建的音频驱动全身视频配音模型,可实现角色唇形与身体动作同任意输入音频的同步。" +sidebarTitle: "InfiniteTalk" +translationSourceHash: e9e0002c +translationFrom: tutorials/video/wan/wan-infinitetalk.mdx +translationBlockHashes: + "_intro": ccf1ffaa + "InfiniteTalk image-to-video workflow": 778431d5 + "Model Installation": 948f4408 + "Workflow Steps": 21ba512d +--- +import UpdateReminder from "/snippets/zh/tutorials/update-reminder.mdx" + +**Wan2.1 InfiniteTalk** 是一个基于 Wan2.1 构建的开源音频驱动视频生成模型,由 [MeiGen-AI](https://github.com/MeiGen-AI/InfiniteTalk) 开发。它支持根据单张参考图像和音频输入生成全身说话视频。角色的口型动作和身体动作会自动同步,以匹配所提供的音频。 + +**主要功能**: +- **音频驱动口型同步**:生成与输入音频相匹配的自然口型动作 +- **全身动作**:在保留身份、背景和相机运动的同时,添加同步的身体动作 +- **双模式**:同时支持单角色和多角色场景 +- **ComfyUI 原生支持**:内置 `WanInfiniteTalkToVideo` 节点,无需自定义节点 + +**相关链接**: +- [InfiniteTalk GitHub 仓库](https://github.com/MeiGen-AI/InfiniteTalk) +- [Wan2.1 代码仓库](https://github.com/Wan-Video/Wan2.1) +- [Wan2.1 模型仓库](https://huggingface.co/Wan-AI) + + + 此工作流使用子图节点进行模块化处理。请查看子图文档,了解如何自定义和扩展该工作流。 + + +## InfiniteTalk 图生视频工作流 + + + + 在 Comfy Cloud 中打开 + + + 下载 JSON,或在模板库中搜索 "InfiniteTalk" + + + +![Wan2.1 InfiniteTalk 工作流预览](https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/templates/video_wan2_1_infinitetalk-1.webp) + + + +## 模型安装 + +需要下载以下模型并将其放入正确的目录: + +**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):适用于单角色场景 +- [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):适用于多角色场景 + +**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) + +### 模型存放位置 + +``` +📂 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 +``` + +### 示例输入文件 + +下载这些示例输入文件,并将它们拖入对应的节点: + + + + 角色参考图像 + + + 角色 1 的音频轨道 + + + 角色 2 的音频轨道 + + + +## 工作流步骤 + +1. **加载输入图像**:将角色参考图像拖拽到 `Load Image` 节点。对于多角色场景,使用遮罩编辑器为每个角色绘制遮罩。 +2. **加载音频轨道**:将音频文件连接到 `Load Audio` 节点(每个角色一个)。 +3. **加载扩散模型**:确保 `Load Diffusion Model` 节点使用的是 `Wan2_1-I2V-14B-480p_fp8_e4m3fn_scaled_KJ.safetensors`。 +4. **加载模型补丁**:通过 `ModelPatchLoader` 节点加载相应的 InfiniteTalk 补丁(`single` 或 `multi` 变体)。 +5. **配置 InfiniteTalk**:调整 `WanInfiniteTalkToVideo` 节点的参数,例如 `length`(视频长度,以帧为单位)、`motion_frame_count`(用作运动上下文的之前帧数)以及 `audio_scale`。 +6. **生成**:运行工作流。模型将生成与输入音频同步的全身说话视频。 + +### 扩展视频长度 + +每个 **Video Extend** 组会将视频延长约 3.24 秒(25 fps 下的 81 帧)。如果你的音频更长,可以: + +1. 框选 "Video Extend" 组 +2. 按 `Ctrl-C`(复制),然后按 `Ctrl-Shift-V`(带连线粘贴) +3. 将上一个 `InfiniteTalk (Base Generation)` 节点的 `IMAGE` 输出连接到新的 `WanInfiniteTalkToVideo` 节点的 `previous_frames` 输入 +4. 将 `Batch Images` 节点的 `IMAGE` 输出连接到新的 `Batch Images` 节点的图像输入