始点と終点を繋ぐ
魔法の動画生成術
🎥 今回の参考動画はこちら ▼
1. Wan 2.1 と今回のワークフローの概要
AIアーキテクトのOKIHIROです。今回は、動画生成AIの新たな可能性を切り拓く「Wan 2.1」を用いた、非常に実用的なComfyUIワークフローをご紹介します🚀
通常、動画生成(Text-to-Video)はプロンプトだけで動きを作りますが、思い通りの結果を得るのは難しいものです。しかし、今回紹介する手法は違います。
「開始フレーム(Start Frame)」と「終了フレーム(End Frame)」の画像をあらかじめ用意し、その間をAIに補完させるというアプローチです。これにより、動画の始まりと終わりの構図を完全にコントロールできます。
さらに、このワークフローではControlNet(DWPoseやDepth)を併用することで、人物のポーズや動きのタイミングまで精密に制御することが可能です。単なる補完ではなく、演出意図に沿った動画制作が可能になります💡
2. 必要な準備(モデル・カスタムノード)
このワークフローを再現するために必要な環境を整えましょう。PCスペックとしては、VRAM 12GB以上のNVIDIA製GPUを推奨します。
必須カスタムノード
ComfyUI Managerを使って、以下のノード群をインストールしてください。
ComfyUI-WanVideo-Wrapper(by Kijai): WanモデルをComfyUIで扱うための主要ノードです。ComfyUI_Controlnet_Aux: DWPoseやDepthなどのプリプロセッサを使用するために必要です。ComfyUI-VideoHelperSuite: 動画の読み込みと保存に使用します。ComfyUI-KJNodes: 画像サイズ取得などのユーティリティノードです。
モデルのダウンロード
Hugging Faceから以下のモデルをダウンロードし、ComfyUI/models/ 以下の適切なフォルダに配置してください。
- Wan 2.1 Model:
Wan-AI/Wan2.1-T2V-14B(または軽量な1.3B版)。models/diffusion_modelsフォルダへ。 - VAE: Wan 2.1専用のVAE。
models/vaeフォルダへ。 - Clip (T5):
umt5_xxl_fp16.safetensorsなど。models/text_encodersフォルダへ。
3. ComfyUIワークフロー徹底解説
では、具体的なノードの組み方を解説します。このワークフローの核心は「マスクによる生成範囲の制御」と「ControlNetによる動きのガイド」です⚙️
ステップ1: 開始・終了画像の準備
まず、Load Image ノードを2つ用意し、それぞれに開始フレーム用と終了フレーム用の画像を読み込ませます。
動画内では、これらを WanVideo VACE Start To End Frame というラッパーノード(または類似のカスタムノード構成)に入力しています。この処理のポイントは、「動画の総フレーム数のうち、最初(0フレーム目)と最後(Nフレーム目)だけ画像を固定し、中間をマスクする」ことです。
ステップ2: ControlNetによるモーションガイド
単に間を繋ぐだけでは動きが不安定になるため、ガイド用の動画を使用します。
Load Video ノードで、動きの参考にしたい動画(ポーズガイド)を読み込みます。これを DWPose Estimator や Depth Anything V2 に通し、各フレームのポーズ情報や深度情報を抽出します。
抽出した情報は、ControlNetApply ノード(Wan対応のもの)を経由して、生成プロセスに「動きの指示」として渡します。これにより、「見た目は開始・終了画像に従い、動きはガイド動画に従う」という制御が可能になります✅
ステップ3: WanVideoToVideo ノードへの入力
準備したデータを WanVideoToVideo ノード(またはWrapperノード)に入力します。
positive/negative: プロンプトを入力。vae: Wan専用VAEを接続。control_video: 処理済みのポーズ/深度画像を接続。control_masks: ステップ1で作成した「中間部分が生成対象(白)、両端が固定(黒)」となるマスク情報を接続します。reference_image: 開始フレームの画像をリファレンスとして入力することで、一貫性を高めます。
この構成により、AIは「最初と最後は元の画像のまま維持し、その間のコマだけを、ControlNetの動きに合わせて生成する」というタスクを実行します。
4. Any Switchノード使用時の注意点
動画の後半で重要なトラブルシューティングが紹介されています。Any Switch ノードを使って処理を分岐させる際のエラーについてです。
Trim Latent などの処理を行う際、Any Switch ノードを経由すると、データの型やサイズ(Kernel Size)の不一致により VAE Decode 時にエラーが発生することがあります。
解決策:
もし同様のエラーが出た場合は、横着せずに Any Switch をバイパスし、必要なLatentデータを手動で直接接続し直してください。特に動画生成のような重い処理では、動的なスイッチングノードが予期せぬ挙動をすることがあります。
5. まとめ
Wan 2.1とComfyUIを組み合わせることで、動画生成のコントロール性は格段に向上します。
- 開始・終了フレームを指定して、破綻のないトランジションを作る。
- ControlNetで動きだけを借りてくる。
- Depth情報を使って、立体感を維持したまま変身させる。
これらは以前は高度な編集ソフトでも難しかった表現ですが、今やPC1台で実現可能です。ぜひこのワークフローを試して、あなたのクリエイティブの幅を広げてみてくださいね🚀
