【動画生成AI】Wan2.1の導入方法 ComfyUI用ワークフロー配布あり【WAN2.1】

FramePackがローカル環境で動かす動画生成AIのスタンダードとなるかと思われましたが、FramePackは1フレーム推論が主流の使い方となり、動画生成としてはあまり使われていない印象です。

やはり数種類のモデルが出ているWan2.1の方が、動画を作るのには適しているようです。

なので今回は、私の作成したワークフローを用いてWan2.1をComfyUIで動かすまでの導入方法を紹介していきます。

注意点ですが、今回紹介する方法はI2Vのやり方となります。

Wan2.1用のLoRA学習記事を書きました。LoRA学習もやってみたいと言う方は以下のリンクからどうぞ。
【動画生成AI】Wan2.1のLoRAの学習方法【Wan2.1】

(余談) EasyWanVideoを導入する

余談ですが、簡単にWan2.1を動かす環境を整える事の出来るリポジトリ「EasyWanVideo」があります。多くの方はこちらを使用してWan2.1を使用しているかと思います。

ただ、こちらを導入するとComfyUIが新しく追加され、必要のないLoRAファイルなど色々なファイルが追加されてしまいストレージが圧迫されてしまいます。

なので、今回はこちらのリポジトリを使用しないやり方でWan2.1の環境を構築していきます。

必要なカスタムノード

まず、Wan2.1をComfyUIで動かすために必要なカスタムノードを紹介していきます。

ComfyUI-VideoHelperSuite
ComfyUI-WanVideoWrapper
ComfyUI-KJNodes

この3つのカスタムノードは必須ですので、必ず導入してください。

次に紹介するカスタムノードは無くてもWan2.1は動きますが、この記事で配布するワークフローを使うのに必要なカスタムノードなので、合わせて導入してください。
配布したワークフローも元に、最低限のワークフローに戻すという方は後で削除しても大丈夫です。

ComfyUI-Custom-Scripts
rgthree-comfy
ComfyUI-Impact-Pack
ComfyUI-Impact-Subpack

以上の4つをインストールしてください。

もし他に足りないカスタムノードがあった場合は適宜インストールしてください。

 

スポンサーリンク

必要なモデルなど

次に、動画を生成する為に必要なモデルなどをダウンロードします。

以下のファイルを「ComfyUI/models/diffusion_models」フォルダへ保存します。2種類ありますが、違いは高解像度の動画の生成に対応しているかどうかです。720pの付いている方は高い解像度の生成に対応しています。
Wan2_1-I2V-14B-720P_fp8_e4m3fn.safetensors
Wan2_1-I2V-14B-480P_fp8_e4m3fn.safetensors

次にClipモデルのダウンロードです。以下のファイルを「ComfyUI/models/clip」フォルダへ保存します。
open-clip-xlm-roberta-large-vit-huge-14_visual_fp16.safetensors

次にTextEncoderモデルをダウンロードします。以下のファイルを「ComfyUI/models/text_encoders」フォルダへ保存します。
umt5-xxl-enc-fp8_e4m3fn.safetensors

次にVAEモデルをダウンロードします。以下のファイルを「ComfyUI/models/vae」フォルダへ保存します。
Wan2_1_VAE_bf16.safetensors

これで必要なファイルのダウンロードが環境しました。

ワークフローの配布

Wan2_1-OnlineGamerNikki.json

上記の.jsonファイルをダウンロードし、ComfyUIで読み込むだけで使用できます。

ごちゃごちゃしていますが、直接いじる部分は基本的に「指定ノード」グループと「LoRA群」グループの2つだけです。

もし、ステップ数などの値を変更したいのであれば、右側あたりにある「WanVideo Sampler」から直接変更してください。

 

スポンサーリンク

モデルの適用

先ほどダウンロードしてきたモデルを適用していきます。

指定ノードグループにある各ノードに設定していきます。設定ノードと指定モデルは以下の通りです。

WanVideoModel : Wan2_1-I2V-14B-720P_fp8_e4m3fn.safetensors or Wan2_1-I2V-14B-480P_fp8_e4m3fn.safetensors

Load WanVideo T5 TextEncoder : umt5-xxl-enc-fp8_e4m3fn.safetensors

Load WanVideo Clip Encoder : open-clip-xlm-roberta-large-vit-huge-14_visual_fp16.safetensors

