AnimateDiffで動画生成!重い処理をクラウドGPU/VPSに任せる設定ガイド
最初に結論を書いておきます
AnimateDiffをVPSで動かすのはあり。ただし条件付き。
- GPU VPS、必須です。CPUだけのVPSで動かすのは時間の無駄(後述)
- 立ち上げが面倒じゃないなら月数万でも費用対効果はある。でも高いのは事実
- ローカルPCを生成中ずっと占領させておくのは、電気代より「精神的に気になる」し、何かあったらリモートデスクトップで入らないといけないから全然手放しにならない。その点だけでVPS使う価値はある
正直に言うと、AnimateDiffはStable Diffusionの用途の中で最もVPS向きだと思っている。生成に数分かかる処理をローカルで回しながら他の作業するのは現実的じゃないから。
AnimateDiffはStable Diffusionの静止画生成を動画(GIF/MP4)に拡張するモデルです。ただし生成には最低8GB、実用的には12GB以上のVRAMが必要で、家庭用PCではスペック不足になりがちです。このガイドでは、GPU搭載VPSにAnimateDiff環境を構築し、ローカルPCを使わずに動画生成する方法を解説します。
AnimateDiffに必要なスペック
| 解像度・フレーム数 | 最低VRAM | 推奨VRAM | 生成時間の目安 |
|---|---|---|---|
| 256×256 / 16f | 6GB | 8GB | 約30秒 |
| 512×512 / 16f | 8GB | 12GB | 約2〜3分 |
| 512×512 / 32f | 12GB | 16GB | 約5〜8分 |
| 768×768 / 16f | 16GB | 24GB | 約10〜15分 |
はっきり書いておきます。6GB以下のGPUで512×512は諦めてください。
動くことは動くかもしれないけど、スワップしながらの生成は時間も精神力も消耗する。「512×512 / 16フレームで2〜3分」という数字は、ちゃんとしたVRAMがある前提の話。VRAMが足りない環境でその5倍10倍の時間を使うくらいなら、素直にVPSのGPUプラン使ったほうがいい。
自分の場合、最初にローカルの6GB GPUで無理やり512×512を試したことがある。結果は1フレーム生成に数分かかって、16フレームの動画が出てくるまでに1時間近くかかった。しかもクオリティがひどかった。あの時間を返してほしい。
ローカルGPUが6GB以下の場合、512×512での生成はほぼ不可能です。VPSのGPUプランを使うことで、月額固定費で何本でも生成できる環境が整います。
おすすめGPU VPS
ここで一言だけ先に言わせてください。
AnimateDiffにGPU VPSが必要なのは本当の話です。これはClaude Codeとかテキスト処理のAIとは根本的に話が違う。
念のため書いておくと、Claude Codeみたいに「API経由でAIモデルを呼ぶだけ」の用途にGPUは一切不要で、GPU推しの記事はアフィリエイト報酬目的と見ていい。でもAnimateDiffは違う。動画生成はGPUの並列演算をガチで使う処理なので、GPU VPS推しはここでは正当な理由がある。「なんでもGPU」は疑うべきだけど、今回は本当に必要。
ただ、月額費用は覚悟してください。GPU付きのVPSは安くない。
XServer VPSのGPUプランで試算すると:
- 月額:約2〜3万円前後
- 1日あたり:700〜1,000円
- 1時間あたり:約30〜40円
「ローカルPCを数時間占領させ続けてストレスためるくらいなら払う」という人向けの選択肢。逆に、月に数本しか生成しないなら費用対効果は薄い。そこは正直に言っておく。
XServer VPSはNVIDIA GPUプラン(VRAM 24GB)を提供しており、AnimateDiffの512×512/32フレーム生成にも十分対応できます。国内データセンターのため転送速度も安定しています。
自分の見立て:月に何本も生成するなら固定料金プランが精神的にラク。「今月何時間使ったっけ」と計算したくない人には向いている。毎月の費用が固定されているほうが、使い方を気にせず回せる。AnimateDiffはそれなりに時間をかけて生成するので、「時間当たり課金を気にしながら使う」のはストレスになりやすい。
さくらのVPSは老舗の信頼性とコスパのバランスが取れており、長期運用に向いています。「とりあえず使い続けるつもり」ならここも候補に入れていい。初期費用が抑えられる分、まずAnimateDiffが自分の用途に合うか確認したい人にも向いている。「合わなかったら解約」のリスクを小さくしたいなら、無料トライアルがある選択肢から始めるのが正解。
VPSへのAnimateDiff環境構築
セットアップは正直、最初の一回だけ面倒くさい。でも一回やってしまえばあとは使うだけなので、以下の手順を上から順にやってください。
詰まったら詰まった箇所をそのままコピーしてClaude系やGPT系に投げれば大体解決する。「エラーが出た=終わり」じゃなくて、「エラーをそのまま貼って聞く」が正解。これだけで8割の問題は解決する。
1. 前提パッケージのインストール
sudo apt update && sudo apt upgrade -y
sudo apt install -y git python3-pip python3-venv wget curl
# CUDA確認
nvidia-smi
nvidia-smi でGPU情報が出ればOK。何も表示されないならVPSのGPUプランが正しく選択されていない。プラン確認から見直してください。ここで詰まる人は意外と多い。「GPUプランを申し込んだつもりが通常プランだった」というパターンが一番多いので、契約内容の確認が先。焦らず確認する。
2. Stable Diffusion WebUI(AUTOMATIC1111)をインストール
AnimateDiffはWebUIの拡張として動作します。
cd ~
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
# AnimateDiff拡張を追加
git clone https://github.com/continue-revolution/sd-webui-animatediff extensions/sd-webui-animatediff
# Motion Moduleをダウンロード(約1.7GB)
mkdir -p extensions/sd-webui-animatediff/model
wget -O extensions/sd-webui-animatediff/model/mm_sd_v15_v2.ckpt \
https://huggingface.co/guoyww/animatediff/resolve/main/mm_sd_v15_v2.ckpt
Motion Moduleのダウンロードに時間がかかるので、wget を走らせたらコーヒーでも飲んでてください。1.7GBあります。VPS側のネット回線は速いので体感でも数分で終わるはず。ここで焦って止めると最初からやり直しになるので、ちゃんと完了を待つ。
3. WebUIを起動(外部アクセスを許可)
# 仮想環境を作成して依存関係をインストール
python3 -m venv venv
source venv/bin/activate
# WebUI起動(listen=全IPで外部からアクセス可能に)
bash webui.sh --listen --port 7860 --xformers --medvram
起動後、ブラウザで http://YOUR_VPS_IP:7860 にアクセスすればUIが表示されます。
注意点:--listen をつけないと外部からアクセスできない。これを忘れて「なんで繋がらないんだ」と30分溶かす人がいるので先に書いておく。自分も一回やった。コマンドをコピーするときにここだけ確認しておくと後悔しない。
4. AnimateDiffの基本設定
WebUI内の「AnimateDiff」タブで以下を設定します。
- Motion Module:
mm_sd_v15_v2.ckpt - Number of frames: 16〜32(まず16で動作確認)
- FPS: 8(滑らかさと生成速度のバランス)
- Format: GIF または MP4
最初は16フレームで試す。いきなり32フレームに上げてから「VRAM足りない」と気づいても遅い。小さいところから動作確認して、スペックに余裕があることを確認してから上げるのが結果的に早い。「いきなり最大設定で試す」はAnimateDiffに限らず大体後悔する。
5. API経由でバッチ生成する
複数のプロンプトをまとめて処理する場合はAPIを利用します。これが使えるようになるとかなり便利。プロンプトのリストを流し込んで、VPS側でまとめて生成させて、結果だけ取りに行く運用ができる。これが「手放し感」の本体。
import requests
import json
import base64
url = "http://YOUR_VPS_IP:7860/sdapi/v1/txt2img"
payload = {
"prompt": "a cat walking in a garden, cinematic, 4k",
"negative_prompt": "blurry, low quality",
"steps": 20,
"width": 512,
"height": 512,
"cfg_scale": 7,
"alwayson_scripts": {
"AnimateDiff": {
"args": [{
"model": "mm_sd_v15_v2.ckpt",
"enable": True,
"video_length": 16,
"fps": 8,
"loop_number": 0,
"closed_loop": "R+P"
}]
}
}
}
response = requests.post(url, json=payload)
result = response.json()
# 生成されたGIFをデコードして保存
with open("output.gif", "wb") as f:
f.write(base64.b64decode(result["images"][0]))
このスクリプトをローカルから叩いて、VPS側で生成が走って、結果だけ返ってくる。ローカルのPCは何も重くならない。これができてはじめて「VPSに移した意味がある」と実感できる。
生成ワークフローの最適化
VRAM節約テクニック
ぶっちゃけ、VRAMに余裕がある構成で使うのが一番ストレスない。でも節約したい場合はこれ。
# xformersでメモリ効率化(起動時オプション)
bash webui.sh --listen --xformers --medvram --opt-split-attention
# さらにVRAMが不足する場合
bash webui.sh --listen --lowvram --always-batch-cond-uncond
--lowvram は最終手段。速度が落ちるので、それなら最初からVRAMが多いプランを選んだほうがいい。スペック不足のプランで節約オプションを重ねて使い続けるのは消耗するだけ。
はっきり言うと、「安いプランで節約しながら動かす」より「ちゃんとしたプランで快適に動かす」ほうが、長期的に時間の無駄にならない。月額数千円ケチって毎回ストレスをためるのは、費用対効果として逆転している。AnimateDiffで本格的に動かすつもりなら、最初からVRAM 12GB以上のプランを選ぶのが正解。
生成品質を上げるプロンプト例
masterpiece, best quality, 1girl, walking in autumn park
[AnimateDiff: subtle motion, smooth animation, 16 frames]
Negative: ugly, blurry, static, duplicate frames, bad anatomy
バックグラウンドで常駐させる
これ、絶対やっておいてください。tmuxなしで使うとSSH切れた瞬間に生成も止まる。せっかくVPSで動かしてる意味がなくなる。
# tmuxで起動してSSHを切っても動作継続
tmux new-session -d -s animatediff 'bash ~/stable-diffusion-webui/webui.sh --listen --port 7860 --xformers'
# 再接続
tmux attach -t animatediff
これができてはじめて「VPSで動かしてる意味」が出る。ローカルPCで動かすのと同じ使い方をしてたら手放し感がない。「キックして放置、結果だけ取りに行く」がVPS運用の正解。自分がVPSに移した一番の理由がこれ。生成中に別の作業ができるのは、体験として全然違う。
よくある質問
まとめ:あなたの使い方で選ぶ
自分の場合、「生成してる間ずっとPCが重くなる」のが一番ストレスだった。VPSに移してからは、キックして放置→結果だけ取りに行く、に変わった。これだけで体験が全然違う。
AnimateDiffにGPU VPSが必要なのは本当のことだし、月数万はまぁまぁ高いのも本当のこと。両方正直に受け止めた上で、「それでもやってみたい」と思うかどうかで判断してください。
正直に並べるとこうなる。
| あなたの状況 | 判断 | 理由 |
|---|---|---|
| ローカルGPUが8GB以下 | VPS一択 | そもそも512×512が動かない |
| ローカルGPUが12GB以上あるが、生成中もPCを使いたい | VPS推し | 手放し感が全然違う |
| 月に数本だけ試したい | まず無料トライアルで試す | お金かけて後悔するより先に体験 |
| 毎月コンスタントに使う予定 | 固定料金プランが精神的にラク | 従量課金だと毎月計算したくなる |
| CPUオンリーVPSを検討している | やめとけ | 数時間待って結果がゴミだった、がオチ |
| ControlNetと組み合わせたい | VRAM 16GB以上のプランで | ケチると詰まる |
AnimateDiffは「試してみたいと思ったのなら一度やってみればいい」と思っている。これが最終回答じゃないから。合わなかったら解約すればいいし、使い方が変わったら別のプランに変えればいい。最初の一本が生成できたときの感覚は、ローカルで何時間も待ち続けた経験とは全然違う。まずはそれを体験してほしい。