【AIアニメ】ComfyUI AnimateDiffでSDXLモデルを試す(HotshotXL)
「Hotshot-XL」は、Stable Diffusion XL(SDXL)モデルを使ってGIF動画を生成するためのツールです。
「ComfyUI-AnimateDiff」が、最近この「HotshotXL」に対応したようなので試してみました。
留意点
ちょっとややこしいですが「AnimateDiff」と「HotshotXL」は別物です。「ComfyUI版のAnimateDiff」が独自に機能拡張し、HotshotXLを使えるようになったものです。
HotshotXLは推奨される動画の長さがフレームと短く動きも不自然になりやすいため、性能面では通常のAnimateDiffに及びません。
必要な準備
ComfyUI本体の導入方法については、こちらをご参照ください。
今回の作業でComfyUIに追加しておく必要があるものは以下の通りです。
1. カスタムノード
次の2つを使います。最新版をご利用ください。
ComfyUI-AnimateDiff-Evolved(AnimateDiff拡張機能)
ComfyUI-VideoHelperSuite(動画関連の補助ツール)
ComfyUI Managerを使っている場合は、いずれもManager経由で検索しインストールできます(参考:カスタムノードの追加)。
2. モーションモジュール
HotshotXL用の「hsxl_temporal_layers.safetensors」を使います(Kosinkadink氏の公開している「hotshotxl_mm_v1.pth」でもOKです)。
保存先は"/ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved/models/"です。
3. 画像生成モデル
HotshotXLでは512x512サイズに適応させたSDXLモデルがHotshot開発者からリリースされていて、こちらのモデルの使用が推奨されています。
ただ個人的にはアニメ系SDXLモデルを試したかったので、以下のワークフローでは「Animagine XL」を使っています。
保存先はいつも通り"/ComfyUI/models/checkpoints/"です。
ワークフロー
今回使用したワークフローはこちらです。ComfyUI-AnimateDiffの公式サンプルではHotshot-XLのワークフローは未掲載なので、試作的なものです。
デスクトップにこのJSONファイルを保存し、ComfyUI画面にドラッグ&ドロップするとワークフローを読み込めます。
なおプロンプトは「Animagine XL」の作者サンプルからそのまま借用しました。
"AnimateDiff Loader"の「beta_schedule」は「linear」にします。通常のAnimateDiffとは違うので気を付けます。
Hotshot-XLは8フレーム/秒の動画で学習されているので、バッチサイズ(=フレーム数)8に設定します。
アスペクト比については以下のサイズが推奨されています。
アウトプット
「Queue Prompt」で実行すると、サイズ512x512の1秒間(8フレーム)の動画が生成し、さらに1.5倍にアップスケールします。倍率はGPU環境に合わせて調整してください。
Hotshot-XL公式の「SDXL-512」モデルでも出力してみました。
関連記事
ComfyUI AnimateDiffについての記事は、以下のnoteにまとめています。