メインコンテンツへスキップ
見出し画像

[ComfyMaster58]ComfyUIでの「Wan2.1」で学ぶ最新動画生成モデルの内部(Image to Video編)

    Alibabaがオープンに公開した動画生成モデル「Wan2.1」。テキストからの動画生成に加えて、画像からの動画生成やLoRAなどのファインチューニングが可能です。短い期間でアップデートやコミュニティの貢献も数多く実施されています。今回は前回の「テキストからの動画生成」に引き続き、画像からの動画生成「Image to Video」を中心に解説していきます。

    たった1枚の画像からこんな動画が作れます!

    Wan2.1 Image to Video #Wan #ComfyUI https://t.co/sonMYlT9Yd pic.twitter.com/SQm3AAZn5i

    — Dr.(Shirai)Hakase - しらいはかせ (@o_ob) March 12, 2025


    Wan 2.1 モデルを使う準備

    既にレポートした通り、前回のText to Videoでは Google Colab T4 GPU VRAM:15GB 環境で実験しました。今回の実験環境は一つ上の L4 GPU VRAM:22.5GBで実験しましょう。

    ※文末にてメンバーシップ向けにipynbを提供しています。

    ダウンロードするモデル

    以下のコードを使うことで、必要なファイルを適切なディレクトリに保存しやすくなります。いったん全てをGoogle Driveの /MyDrive/ComfyUI/models 以下のそれぞれの指定フォルダに保存されますので、失敗が少なくなります。

    # Wan Checkpoints
    
    # Video Models - Wan (fp16 > bf16 > fp8_scaled > fp8_e4m3fn)
    !wget -c https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/diffusion_models/wan2.1_i2v_720p_14B_fp16.safetensors -P ./models/diffusion_models/
    !wget -c https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/diffusion_models/wan2.1_i2v_720p_14B_bf16.safetensors  -P ./models/diffusion_models/
    
    !wget -c https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/diffusion_models/wan2.1_i2v_480p_14B_fp16.safetensors -P ./models/diffusion_models/
    !wget -c https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/diffusion_models/wan2.1_i2v_480p_14B_bf16.safetensors  -P ./models/diffusion_models/
    
    !wget -c https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/diffusion_models/wan2.1_t2v_14B_bf16.safetensors  -P ./models/diffusion_models/
    !wget -c https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/diffusion_models/wan2.1_t2v_1.3B_bf16.safetensors  -P ./models/diffusion_models/
    
    !wget -c https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/diffusion_models/wan2.1_i2v_720p_14B_fp8_scaled.safetensors -P ./models/diffusion_models/
    !wget -c https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/diffusion_models/wan2.1_i2v_720p_14B_fp8_e4m3fn.safetensors -P ./models/diffusion_models/
    
    # Text encoder
    !wget -c https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors -P ./models/text_encoders/
    
    # VAE
    !wget -c https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/vae/wan_2.1_vae.safetensors -P ./models/vae/
    
    # CLIP Vision
    !wget -c https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/clip_vision/clip_vision_h.safetensors -P ./models/clip_vision
    
    # Workflows
    !wget -c https://comfyanonymous.github.io/ComfyUI_examples/wan/text_to_video_wan.json -P ./user/default/workflows/
    !wget -c https://comfyanonymous.github.io/ComfyUI_examples/wan/image_to_video_wan_example.json -P ./user/default/workflows/
    
    

    このノートブックでは説明のために、すべてのcheckpointファイルをダウンロードしていますが、環境に合わせてコメントアウト(行頭に # を付加)して使うこともご検討ください。fp16 が記載されたモデルのダウンロードに並列して bf16 のモデルをダウンロードしていますが、より良い結果が得られるため、bf16 バージョンよりも fp16 バージョンが推奨されています。

    品質ランク:fp16 > bf16 > fp8_scaled > fp8_e4m3fn

    という順に品質が良いという設定です。逆に、VRAMが足りない場合は代わりに fp8 ファイルが使用できますので試してみてください。

    Image to Videoワークフロー

    ワークフローはComfyUI公式が提供しているこのWebP動画ファイルに埋め込まれています。

    画像
    https://comfyanonymous.github.io/ComfyUI_examples/wan/image_to_video_wan_example.webp

    右クリックで保存して、起動したComfyUIにドロップしてください。

    関連として、Comfy Orgが公式に配布しているファイルは他にもあります。
    ・JSON形式のワークフロー例
    ・image_to_video_wan_480p_example.json
    ・image_to_video_wan_720p_example.json

    ・入力画像の例が fluxページにあります
    https://comfyanonymous.github.io/ComfyUI_examples/flux/flux_dev_example.png

    まずは 480p での実験を行っていきましょう。
    このワークフローでは、wan2.1_i2v_480p_14B_fp16.safetensorsファイル (ComfyUI/models/diffusion_models/ に配置) と clip_vision_h.safetensors (ComfyUI/models/clip_vision/ に配置)をロードしています。

    画像

    上段のCLIPではGoogleのUMT5を使い、プロンプトとネガティブプロンプトを与えています。Googleによる「mT5」Multilingual T5は、107 の言語をカバーする言語-言語の変換モデルです。typeは「wan」を指定します。今回の更新で新たに追加されたタイプのようです。

    画像

    ここはText to Videoと同じなので解説はこちらをご参照ください。

    a cute anime girl with massive fennec ears and a big fluffy tail wearing a maid outfit turning around
    (大きなフェネックの耳と大きなふわふわの尻尾を持つメイド服を着たかわいいアニメの女の子が振り向いている)

    動画としての動作自体はこちらのプロンプトで指定します。

    ネガティブプロンプトも重要なので必ず指定しましょう。空白ではなく、この簡体中国語のまま使ったほうがよさそうです。

    色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰,最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部,画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手指融合,静止不动的画面,杂乱的背景,三条腿,背景人很多,倒着走
    (明るい色、露出オーバー、静止、ぼやけた詳細、字幕、スタイル、アートワーク、絵画、画像、静止、全体的に灰色、最低品質、低品質、JPEG 圧縮残留物、醜い、不完全、余分な指、下手な手、下手な顔、変形、傷ついた、奇形の手足、癒合した指、静止画像、雑然とした背景、3 本の足、背景に大勢の人、後ろ向きに歩く)

    中国語のネガティブプロンプトが品質を上げる重要な鍵になっている点はちょっと面白いですね。

    Wan2.1のImage to Videoの特徴的として、左下の入力画像に対して、もう一つのCLIPをCLIP Visionとして使用するネットワークを構築する点です。画像の最初の1枚を start_imageとして渡しつつ、WanImageToVideoにはその同じ画像のCLIP VISION OUTPUTを与えます。

    画像

    これにより初期のLatentのサイズ、縦横比とは別に画像の特徴を安定して生成するカットに渡すことができるようです。
    後半はText To Imageと同じく、Wan2.1専用のVAEを使ってでコードしていきます。動画ファイルの保存ではWebPが必須になっています。

    Google Colab L4 GPU (VRAM 22.5GB)で初回17分、2回目は6分程度です。
    WebP動画形式はまだ一般的ではないので、シェアしたい場合は ezgif.com などのサイトを使ってMP4形式に変換するとよいでしょう。

    Wan2.1が生成するWebP動画の感動を皆さんにお伝えする簡単な方法(mp4ではないので…) pic.twitter.com/oO70wje2WP

    — Dr.(Shirai)Hakase - しらいはかせ (@o_ob) March 12, 2025

    この例では、512x512 で 33 フレームのみを生成していますが、このモデルはそれ以上の解像度でも実行できます。

    https://x.com/o_ob/status/1899873009185546482

    Google Colab L4 GPU (VRAM 22.5GB)で初回1078sec、2回目366秒です。 pic.twitter.com/1Wj2p8WA6d

    — Dr.(Shirai)Hakase - しらいはかせ (@o_ob) March 12, 2025


    実行するためには相当のVRAM環境とハードウェアと忍耐力が必要です。720p モデルは一見の価値ありです。

    トラブルシューティング

    ワーフクローを開いたらSaveWebMノードがない場合

    画像

    実行してみると、SaveWebMノードがないためエラーとなります。

    画像

    前回同様、いったんSaveWebMノードを削除します。

    画像

    続いて以下のうようなエラーが出るはずです。

    Prompt outputs failed validation UNETLoader: - Value not in list: unet_name: 'wan2.1_i2v_480p_14B_fp16.safetensors' not in ['wan2.1_i2v_480p_14B_bf16.safetensors', 'wan2.1_i2v_720p_14B_bf16.safetensors', 'wan2.1_t2v_1.3B_bf16.safetensors', 'wan2.1_t2v_14B_bf16.safetensors']

    左上の「Load Diffusion Model」のモデル選択を行います。
    ダウンロードした480p_14B_bf16 を選択します。

    画像

    最新の情報はComfyUIのリポジトリをご確認ください。


    AICU Japan株式会社について

    AICUは「つくる人をつくる」をビジョンに掲げ、最新の生成AI、クリエイティブAI技術を皆さまにお届けしています。

    📝noteでは、生成AIに関する最新情報や使い方の解説を発信しています。ぜひフォローして、最新情報をチェックしてください!
    https://note.com/aicu

    📩メールマガジン「週刊AICU通信」では、AI関連のニュースやトレンド、イベント情報などを毎週お届けしています。購読登録はこちらから!
    https://corp.aicu.ai/ja

    【月刊AICUマガジン】「つくる人をつくる」クリエイティブAI専門誌、毎月魅力的な特集や深掘りお送りします[Kindle Unlimitedで無料]


    【書籍化】「ComfyUIマスターガイド」

    【今すぐ使えるComfyUI】「共有ComfyUI」オープンβ2実施中!

    画像

    ★3/31までβテスト中につき無料参加可能です★

    【月刊AICUマガジン】「つくる人をつくる」クリエイティブAI専門誌、毎月魅力的な特集や深掘りお送りします[Kindle Unlimitedで無料]

    Xでも情報発信中!フォローしてね😉
    https://x.com/AICUai

    ※noteのComfyUIマスタープランと、上記の「共有ComfyUI」はしばらく並列に運営していきます。他にもたくさんサービスを開発していきますので応援よろしくお願いいたします!




    Google ColabでWan2.1を動かすノートブックを共有します
    (メンバー限定なので拡散はご遠慮ください)

     
     

    AICU

     
     
    生成AI時代に「つくる人をつくる」をビジョンに活動する日本最大のクリエイティブAIコミュニティ。 AIクリエイターさんとともに、「わかるAI」を伝えていきます。

    あなたへのおすすめ