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

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で組む設定手順も参照してほしい。ノードの接続の考え方は共通している部分が多い。

この記事で触れたもの

よくある質問

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使用量が変わります。