diff --git a/docs.json b/docs.json index 86a465b66..cdaca6a06 100644 --- a/docs.json +++ b/docs.json @@ -266,7 +266,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" ] } ] @@ -2449,7 +2450,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" ] } ] @@ -4637,7 +4639,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" ] } ] @@ -6854,4 +6857,4 @@ "destination": "/zh/:slug*" } ] -} \ No newline at end of file +} diff --git a/ja/tutorials/video/wan/wan-infinitetalk.mdx b/ja/tutorials/video/wan/wan-infinitetalk.mdx new file mode 100644 index 000000000..ef9919add --- /dev/null +++ b/ja/tutorials/video/wan/wan-infinitetalk.mdx @@ -0,0 +1,122 @@ +--- +title: "ComfyUI Wan2.1 InfiniteTalk ワークフロー例" +description: "InfiniteTalk は Wan2.1 をベースとした音声駆動型フルボディ動画ダビングモデルです。入力音声に合わせてキャラクターのリップシンクと身体動作を自動的に同期します。" +sidebarTitle: "InfiniteTalk" +--- + +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' + +**Wan2.1 InfiniteTalk** は、Comfy Org と Wan コミュニティの協力により開発された、Wan2.1 ベースのオープンソース音声駆動型動画生成モデルです。1枚の参照画像と音声入力から、全身が話す動画を生成できます——キャラクターの口の動きや身体動作が、入力された音声に自動的に同期します。 + +**主な特徴**: +- **音声駆動リップシンク** — 入力音声に合わせた自然な口の動きを生成 +- **フルボディモーション** — 元のアイデンティティ、背景、カメラの動きを保持しながら同期した身体動作を追加 +- **デュアルモード** — 単一キャラクターと複数キャラクターの両方に対応 +- **ComfyUI ネイティブ** — `WanInfiniteTalkToVideo` ノードが組み込まれており、カスタムノードは不要 + +**関連リンク**: +- [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` ノードにドラッグします。複数キャラクターの場合は、Mask Editor を使用して各キャラクターのマスクを作成します。 +2. **音声トラックを読み込む** — 音声ファイルを `Load Audio` ノードに接続します(キャラクターごとに1つ)。 +3. **拡散モデルを読み込む** — `Load Diffusion Model` ノードが `Wan2_1-I2V-14B-480p_fp8_e4m3fn_scaled_KJ.safetensors` を使用していることを確認します。 +4. **モデルパッチを読み込む** — `ModelPatchLoader` ノードで適切な InfiniteTalk パッチ(単一または複数キャラクター用)を読み込みます。 +5. **InfiniteTalk を設定する** — `WanInfiniteTalkToVideo` ノードのパラメータ(動画の長さ、動作の大きさなど)を調整します。 +6. **生成する** — ワークフローを実行します。モデルは入力音声に同期した全身話し動画を生成します。 + +### 動画の長さを延長する + +各 **Video Extend** グループは、動画を約 3.24 秒(25fps で 81 フレーム)延長します。音声が長い場合は、以下の手順で対応できます: + +1. "Video Extend" グループを範囲選択します +2. `Ctrl-C`(コピー)、次に `Ctrl-Shift-V`(接続ごとペースト)を押します +3. `Batch Images` ノードの `IMAGE` 出力を新しい `WanInfiniteTalkToVideo` ノードの `previous_frames` に接続します +4. `Batch Images` ノードの `IMAGE` 出力を新しい `Batch Images` ノードの `images` に接続します +5. 前のグループの `WanInfiniteTalkToVideo` 出力と新しいグループの `VAEDecode` 入力の間の接続を調整します diff --git a/tutorials/video/wan/wan-infinitetalk.mdx b/tutorials/video/wan/wan-infinitetalk.mdx new file mode 100644 index 000000000..02efc17ba --- /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 Comfy Org in partnership with the Wan community. 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**: +- [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 (video length, motion amount, etc.). +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 `Batch Images` node's `IMAGE` output to the new `WanInfiniteTalkToVideo` node's `previous_frames` +4. Connect the `Batch Images` node's `IMAGE` output to the new `Batch Images` node's `images` +5. Adjust the connection between the previous group's `WanInfiniteTalkToVideo` output and the new group's `VAEDecode` 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..78744bac7 --- /dev/null +++ b/zh/tutorials/video/wan/wan-infinitetalk.mdx @@ -0,0 +1,122 @@ +--- +title: "ComfyUI Wan2.1 InfiniteTalk 工作流示例" +description: "InfiniteTalk 是基于 Wan2.1 的音频驱动全身视频配音模型,可根据输入音频自动同步角色口型和身体动作。" +sidebarTitle: "InfiniteTalk" +--- + +import UpdateReminder from '/snippets/zh/tutorials/update-reminder.mdx' + +**Wan2.1 InfiniteTalk** 是 Comfy Org 与 Wan 社区合作开发的开源音频驱动视频生成模型,基于 Wan2.1 架构。只需一张参考图片和一段音频,即可生成全身说话的同步视频——角色的口型动作和身体运动会自动与提供的音频匹配。 + +**主要特性**: +- **音频驱动口型同步** — 自动生成与输入音频匹配的自然口型动作 +- **全身动作** — 保留原始身份、背景和镜头运动,同时添加同步的身体动作 +- **双模式支持** — 支持单角色和多角色场景 +- **ComfyUI 原生支持** — 内置 `WanInfiniteTalkToVideo` 节点,无需自定义节点 + +**相关链接**: +- [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` 节点。多角色场景下,使用 Mask Editor 为每个角色绘制遮罩。 +2. **加载音频轨道** — 将音频文件连接到 `Load Audio` 节点(每个角色一个)。 +3. **加载扩散模型** — 确保 `Load Diffusion Model` 节点使用 `Wan2_1-I2V-14B-480p_fp8_e4m3fn_scaled_KJ.safetensors`。 +4. **加载模型补丁** — 通过 `ModelPatchLoader` 节点加载对应的 InfiniteTalk 补丁(单角色或多角色版本)。 +5. **配置 InfiniteTalk** — 调整 `WanInfiniteTalkToVideo` 节点的参数(视频长度、动作幅度等)。 +6. **生成** — 运行工作流。模型将生成与输入音频同步的全身说话视频。 + +### 延长视频长度 + +每个 **Video Extend** 组可将视频延长约 3.24 秒(25fps 下 81 帧)。如果音频较长,可以: + +1. 框选 "Video Extend" 组 +2. 按 `Ctrl-C`(复制),然后按 `Ctrl-Shift-V`(带连接粘贴) +3. 将 `Batch Images` 节点的 `IMAGE` 输出连接到新 `WanInfiniteTalkToVideo` 节点的 `previous_frames` +4. 将 `Batch Images` 节点的 `IMAGE` 输出连接到新 `Batch Images` 节点的 `images` +5. 调整前一组 `WanInfiniteTalkToVideo` 输出与新组 `VAEDecode` 输入之间的连接