Stable Video Diffusionとは
Stable Video Diffusion(SVD)は、Stability AIが開発した静止画から短尺動画を生成するAIモデルです。1枚の画像を入力すると、2-4秒のスムーズなアニメーション動画を生成します。
技術的背景
SVDはStable Diffusionの画像生成技術を動画に拡張したものです。
動作原理
1. 入力画像のエンコード: 静止画を潜在空間(Latent Space)に変換
2. 時系列拡張: 潜在ベクトルを時間軸方向に複製・補間
3. ノイズ除去: 各フレームに対してDiffusionプロセスを適用
4. 時間的一貫性: 3D U-Netでフレーム間の連続性を保持
5. デコード: 潜在空間から動画フレームを生成
学習データ
– 大規模動画データセット(LVD-10M等、1000万本以上)
– カメラモーション、オブジェクト動作のパターンを学習
– 解像度: 576×1024(縦長)、1024×576(横長)
SVDのバリエーション
1. SVD(標準版)
仕様
– フレーム数: 14フレーム
– 解像度: 576×1024
– FPS: 6fps(2.3秒)
– モデルサイズ: 5GB
用途
– 短尺アニメーション
– プロトタイプ検証
– 動きの試行錯誤
2. SVD-XT(拡張版)
仕様
– フレーム数: 25フレーム
– 解像度: 576×1024
– FPS: 6fps(4.2秒)
– モデルサイズ: 5GB
用途
– より長い動画生成
– ストーリーテリング
– プレゼンテーション素材
3. SV3D(3D回転版)
静止画から3D回転動画を生成するバリエーションです。
仕様
– 360度回転アニメーション
– 21フレーム(フロント視点)または40フレーム(周回)
– オブジェクト中心の回転に最適化
用途
– 商品展示動画
– 3Dモデルのプレビュー
– キャラクター紹介
導入方法
ComfyUIでの使用(推奨)
ComfyUIは動画生成ワークフローの構築に最適です。
1. 環境準備
# ComfyUIのインストール
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
pip install -r requirements.txt
# モデルのダウンロード
cd models/checkpoints/
wget https://huggingface.co/stabilityai/stable-video-diffusion-img2vid-xt/resolve/main/svd_xt.safetensors
2. 基本ワークフロー
Load Image(入力画像)
↓
SVD_img2vid_Conditioning(条件設定)
- width: 1024
- height: 576
- video_frames: 25
- motion_bucket_id: 127
- fps: 6
- augmentation_level: 0
↓
KSampler
- steps: 20
- cfg: 2.5
- sampler: euler
- scheduler: karras
↓
VAE Decode(動画生成)
↓
VHS_VideoCombine(動画保存)
AUTOMATIC1111 WebUI(拡張機能)
導入手順
# 拡張機能のインストール
cd stable-diffusion-webui/extensions/
git clone https://github.com/deforum-art/sd-webui-deforum.git
使用方法
1. Deforum タブに移動
2. Animation mode: “Video Input”
3. 入力画像をアップロード
4. Max frames: 25
5. Generate
Stability AI API(クラウド)
プログラムから直接生成できます。
import requests
url = "https://api.stability.ai/v2alpha/generation/image-to-video"
headers = {
"authorization": f"Bearer {API_KEY}"
}
files = {
"image": open("input.png", "rb")
}
data = {
"cfg_scale": 2.5,
"motion_bucket_id": 127,
"seed": 42
}
response = requests.post(url, headers=headers, files=files, data=data)
with open("output.mp4", "wb") as f:
f.write(response.content)
料金: $0.08/生成(SVD-XT、25フレーム)
パラメータ調整ガイド
1. motion_bucket_id(動きの強度)
動画のモーション量を制御します(0-255)。
| 値 | 効果 | 用途 |
|---|---|---|
| 1-50 | 微細な動き(瞬き、髪の揺れ) | ポートレート、静物 |
| 51-127 | 標準的な動き(歩行、カメラパン) | 一般的な動画 |
| 128-200 | ダイナミックな動き(ジャンプ、ズーム) | アクション、エフェクト |
| 201-255 | 過剰な動き(歪み発生リスク) | 実験的表現 |
推奨値: 100-150(自然な動き)
2. cfg_scale(プロンプト遵守度)
入力画像への忠実度を調整します(1.0-10.0)。
| 値 | 効果 | 用途 |
|---|---|---|
| 1.0-2.0 | 元画像に近い、動きは控えめ | 正確な再現 |
| 2.0-3.5 | バランス型(推奨) | 一般的な用途 |
| 3.5-5.0 | 動きが大胆、歪みリスク増 | 創作的表現 |
推奨値: 2.5
3. fps(フレームレート)
出力動画のなめらかさ(SVD-XTは6fps固定、後処理で変更可能)。
# FFmpegで24fpsに変換(スローモーション効果)
ffmpeg -i output_6fps.mp4 -filter:v "setpts=4*PTS" -r 24 output_24fps.mp4
4. augmentation_level(ランダム性)
生成のばらつきを調整(0.0-1.0)。
- 0.0: 入力画像に最も忠実
- 0.2-0.5: 適度なバリエーション(推奨)
- 0.5-1.0: 大胆な変化(実験的)
実践的なテクニック
1. 高品質な入力画像の準備
SVDは入力画像の品質に大きく依存します。
推奨仕様
– 解像度: 1024×576(横長)または576×1024(縦長)
– 被写体: 中央配置、明確な輪郭
– 背景: シンプルなほど動きが安定
– ライティング: 均一な照明
前処理
– ControlNetで構図を整える
– アップスケーリングで高解像度化
– 背景ノイズ除去
2. ループ動画の作成
最終フレームと最初のフレームを繋げて無限ループを作ります。
手順
1. SVDで25フレーム生成
2. FFmpegでリバース動画を作成
3. 2つを連結
# リバース動画作成
ffmpeg -i input.mp4 -vf reverse output_rev.mp4
# 連結
ffmpeg -i "concat:input.mp4|output_rev.mp4" -c copy loop.mp4
3. カメラモーションの制御
入力画像の構図でカメラワークをある程度誘導できます。
| 構図 | 期待されるモーション |
|---|---|
| 中央の被写体 | ズームイン/アウト |
| 左右に配置 | パン(横移動) |
| 低い視点 | チルトアップ |
| 遠近感のある背景 | ドリー(前後移動) |
4. 複数動画の連結
異なる入力画像から生成した動画を繋げてストーリーを作ります。
# 動画リストを作成
echo "file 'scene1.mp4'" > list.txt
echo "file 'scene2.mp4'" >> list.txt
echo "file 'scene3.mp4'" >> list.txt
# 連結
ffmpeg -f concat -safe 0 -i list.txt -c copy final.mp4
高度な活用法
1. AnimateDiffとの併用
AnimateDiffでモーション指示、SVDで高品質化という2段階生成。
ワークフロー
1. AnimateDiffで粗い動画生成(プロンプト指定)
2. 各フレームをSVDに入力して補間・高品質化
2. ControlNetでの動き制御
ComfyUIのControlNet(Temporal)で動きを細かく指定します。
入力画像 → ControlNet Temporal(モーション指示)→ SVD → 動画
3. 商用プロジェクトでの活用例
- 広告動画: 商品画像から回転・ズーム演出
- プレゼン資料: 静止画スライドにモーション追加
- SNSコンテンツ: 縦長動画(Instagram/TikTok用)
- ゲーム開発: キャラクターのアニメーションプロトタイプ
詳細な副業活用法はAI動画編集で副業を参照してください。
トラブルシューティング
動画が歪む・ブレが激しい
原因: motion_bucket_idが高すぎる、入力画像が複雑
対策
– motion_bucket_id を50-100に下げる
– 背景をシンプルにする
– cfg_scaleを2.0-2.5に設定
動きがほとんどない
原因: motion_bucket_idが低すぎる、被写体が小さい
対策
– motion_bucket_idを150-200に上げる
– 被写体を画面の50%以上に拡大
– 入力画像にモーションヒント(ブラー等)を追加
VRAMエラー
RuntimeError: CUDA out of memory
対策
– フレーム数を14に削減(SVD標準版を使用)
– 解像度を512×288に縮小
– バッチサイズを1に設定
– --lowvram フラグを使用
商用利用時の注意点
ライセンス
– SVD: Stability AI Community License(条件付き商用可)
– 年間売上$1M未満: 無料
– $1M以上: Enterprise License必須(要問い合わせ)
入力画像の権利
– 他人の写真を動画化する場合は著作権確認必須
– AIで生成した画像も元モデルのライセンス継承
生成動画の権利
– 生成者に帰属(Stability AI規約に準拠)
– 倫理的使用義務(ディープフェイク禁止等)
FAQ
Q1. SVDで生成できる動画の長さは最大どのくらいですか?
SVD-XTで最大25フレーム(6fpsで約4秒)です。より長い動画が必要な場合、複数の動画を生成して連結するか、AnimateDiff等のプロンプト駆動型モデルを検討してください。
Q2. 特定の動き(例: 手を振る)を指定できますか?
現在のSVDは動きを直接指定できません。入力画像の構図とmotion_bucket_idで間接的に誘導するのみです。詳細な制御が必要な場合、ControlNet TemporalまたはAnimateDiffを使用してください。
Q3. 実写とアニメ、どちらが向いていますか?
SVDは実写写真で学習されており、リアルな映像に強みがあります。アニメやイラストでも動作しますが、AnimateDiff(アニメモデル対応)の方が適している場合があります。
Q4. GPUなしでSVDを使用できますか?
ローカル実行は難しいですが、Stability AI APIまたはReplicate等のクラウドサービスを利用すれば可能です。料金は1生成あたり$0.05-0.10程度です。


コメント