tags : ComfyUI

AnimateDiff とは

SD 1.5 の U-Net に時間方向のアテンション層を挿入するモーションモジュール。静止画生成モデルを動画生成モデルに変える。

txt2img ワークフローに AnimateDiff Loader を追加するだけで、静止画が動画になる。

ワークフロー構成

txt2img ワークフローからの変更点:

  1. AnimateDiff Loader を追加
  2. Checkpoint Loader → AnimateDiff Loader → KSampler の順にモデルを接続
  3. Empty Latent Image の batch_size を増やす(= フレーム数)
  4. Save Image を VHS_VideoCombine に置き換え(動画出力用)
Load Checkpoint → AnimateDiff Loader → KSampler → VAE Decode → VHS_VideoCombine
CLIP Text Encode (positive) ↗
CLIP Text Encode (negative) ↗
Empty Latent Image ↗
Multival → AnimateDiff Loader (scale_multival)

AnimateDiff Loader ノード

Add Node → Animate Diff → ① Gen1 nodes ① → AnimateDiff Loader で追加。

model_name

モーションモジュールの選択。

モデル特徴
v3_sd15_mm.ckpt標準のモーションモジュール。まずはこれで学ぶ
AnimateLCM_sd15_t2v.ckpt少ないステップで高速生成。LCM 版

scale_multival

モーション(動き)の強さを制御する。Multival ノードを接続して値を渡す。

Add Node → Animate Diff → multival → Multival で追加。

挙動
0.5ほぼ静止画。動きがほとんどない
1.0デフォルト相当。適度な動き
1.2しっかり動く。波や炎のような動的な被写体に良い

値が大きいほどモーションモジュールの影響が強くなり、動きが激しくなる。

batch_size = フレーム数

Empty Latent Image の batch_size がそのまま生成されるフレーム数になる。

batch_sizefps=8 での動画長
81秒
162秒
24030秒(本番用)

生成時間は batch_size にほぼ比例する。

CFG の動画での挙動

静止画と同じ傾向が動画でも出る。

CFG挙動
3プロンプトへの忠実度が低い。ぼんやり・自由な結果
7バランスが良い。動画でも安定
20コントラスト過剰。漫画的・不自然な質感になる

動きやすい被写体

AnimateDiff は本来動くものに対してより自然な動きを生成する。

動きが出やすい : 波、炎、雲、煙、水の流れ

動きが出にくい : 山、建物、静物

プロンプトで動的な被写体を指定すると AnimateDiff の効果が分かりやすい。

VHS_VideoCombine(出力)

動画として出力するためのノード(Video Helper Suite)。

Add Node → Video Helper Suite → Video Combine で追加。

  • VAE Decode の IMAGE 出力を images 入力に接続
  • frame_rate を fps に合わせる(通常 8)
  • format: image/gif または video/h264-mp4(MP4 の方がファイルサイズが小さい)
  • ComfyUI のアセットパネルには表示されない(VHS の仕様)。出力は output/ フォルダに保存される

KSampler(ComfyUI)

IPAdapter(ComfyUI)