InfiniteTalk: Wan 2.1ベースの音声駆動リップシンク
Wan 2.1をベースにした音声駆動リップシンクモデル「InfiniteTalk」がComfyUI公式ワークフローとして公開された。静止画と音声ファイルを入力すると、音声に合わせて口が動く動画を生成できる。
InfiniteTalkとは
amao2001/ganloss-latent-spaceで公開されているComfyUIネイティブワークフロー。Comfy-Orgがrepackageしたモデルを使用する。
処理フロー:
- 静止画(顔画像)を入力
- 音声ファイル(wav等)を入力
- wav2vec2で音声を解析(口の動きのタイミング抽出)
- Wan 2.1 I2Vで動画生成(口パクアニメーション)
- 完成した動画を出力
「Infinite」は長時間の音声入力に対応できることを意味する。リアルタイム生成ではなく、オフラインのバッチ処理。
ワークフローの種類
2つのバリエーションが用意されている。
- single: 1人のキャラクター用
- multi: 複数人のキャラクター用(マスクで各キャラを指定)
multi版では、最初のフレームをマスクエディタで開いて各キャラクターの領域を塗り分ける。
必要なモデル
| ディレクトリ | モデル |
|---|---|
| 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 |
| model_patches | 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 |
モデルはHuggingFaceから入手可能。
- Kijai/WanVideo_comfy_fp8_scaled - diffusion_models
- Comfy-Org/Wan_2.1_ComfyUI_repackaged - text_encoders, model_patches
- Kijai/wav2vec2_safetensors - audio_encoders
- Kijai/WanVideo_comfy - vae, loras
lightx2vのdistill LoRAで推論を高速化している。
MOVAやVidu Q3との違い
音声と動画を扱うモデルは複数あるが、処理の方向が異なる。
| モデル | 入力 | 出力 | 用途 |
|---|---|---|---|
| InfiniteTalk | 静止画 + 音声 | 口パク動画 | 既存音声にリップシンク |
| MOVA | テキスト or 画像 | 映像 + 音声 | 映像と音声を同時生成 |
| Vidu Q3 | テキスト or 画像 | 映像 + 音声 | 映像と音声を同時生成 |
InfiniteTalk: 音声→動画(リップシンク特化) MOVA/Vidu Q3: プロンプト→映像+音声(同時生成)
InfiniteTalkは既に音声がある状態でキャラクターに喋らせたいケースに向いている。ナレーション、ボイスドラマ、吹き替え、VTuber的な口パク動画など。
MOVAやVidu Q3は映像と音声をゼロから生成するので、素材がない状態からクリップを作りたいときに使う。
所感
1月のi2vまとめで「セリフと口の動きの正確な同期」が動画生成AIの苦手分野と書いた。InfiniteTalkはこの問題に特化したアプローチで、音声解析を挟むことでリップシンク精度を上げている。
Wan 2.1ベースなのでローカル環境でも動かせるはず。ComfyUIの公式ワークフローとして整備されているのも導入しやすい。
実際の生成品質やVRAM要件は試してみないとわからないが、音声駆動の口パク生成をローカルでやりたい場合の第一候補になりそう。