「静止画は作れるようになったけど、動く画像も作ってみたい」と思ったことはありませんか?AnimateDiffを使えば、これまで培ったStable Diffusionのプロンプト知識をそのまま動画生成に活用できます。専門的な動画生成ツールを新たに覚える必要はありません。
この記事では、AnimateDiffの仕組みの理解から最初の動画を出力するまでを、手順を追って解説します。
AnimateDiffとは:Static Diffusionとの違い
通常のStable Diffusion(Static Diffusion)は「1枚の画像」を生成します。AnimateDiffはこれを「複数フレームの連続した画像」として生成し、それをつなげてアニメーションにします。
重要な点として、AnimateDiffはCheckpointモデルやLoRAをそのまま使います。つまり、「お気に入りのアニメ系モデルでアニメーションを作る」「NSFW用途で使っているCheckpointで動画を作る」といったことが、追加のモデル学習なしに可能です。
静止画生成との違いをまとめると:
| 比較項目 | 静止画(通常のSD) | AnimateDiff |
|---|---|---|
| 出力 | 1枚の画像 | 複数フレームの動画 |
| 使うモデル | Checkpoint + LoRA | 同じCheckpoint + LoRA + モーションモジュール |
| VRAM消費 | 普通 | フレーム数に比例して増加 |
| 生成時間 | 数秒〜数十秒 | 数分〜数十分 |
| プロンプト | そのまま使える | そのまま使えるが動きの指示が追加できる |
AnimateDiffにしか必要ない追加ファイルは「モーションモジュール」と呼ばれる専用のモデルだけです。これをダウンロードして配置すれば準備完了です。
必要なVRAMと動作環境
AnimateDiffはフレーム数(何コマの動画を作るか)によってVRAM消費が大きく変わります。
| VRAM | 対応フレーム数目安 | 速度 |
|---|---|---|
| 8GB | 8〜12フレーム(SD1.5) | 非常に遅い、設定によっては不可 |
| 12GB | 16〜24フレーム(SD1.5) | 遅め(5〜15分/動画) |
| 16GB | 24〜32フレーム(SD1.5) | 普通(3〜8分/動画) |
| 24GB | 32〜48フレーム(SD1.5) | 快適(2〜5分/動画) |
注意: SDXL + AnimateDiffはSD1.5より数倍のVRAMを必要とします。VRAM 16GB未満の場合は、まずSD1.5ベースのCheckpointでAnimateDiffを試すことを強くおすすめします。
CPUオフロードを使えばVRAMが少ない環境でも動かせますが、生成時間が大幅に延びます(8GB環境で1動画30分以上になることも)。
インストール方法
ComfyUIでのインストール(推奨)
ComfyUIはAnimateDiffのワークフローを視覚的に管理できるため、初心者にも扱いやすいです。
手順:
- ComfyUI Manager をインストール済みであることを確認する
- ComfyUI Managerを開き、「Install Missing Custom Nodes」→「ComfyUI-AnimateDiff-Evolved」を検索してインストール
- ComfyUIを再起動する
- モーションモジュールファイルをダウンロードして以下に配置する
ComfyUI/
└── custom_nodes/
└── ComfyUI-AnimateDiff-Evolved/
└── models/ ← ここにモーションモジュールを置く
AUTOMATIC1111での インストール
- 「Extensions」タブ →「Install from URL」
- 以下のURLを入力してインストール
https://github.com/continue-revolution/sd-webui-animatediff
- WebUIを再起動する
- txt2imgページに「AnimateDiff」タブが追加されることを確認
モーションモジュールの配置先(AUTOMATIC1111):
stable-diffusion-webui/
└── extensions/
└── sd-webui-animatediff/
└── model/ ← ここにモーションモジュールを置く
モーションモジュールの種類と選び方
モーションモジュールはAnimateDiff専用のファイルで、動きのスムーズさや特性を決定します。
v2とv3の違い
| バージョン | 特徴 | 推奨用途 |
|---|---|---|
| mm_sd_v14 | 古い世代、安定 | SD1.4ベース |
| mm_sd_v15 | v14より改善 | SD1.5系の基本 |
| mm_sd_v15_v2 | 最もよく使われる定番 | SD1.5系の標準推奨 |
| AnimateDiff v3 | より滑らかな動き | 高品質な動画が必要な時 |
初心者が最初に使うべきは mm_sd_v15_v2.ckpt です。これが現時点でも安定した動きと品質を両立している基本モデルです。
ダウンロード先:
- AnimateDiff 公式(Hugging Face) — v1/v2/v3すべてを配布
アニメ特化モーションモジュール
アニメ調の画像に特化したモーションモジュールも存在します。
mm-Stabilized_high.pth— アニメ向けの安定性重視- AnimateLCM — 高速生成に特化(8ステップ以下で動画生成可能)
最初の動画を出力するまでの最短手順
ComfyUIを使った最短手順を説明します。
ステップ1:ワークフローを準備する
ComfyUIのリポジトリにはAnimateDiff用サンプルワークフローが用意されています。ない場合は ComfyUI-AnimateDiff-Evolvedのサンプル をダウンロードしてComfyUIにドラッグ&ドロップします。
ステップ2:各ノードを設定する
# 最低限設定するノード
Load Checkpoint:
model: (使いたいCheckpointを選択)
Load AnimateDiff Model:
model_name: mm_sd_v15_v2.ckpt
AnimateDiff Loader:
context_length: 16 ← フレーム数
context_stride: 1
context_overlap: 4
CLIP Text Encode(Prompt):
text: 1girl, standing, smiling, outdoor, (動きの描写をここに入れる)
KSampler:
steps: 20
cfg: 7.0
sampler_name: euler_a
scheduler: linear
denoise: 1.0
ステップ3:解像度を設定する
AnimateDiffでは解像度を上げすぎるとVRAMが不足します。最初の試行には次の解像度を使ってください。
SD1.5: 512x512 または 512x768
SDXL: 768x768 または 768x1024
ステップ4:生成してVHS(動画)ノードで出力
ComfyUI-AnimateDiff-Evolvedには動画ファイルとして出力するためのノードが含まれています。「Video Helper Suite」または「VHS」ノードを使って .gif または .mp4 形式で保存します。
フレーム数・FPS設定の考え方
AnimateDiffの動画の長さと滑らかさを決める2つの設定です。
フレーム数(何枚の画像を生成するか):
16フレーム ÷ 8fps = 2秒の動画
24フレーム ÷ 8fps = 3秒の動画
32フレーム ÷ 8fps = 4秒の動画
VRAMに余裕がなければまず16フレームで試してください。8GBでも動く可能性があります。
FPS(1秒あたりのフレーム数):
4fps = 動きがガクガク(ファイルサイズが小さい)
8fps = 標準的なアニメーションの動き(推奨)
12fps = 滑らかな動き(VRAM消費増、生成時間増)
24fps = 映像品質(ハイエンドGPU推奨)
AnimateDiffで生成するのはあくまでフレームです。FPSはGIF/動画に変換するときに指定します。同じ16フレームでも4fpsにすれば4秒の動画に、8fpsにすれば2秒の動画になります。
プロンプトで動きを制御するコツ
AnimateDiffはプロンプトに「動き」を表現する言葉を入れることで、動画の内容を制御できます。
効果のある動き表現の例:
# 人物の動き
hair blowing in the wind, swaying hair
blinking eyes, slowly looking around
breathing motion, slight body movement
walking, slow walk
# カメラワーク
panning shot, camera pan
zoom in, slow zoom
rotating camera
動きの強さを調整するコツ:
動きを強調したい場合はMotion LoRAを使うことで、特定のカメラワークや動き方を強化できます。
# プロンプトに動き表現を入れる基本構成例
(masterpiece, best quality), 1girl, outdoor park,
(hair blowing in wind:1.2), (gentle breathing:1.1), sunny day,
soft lighting, detailed face
NSFW動画生成での注意点と設定
NSFWコンテンツでAnimateDiffを使う際の設定のポイントをまとめます。
推奨設定:
# NSFW AnimateDiff基本設定
フレーム数: 16(最初は控えめに)
解像度: 512x768(縦長構図)
Steps: 20〜25
CFG: 7.0〜8.0
モーションモジュール: mm_sd_v15_v2.ckpt
Motion Scale: 1.0〜1.2(動きの強さ)
注意点:
- NSFW系Checkpointとモーションモジュールの相性は試してみるまでわからない部分がある
- フレーム数を増やすと体の整合性(各フレームで体型が維持されるか)が崩れやすい
- まず16フレームで体の動きが安定することを確認してからフレーム数を増やす
CivitaiにはAnimateDiff対応のNSFWモデルも多数配布されています。検索フィルターで「Motion」タイプを選択すると見つけやすいです。
出力動画のファイル形式とGIF変換方法
AnimateDiffで生成したフレームは、主に2つの形式で保存できます。
MP4形式(動画ファイル)
品質が高く、ファイルサイズが小さいため保存・共有に最適です。
ComfyUIのVHSノードでの設定例:
# VHS Video Combine ノード設定
frame_rate: 8
format: video/mp4
codec: h264
quality: 85
GIF形式(アニメーションGIF)
ブラウザやSNSで手軽に表示できますが、ファイルサイズが大きくなりがちで色数も制限されます。
# VHS Video Combine ノード設定(GIF)
frame_rate: 8
format: image/gif
MP4をGIFに変換したい場合(外部ツール使用):
# ffmpegを使ったGIF変換(コマンドライン)
ffmpeg -i input.mp4 -vf "fps=8,scale=512:-1" output.gif
または EZGif などのオンラインツールを使えばコマンドライン不要です。
おすすめモーションLoRA
モーションLoRAは特定のカメラワークや動き方をAnimateDiffに追加できるファイルです。
代表的なモーションLoRA:
- AnimateDiff Motion LoRA(公式) — パン・ズーム・ローリングなどカメラワーク系
v2_lora_ZoomIn.ckpt— ズームインv2_lora_ZoomOut.ckpt— ズームアウトv2_lora_PanLeft.ckpt— 左パンv2_lora_PanRight.ckpt— 右パン
使い方はComfyUIのAnimateDiff Loaderノードで「motion_lora」スロットに設定します。
# モーションLoRAの重み設定例
motion_lora: v2_lora_ZoomIn.ckpt
strength: 0.6〜0.8
強さ(strength)を上げすぎると動きが激しくなりすぎます。0.6〜0.8から試してください。
まとめ:まずは16フレーム・低解像度から始めよう
AnimateDiffは最初の設定が少し手間に感じるかもしれませんが、一度ワークフローが動き始めれば、あとはプロンプトを変えるだけで動画を量産できます。
最初の一歩として推奨する設定をまとめます。
CheckPoint: 使い慣れたSD1.5系モデル
モーションモジュール: mm_sd_v15_v2.ckpt
フレーム数: 16
解像度: 512x512
FPS: 8
Steps: 20
CFG: 7.0
この設定で安定した動画が出るようになったら、フレーム数を増やしたり、モーションLoRAを追加したり、高解像度に挑戦したりと段階的にレベルアップしていきましょう。静止画生成の楽しさが一段広がります。