WanVideo VAE Loader : Wan2_1_VAE_bf16.safetensors

これで準備が完了しました。

次の項目では、指定ノードグループとLoRA群のノードについて説明していきます。

各ノードの説明

指定ノードグループの説明

まずは指定ノードグループにあるノードの説明をしていきます。

まずは緑色のノードを順番に説明していきます。
・スタートフレーム画像の読み込み
このノードでは動かしたい画像を指定します。

・エンドフレーム画像の読み込み
後述する生成モードが「StartToEnd」のときに使用するノードです。
生成される動画の最後のフレームの画像を指定します。

・プロンプト入力
プロンプトを入力するノードです。

・拡大モデルを読み込む
生成した動画をアップスケールする際に使用するアップスケールモデルを選択できます。

・アップスケール倍率
アップスケールの倍率を指定できます。

・BlockSwap
この数値を高く設定するとVRAMの使用量を減らせますが、生成速度が遅くなります。

・セルフネガティブ
ネガティブプロンプトを自分で入力できます。

 

次に、赤色のノードを説明していきます。
・使用グループ選択
使用するグループを選択でき、使わないグループはオフに出来ます。

・生成モード選択
生成モードを「通常」「ループ」「StartToEnd」の3つから選択できます。
「通常」ではいたって普通の動画生成が実行されます。
「ループ」ではループ再生に対応した動画が生成されます。
「StartToEnd」ではエンドフレーム画像の読み込みノードが使用可能になり、「スタートフレーム画像を読み込み」ノードに指定した画像から始まり、「エンドフレーム画像を読み込み」ノードで指定した画像で終わる動画を生成できます。

・使用LoRA選択
後述するLoRA群グループから、使用するLoRAを選択できます。

・ネガティブプロンプト選択
ネガティブプロンプトを「中国語」「英語」「セルフネガティブ」から選択できます。

・動画サイズ
動画の解像度を選択できます。

・動画長さ
動画の秒数を選択できます。

LoRA群グループの説明

・LoRA選択
このノードでは使用するLoRAファイルを指定できます。

・LoRA選択のトリガーワード
該当するLoRAのトリガーワードを入力することで、生成時のプロンプトに自動で入力されます。

・String Function

もし、LoRAを追加する場合は、以下のようにしてください。

1. 「WanVideo Lora Select」ノードを追加する
2. 「String Constant Multiline」 などテキストを入力でき、文字列として出力できるノードを追加する
3. 「String Function」ノードを追加する
4. 「Mute / Bypass Repeater (rgthree)」ノードを追加する

5. 既存の「WanVideo Lora Select」ノードのLoRA出力から、追加した「WanVideo Lora Select」ノードのprev_lora入力へ接続する
6. 追加した「WanVideo Lora Select」ノードのLoRA出力から「WanVideo Model Loader」ノードのlora入力へ接続する
7. 「String Constant Multiline」ノードの文字列出力から「String Function」ノードの”text_c”へと接続する。
8. 「String Function」ノードの文字列出力から「Set_LoRATriggerPrompt」ノードへと接続する。
9. 「String Function3」ノードの文字列出力から今回追加した「String Function」ノードの”text_a”へと接続する。
10.WanVideo Lora Select」ノードと「String Constant Multiline」ノードの出力から「Mute / Bypass Repeater (rgthree)」へと接続する
11. 「Mute / Bypass Repeater (rgthree)」の出力から、指定ノードグループにある「使用LoRA選択」へと接続する。
12. 「String Function」ノードの設定項目にある”action”を”append”へ、”tidy_tags”を”no”へ変更し、”text_b”にて改行を1回行う。

少し複雑ですが、使用するLoRAのプリセットを増やすときはこの方法で行えます。この作業がめんどくさいと言う場合は、既存のLoRA選択ノードとトリガーワードノードを書き換えても大丈夫です。

 

スポンサーリンク

生成

お疲れさまでした。あとは生成するだけです。

内容によってはプロンプトだけでは生成出来ない動画もあるので、Civitaiなどで良い感じのLoRAを見つけたり自作したりして動画を生成していきましょう。

Wan2.1用のLoRA学習方法は以下の記事からどうぞ。

最後に

これで動画生成AIをローカルで動かせるようになり、より一層創作の幅が広がりましたね。

それでは!

コメント