Wan2.1 T2V VRAM 12GB:フレーム数の上限と設定手順

※本記事にはプロモーション(広告・アフィリエイトリンク)を含みます。
RTX 3060(VRAM 12GB)でWan2.1 T2V(Text to Video)を使う場合、フレーム数を増やすほどVRAMが急増し、設定を誤ると即OOMでクラッシュする。この記事では、Wan2.1 T2VのVRAM消費の仕組みを押さえたうえで、12GBで安定して動かせるフレーム数・解像度・量子化の設定を整理する。
Wan2.1 T2Vが12GBに収まる条件
Wan2.1 T2VはAlibaba Tongyi Wanxiangチームが開発した動画生成モデルで、ライセンスはApache 2.0(執筆時点)。商用利用が可能な点が特徴のひとつ。
モデルは大きく2種類ある。
| モデル | パラメータ数 | fp16時サイズ | 12GBでの扱い |
|---|---|---|---|
| Wan2.1-T2V-1.3B | 13億 | 約3GB | fp16のままで動く |
| Wan2.1-T2V-14B | 140億 | 約28GB | fp8量子化が必須 |
14BモデルはFP8量子化でウェイトサイズを約半分に圧縮しても、推論時の中間テンソルが積み上がるため、フレーム数が増えると12GBはすぐに限界を超える。まず1.3Bモデルから試すのが現実的。
フレーム数は4n+1が制約:解像度との組み合わせ目安
4n+1の制約
Wan2.1はCausal 3D VAEを採用しており、時間方向を4倍圧縮する構造(先頭1フレームは独立して扱う)のため、有効なフレーム数は 4n+1 の形に限られる。
有効なフレーム数:
1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49 ...
ComfyUIのノードでlength/num_framesを指定する際、4n+1以外の値を入れるとエラーになる実装が多い。最初から正しい値を入れておくと余計なデバッグが減る。
解像度とフレーム数の組み合わせ目安
Wan2.1の標準解像度は 480×832(縦)または 832×480(横)。これを大きく外れると品質が落ちる可能性がある。
VRAMの使用量は環境・ドライバ・常駐プロセスによって大きく異なるため、以下はあくまで目安。
Wan2.1-T2V-1.3B(fp16)
| フレーム数 | 30fps換算 | 12GBでの見通し |
|---|---|---|
| 17 | 約0.6秒 | 余裕あり |
| 33 | 約1.1秒 | 多くの環境で動く |
| 49 | 約1.6秒 | 環境次第 |
| 81 | 約2.7秒 | OOMリスク高 |
Wan2.1-T2V-14B(fp8量子化)
| フレーム数 | 12GBでの見通し |
|---|---|
| 17 | 収まる可能性あり |
| 33 | 多くの環境でOOM |
| 49以上 | OOM |
14BをRTX 3060で動かす場合、17フレーム(約0.57秒 at 30fps)が現実的な上限と考えられる。映像として短すぎる場合は複数回生成してffmpegで連結する方法が現実的。
ComfyUIでの設定手順
1. モデルと周辺ファイルの入手
Hugging Faceのリポジトリからモデルを取得する(執筆時点で公開中)。
# 1.3Bモデルの場合
huggingface-cli download Wan-AI/Wan2.1-T2V-1.3B \
--include "*.safetensors" \
--local-dir /path/to/ComfyUI/models/diffusion_models/Wan2.1-T2V-1.3B/
テキストエンコーダ(umt5-xxl)とVAEファイルも同じリポジトリから入手し、ComfyUIの models/text_encoders/ と models/vae/ に配置する。
2. latentノードでフレーム数と解像度を指定
空のlatentを生成するノード(EmptyWanLatentVideo相当)で以下を設定する。
width: 480
height: 832
length: 33 ← 4n+1 の値を必ず入れる
batch_size: 1
3. 14BモデルではFP8を指定
モデルローダのdtype(または quantization)パラメータを設定する。
dtype: fp8_e4m3fn
ノードの名称・パラメータ名は実装によって異なるため、使用するカスタムノードのドキュメントを確認する。
4. サンプリングパラメータ
| パラメータ | 推奨値 | 備考 |
|---|---|---|
| steps | 20〜30 | 少なすぎると動きが粗くなる場合がある |
| cfg | 5.0〜7.0 | 高すぎると色飽和しやすい |
| scheduler | DPM++ 2M / Euler | 用途で選ぶ |
5. VAEデコードのタイリングを有効化
フレーム数が多いほどVAEデコード時のVRAM使用量も増える。タイリングが使えるノードでは必ず有効化する。
tile_size: 256 # 縦・横に分割して順次処理する
つまずきやすいポイント
フレーム数エラー
「video_length」「temporal」などを含むエラーが出たら、フレーム数が4n+1になっていない可能性がある。まず33や17に変えてみる。
テキストエンコーダのVRAM
umt5-xxlは単体で数GBのVRAMを使う。プロンプトをエンコードしたあとにエンコーダをオフロードしてから推論に入るワークフローにすると、ピーク使用量を下げられる場合がある(sequential offloadに対応したノードでは自動で行われることもある)。
他のプロセスが残っている場合
OllamaやStable Diffusion WebUIなどがVRAMを掴んでいると、その分だけフレーム数の余裕が減る。Wan2.1を動かす前に他のプロセスをアンロードしておく。
VAEデコードの長時間処理
フレーム数が多いとVAEデコードだけで数分かかる。ComfyUIがフリーズしたように見えても実際は処理中のことが多い。ターミナルのログで進行を確認する。
まとめ
Wan2.1 T2VをVRAM 12GBで動かすための要点をまとめる。
| 項目 | 設定値・目安 |
|---|---|
| 有効フレーム数 | 4n+1(17, 33, 49…) |
| 1.3B + fp16 | 33フレームが安全圏の目安 |
| 14B + fp8 | 17フレームが上限の目安 |
| 解像度 | 480×832 または 832×480 |
まず1.3Bで33フレームから試し、VRAMに余裕があれば49フレームに上げる順序で進めるとOOMで時間を無駄にしにくい。ComfyUIのワークフロー構成に慣れているなら、FLUX Schnell img2img+ControlNet Canny をComfyUIで組む設定手順も参照してほしい。ノードの接続の考え方は共通している部分が多い。
この記事で触れたもの
- RTX 3060 グラフィックボード楽天で探す
よくある質問
Wan2.1 T2Vで指定できるフレーム数に制限はありますか?
はい、Wan2.1のCausal 3D VAEが時間方向を4倍圧縮する構造のため、有効なフレーム数は4n+1(5, 9, 13, 17, 21, 25, 29, 33…)に限られます。それ以外の値を指定するとエラーになる実装が多いため、最初から正しい値を入れることを推奨します。
RTX 3060(VRAM 12GB)でWan2.1 14Bモデルは動きますか?
fp8量子化を使えば起動できる可能性はありますが、12GB環境では17フレーム前後が現実的な上限と考えられます。それ以上のフレーム数ではOOMになりやすく、より長い動画が必要なら1.3Bモデルの方が実用的です。
ComfyUIでCUDA out of memoryが出たときの最初の対処は?
フレーム数を一段階下げる(49→33、33→17など)のが最初の対処法です。改善しない場合はOllamaなど他のプロセスがVRAMを掴んでいないか確認し、VAEデコードのタイリングを有効化してください。環境によって同じ設定でもVRAM使用量が変わります。