ComfyUIでアニメーションをAI生成してくれるカスタムノード「Animate Diff」の利用についてまとめておきます。
- Animatie Diffのセットアップ
- アニメーションの生成
- 不具合
- エラー?
- 「When loading the graph, the following node types were not found: AnimateDiff Combine AnimateDiff Sampler AnimateDiff ModuleLoader」
- 「Prompt outputs failed validation CheckpointLoaderSimple: - Value not in list: ckpt_name: 」
- 「Prompt outputs failed validation VAELoader: - Required input is missing: vae_name」
- 画像が汚い場合は?
- エラー?
Animatie Diffのセットアップ
カスタムノードを入れる
「Animate Diff for ComfyUI」はこちら。
comfyui-animatediff-mainをCofyUIの「custome_nodes」へいれます。
GitHub - ArtVentureX/comfyui-animatediff: AnimateDiff for ComfyUI
またはcomfyui managerを入れて起動。
「AnimateDiff」をさがしてインストールを実行します。「AnimateDiff Evolved」など似たようなのがいくつか出ますが、とりあえずはシンプルな「AnimateDiff」を試してみましょう。
必要なモデルデータを入れる
以下を「comfyui-animatediff/models/」へ入れます。
AnimateDiff Motion Modules - v1.5 v2 | Stable Diffusion Motion | Civitai
mm_sd_v15_v2.ckpt · guoyww/animatediff at main
以下を「comfyui-animatediff/rola/」へ入れます。
guoyww/animatediff at main (huggingface.co)
アニメーションの生成
アニメーションの出力
lora.jsonを入手してConfuUIでLoadすれば、ワークフローができます。
シンプルなワークフローsimple.jsonはこちらから入手できます。
GitHub - ArtVentureX/comfyui-animatediff: AnimateDiff for ComfyUI
(JSON:
comfyui-animatediff/workflows/simple.json at main · ArtVentureX/comfyui-animatediff · GitHub)
このJSONでの利用モデルは以下。代替があれば別のでもよい。
Vae:klF8Anime2.ckpt(models\vaeにいれる)
vae/kl-f8-anime2.ckpt · hakurei/waifu-diffusion-v1-4 at main (huggingface.co)
checkpoint:Animelike25d_v11.safetensors(models\checkpointsにいれる)
animelike25D_animelike25DV11Pruned.safetensors · stb/animelike2d at main (huggingface.co)
Animediff loader:mm-Stabilized_mid.pth(custom_nodes\comfyui-animatediff\modelsに入れる)
mm-Stabilized_mid.pth · manshoety/AD_Stabilized_Motion at main (huggingface.co)
「Queue」で実行して生成されればインストールは問題なく行われていることになります。
comfyui-animatediff/workflows/lora.json at main · ArtVentureX/comfyui-animatediff · GitHub
画像サイズはこちらで指定しているようです。
こっちはパラメーター。
frame_numberが総数?
frame_rateがFPSっぽい。
アニメーションで作られたファイルは、初期状態では「ComfyUI/output」内に作られます。
ポーズと組み合わせるには?
コントロールネットと組み合わせると、ポーズデータをもとに画像を生成できます。
【AIアニメ】ComfyUIとControlNetでAnimateDiffを楽しむ|Baku (note.com)
SDXLでAnimate Diffを使う
SDXLでAnimate Diffを使うワークフローがCivitaiに公開されています。SDXLとは、より高解像度の画像を生成するフォーマットです。
「ipiv's SDXL Lightning -> SparseCtrl -> SD1.5 AnimateDiff LCM」
ワークフローをドロップすると、いろんなカスタムノードが足りませんでした。
ざっと
ADE_LoadAnimateDiffModel
ADE_ApplyAnimateDiffModelSimple
ACN_SparseCtrlLoaderAdvanced
ADE_AnimateDiffSamplingSettings
ADE_LoopedUniformContextOptions
ADE_UseEvolvedSampling
ACN_SparseCtrlRGBPreprocessor
ACN_SparseCtrlSpreadMethodNode
KSampler (Efficient)
ImageSelector
RIFE VFI
Efficient Loader
ACN_AdvancedControlNetApply
VHS_VideoCombine(VideoHelperSuite)
など。
これらは機能拡張で、見つからなかったカスタムノードのインストールを実行すると解決できます。
それでもうちでは、
・KSampler (Efficient)
・Efficient Loader
が見つからないというエラーになりました。
対策ですが、efficiency-nodes-comfyui(LucianoCirino/efficiency-nodes-comfyui: A collection of ComfyUI custom nodes. ⚠️ WARNING: This repo is no longer maintained. (github.com))を、以下のフォークされたバージョンのURLからのインストールにし直したところエラーは治りました。
ワークフローが動くようになったら、カスタマイズしてみましょう。プロンプトはここで記述変更できます。
オリジナル文章は、
A beautiful gen z Viking woman with long flowing black hair and braids with feathers. Blue eyes, smaller upper lip, European features. Has a fierce look on her face, looking off into the distance. There is a crow flying around her
動画の長さ(分数)は多分こちらの...
...Batch_sizeで変更できそうです。初期設定では秒8フレなので8の数値で1秒の長さが生成されることになります。
あるといいかもしれないファイル
・animatedifv3_sd15_sparsectrl_rgb.ckpt (ComfyUI/models/controlnet/内に)
v3_sd15_sparsectrl_rgb.ckpt · guoyww/animatediff at main
・ip-adapter_sd15.bin(comfyUI/models/ipadapter/内に)
h94/IP-Adapter at main (huggingface.co)
・CLIP-ViT-H-14-laion2B-s32B-b79K(comfyUI/models/clipvision/内に)
https://huggingface.co/h94/IP-Adapter/resolve/main/models/image_encoder/model.safetensors
「IPAdapterApply」がみつからない
上記ワークフローの1つを使っていると、このようなエラーに。
そこで「node」で「IPAdapter Advanced」というのを設置して置き換えます。
不具合
エラー?
「When loading the graph, the following node types were not found: AnimateDiff Combine AnimateDiff Sampler AnimateDiff ModuleLoader」
一度全部アップデートしたら治りました。
Managerを入れてあれば、UpdateAllして再起動してみましょう。
「Prompt outputs failed validation CheckpointLoaderSimple: - Value not in list: ckpt_name: 」
v1-5-pruned-emaonly.ckptを以下より入手し、models\checkpoints\v1-5-pruned-emaonly.ckptへ。
v1-5-pruned-emaonly.ckpt · runwayml/stable-diffusion-v1-5 at main
「Prompt outputs failed validation VAELoader: - Required input is missing: vae_name」
vaeがないというエラーなので適当に?いれる。
画像が汚い場合は?
モデルとの相性があるようです。
simple.jsonにあるファイルに近い設定にするには以下のモデルを入手して指定します。
「kl-f8-anime2.ckpt」を以下より入手し、「comfy/models/vae」にいれます。
ワークフローではvaeでこのファイルを指定。
vae/kl-f8-anime2.ckpt · hakurei/waifu-diffusion-v1-4 at main (huggingface.co)
「animelike25D_animelike25DV11Pruned.safetensors」を以下より入手し「comfy/models/checkpoints」にいれます。
ワークフローではCheckpointsでこのファイルを指定。
animelike25D_animelike25DV11Pruned.safetensors · stb/animelike2d at main (huggingface.co)
これらのファイルを指定して画像生成をすると以下のようなクォリテイとなります。
ComfyUIの利用ガイドはこちら。