ComfyUI AnimateDiffでSDXLモデルでアニメ生成
ComfyUIとAnimateDiffでのアニメーション生成は非常に自由度が高く、アニメが生成できるのが特徴ですが、今回はComfyUI AnimateDiffでSDXLモデルを利用してのアニメーション生成について解説していきます。
ComfyUIは「HotshotXL」というツールに対応し、標準的なカスタムノードとSDXLのモデルデータとモーションモジュールを用意すればSDXLでアニメーション生成が可能になりました。
事前準備
本記事ではComfyUIでAnimateDiffが利用できることを前提にまとめています。
ComfyUIのインストール方法については「Stable Diffusion ComfyUIをWindowsのローカル環境に構築」の記事をご覧ください。また、ComfyUI上でAnimateDiffを動作させるための準備については「ComfyUI環境でAnimateDiffを実行する」の記事をご覧ください。
モーションモジュール
HotshotXL用の「hsxl_temporal_layers.safetensors」または、「hotshotxl_mm_v1.pth」をダウンロードし、以下のパスに保存
/ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved/models/
生成モデル
公式で推奨されている「SDXL-512」 もしくはその他、SDXLのモデルデータを選択、ワークフローを参照した元では「ANIMAGINE XL」を利用されていました。
ワークフローを準備
1から組んでもいいのですが、ComfyUIはワークフローを取り込むことができるため、こちらの記事中盤にある「workflow_hotshotxl.json」をお借りします。
動画生成
ワークフローをドラッグアンドドロップして読み込んだら、モデルをSDXLを選択し、”AnimateDiff Loader”の「beta_schedule」は「linear」にHotshot-XLは8フレーム/秒の動画で学習されているので、バッチサイズ(=フレーム数)8に設定します。
基本はワークフローのディフォルト値で出力できると思います。
SDXLで生成したアウトプット
今回は1回での生成では無く、それぞれを生成し動画を編集しております。SDXLあんおで描写力が増している感じがします。今後、様々なモデルがSDXL化されていくことを考えると知っておくべき手法ですね。