🦊Wan2.2-VACE-Fun
🏠 | 🦊雑に学ぶComfyUI
👈 | 🦊Wan2.2
👉 |
https://huggingface.co/alibaba-pai/Wan2.2-VACE-Fun-A14BWan2.2-VACE-Fun-A14Bは、Wan2.2版の🦊Wan2.1_VACEです
ただ、ややこしいことに開発してる会社は同じなんですが、開発してるチームがWan2.1のVACEと違います
そのため、Wan2.2-VACE-Funは、Wan2.1 VACEの正統後継者とはいえません
とはいえ使用するノード、考え方はWan2.1 VACEと全く同じなので特に気にしなくても良いですnomadoor.icon
目次
🦊Wan2.2-VACE-Fun#68da9e8500000000007fe437モデルのダウンロード
🦊Wan2.2-VACE-Fun#68da9f2600000000007fe448ControlNet(的なの)
🦊Wan2.2-VACE-Fun#68daa01900000000007fe44freference2video
🦊Wan2.2-VACE-Fun#68daa02100000000007fe453空間的なinpainting
🦊Wan2.2-VACE-Fun#68daa03300000000007fe458時間的なoutpainting (Extension)
🦊Wan2.2-VACE-Fun#68db69820000000000f379e5ループ
参考
https://comfyui-wiki.com/en/tutorial/advanced/video/wan2.2/wan2-2-fun-control?utm_source=chatgpt.comWan2.2 Fun Control ComfyUI Workflow Complete Usage Guide, Official + Community Versions (Kijai, GGUF)
モデルのダウンロード
https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/blob/main/split_files/diffusion_models/wan2.2_fun_vace_high_noise_14B_fp8_scaled.safetensorswan2.2_fun_vace_high_noise_14B_fp8_scaled.safetensors
https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/blob/main/split_files/diffusion_models/wan2.2_fun_vace_low_noise_14B_fp8_scaled.safetensorswan2.2_fun_vace_low_noise_14B_fp8_scaled.safetensors
https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/tree/main/split_files/text_encodersumt5_xxl (fp16 or fp8).safetensors
https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/blob/main/split_files/vae/wan_2.1_vae.safetensorswan_2.1_vae.safetensors
code:models
📂ComfyUI/
└── 📂models/
├── 📂diffusion_models/
│ ├── wan2.2_fun_vace_high_noise_14B_fp8_scaled.safetensors
│ └── wan2.2_fun_vace_low_noise_14B_fp8_scaled.safetensors
├── 📂text_encoders/
│ └── umt5_xxl (fp16 or fp8).safetensors
└── 📂vae/
└── wan_2.1_vae.safetensors
ControlNet(的なの)
https://gyazo.com/5c52cdbbe95947b750bbece11b0bef34
Wan2.2-VACE-Fun_controlnet_pose.json
🟩Preprocessorで作ったpose・depth・canny etc.をcontrol_videoとして入力
https://gyazo.com/0816236d2f70a37feeee4c4375423699https://gyazo.com/6d8fd73ad0637642999a0fb8e75cecd1
reference2video
https://gyazo.com/cc1c0425604f88fc4b28cc5c212ef46e
Wan2.2-VACE-Fun_reference.json
🚨referenceを使うと出力される動画の最初にパッチとして参照画像が残ってしまうので、忘れずにTrimVideoLatentノードで取り除きます
https://gyazo.com/51aaee58d369d0aec6a42922b7945413https://gyazo.com/5cfe37a382de197a766063846db0e853
空間的なinpainting
https://gyazo.com/d07f54c5f6ed45f5cbf493f86051071e
Wan2.2-VACE-Fun_inpainting.json
🟩control_masks
Florence-2で物体を検出し、そのままマスクへ
🟩control_video
マスクした部分を灰色で埋める
https://gyazo.com/123205c8f0f8550fd1c6e8b2506aa9ffhttps://gyazo.com/78b9dac6b0d10f9e9e6eeef42eae790c
時間的なoutpainting (Extension)
image2videoと違い、1秒の動画を入力して残り2秒を生成する、なんてことができます
image2videoだと、例えば画像内の人物がどっちの方向に進んでいるのかわからないですが、2つ以上のフレームを使うことで前の動画のスピード感を保持しながら続きを作れます
https://gyazo.com/d520a39324ba0c478e1fc91b5a45813d
Wan2.2-VACE-Fun_extension.json
🟦入力された動画の最後から(今回は)5フレームを取得
動画を逆方向にする → 最初の5フレームを取得 → 取得した画像を再度逆方向にする
🟩生成するフレームをを灰色の画像で埋める
今回は81 - 5 = 76フレーム
🟩生成するフレームをマスクで埋める
最初の5フレーム: マスク0(黒) 残り76フレーム: マスク1(白)
手作業で用意してもよいけど、WanVideo VACE Start To End Frameノードがあると便利
元の動画と合体する
そのまま合体すると、最初の5フレームが元の動画と被ってしまうため取り除く
https://gyazo.com/08e6ca97379f211a12b8e2103a643f01https://gyazo.com/588d425e0fec6e690f005b0bdbec4171https://gyazo.com/3ec145f6b29eb6bb2b4fde88dab755de
5フレーム+空フレーム / 生成 / 入力 + 生成動画
ループ
cf. VACE Extensionで動画を滑らかにループさせる
https://gyazo.com/41f571e640a267299068ae9daf7c59ae
Wan2.2-VACE-Fun_loop.json
基本はExtensionと同じ
入力した動画の最後15フレーム → 空白51フレームを生成 → 入力した動画の最初15フレーム という形にする
https://gyazo.com/0a5db6b0fdfd5df076ea2030f2fd010d
(できない)4ステップ推論
Wan2.2-Lightningと相性が悪そう