Otama's Playground

AIで遊んだ結果などをつらつら載せていきます。

【AnimateDiff】ComfyUIを使って動画生成AIで遊んでみよう【Stable Diffusion】

今回はAnimateDiffを使って動画生成していこうと思います。Stable Diffusionの画像生成モデルを少し拡張した手法のため、Stable Diffusionで画像生成を実行できるPCであればほぼ問題なく実行できる、かなり軽量なモデルになります。それでいてそこそこ良い動画が生成できるので試してみてください。

作業の流れ

ComfyUIの導入

導入方法は以下の記事にまとめたので、こちらを参考にしていただければと思います。

otama-playground.com

ComfyUI-AnimateDiff-Evolvedの導入

AnimateDiff用にはプラグインの導入が必要です。ワークフローを作成する前にComfyUIにComfyUI-AnimateDiff-Evolvedを追加してください。ComfyUI-Managerからがラクですが、ComfyUI/custom_nodesディレクトリにgit cloneしてくるでもインストール可能です。

github.com

Motion LoRAなしで生成する場合

ワークフローの作成手順(Motion LoRAなし)

  1. AnimateDiff LoaderVideo Combineノードを追加してください
  2. 図のようにつないでください。

ワークフロー

AnimateDiff Loaderでモデルを拡張し、Video Combineで連続した画像をつなげて動画に変換してくれます。

生成手順(Motion LoRAなし)

  1. 好きなベースモデルとAnimateDiffのモデルを用意します。

  2. ベースモデルをComfyUI/models/checkpointsに配置します

  3. AnimateDiffのモデルComfyUI/models/animatediff_modelsに配置します
  4. batch_sizeが動画の長さになるので好きな長さにいじります
  5. その他パラメーターを好きにいじってQueue Promptします

Motion LoRAありで生成する場合

Motion LoRAは現状 Animatediff V2しか対応してないようなので注意。バージョンが対応していない場合Motion LoRAを入れても全く動きが出ません。

ワークフローの作成手順(Motion Loraあり)

  1. 上で作成したワークフローにLoad AnimateDiff LoRAを作成します
  2. AnimateDiff Loaderノードに Load AnimateDiff LoRAノードをつなげます。

生成手順(Motion LoRAあり)

  1. 好きなMotion LoRAをダウンロードしてくる
  2. ComfyUI/models/animatediff_motion_loraにおく
  3. AnimateDiff Loaderノードで好きなMotion LoRAを選択
  4. その他パラメーターを好きにいじってQueue Promptします

生成結果

Motion LoRAなし

最小構成だと1時間ぐらい粘ってこれくらい

生成結果(最小構成)

Motion LoRAあり

ZoomOutのMotion LoRAを使用しましたが割といい感じに適用されています。

生成結果(Motion LoRAあり)

最後に

画像生成の場合より少しパラメーターの調整が難しく感じました。(思った通りの出力が出にくい) AnimateDiffに関しては、ControlNetやらFrame Interpolationやら手法がいろいろあるようなのでそのうち試してみようと思います。

おまけ(Hires.fix構成を試してみた)

ワークフローはこれです。

ワークフロー

生成されたのがこれ

生成動画1

生成動画2