Wan2.1 をローカルで動かす手順|1.3B・14B と VRAM 別の設定値

Wan2.1 をローカルで動かす手順|1.3B・14B と VRAM 別の設定値

※本記事にはプロモーション(広告・アフィリエイトリンク)を含みます。

Wan2.1 は Alibaba が公開したオープンソースの動画生成モデルです。Apache 2.0 ライセンスのため商用用途にも使いやすく、テキストや静止画から数秒の動画クリップを生成できます。この記事では、Linux 環境へのインストール・モデルのダウンロード・generate.py による実行までを、コマンドと設定値を添えて手順どおりに説明します。

モデルの種類と VRAM 要件

Wan2.1 にはサイズと用途が異なる複数のバリアントがあります。VRAM が足りないモデルを選ぶと起動時にエラーになるため、最初に確認してください。

モデル名 パラメータ数 用途 VRAM 目安
Wan2.1-T2V-1.3B 13億 テキスト→動画 約 8GB〜
Wan2.1-T2V-14B 140億 テキスト→動画(高品質) 約 16GB〜
Wan2.1-I2V-14B-480P 140億 画像→動画(480p) 約 16GB〜
Wan2.1-I2V-14B-720P 140億 画像→動画(720p) 約 24GB〜

上記の VRAM 目安は公式ドキュメントの記述をもとにしています。実際の使用量は解像度・フレーム数・最適化オプションによって変動します。

12GB 前後の VRAM 環境では 1.3B モデルが現実的な出発点です。FLUX Schnell で LoRA を学習する手順でも同クラスの GPU 制約について触れていますが、Wan2.1 も同じく使えるモデルサイズに上限があります。14B モデルが必要な場合は --offload_model True オプションで VRAM 使用量を削減できますが、生成時間が大幅に延びる可能性があります。

実行環境のセットアップ

Python 3.10 以上と CUDA 対応の PyTorch 2.4 以上が必要です(執筆時点)。

まず仮想環境を作ります。

python3 -m venv ~/wan21-env
source ~/wan21-env/bin/activate

PyTorch を CUDA 対応版でインストールします。cu124 の箇所は nvcc --version で確認した CUDA バージョンに合わせてください。

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

Wan2.1 本体をリポジトリからインストールします。

git clone https://github.com/Wan-AI/Wan2.1
cd Wan2.1
pip install -e .

Flash Attention は必須ではありませんが、速度と VRAM 効率の改善が期待できます。ビルドには数分かかる場合があります(環境によってはそれ以上)。

pip install flash-attn --no-build-isolation

ビルドが失敗する場合は Flash Attention なしでも動作します。この場合は速度が落ちる可能性があります。

モデルのダウンロード

Hugging Face CLI でモデルをダウンロードします。

pip install huggingface_hub

1.3B テキスト→動画モデルのダウンロード例です。--local-dir には容量に余裕のあるパスを指定してください。

huggingface-cli download Wan-AI/Wan2.1-T2V-1.3B \
  --local-dir /path/to/models/Wan2.1-T2V-1.3B

モデルのサイズは 1.3B で約 6GB、14B は約 30GB です。SSD が逼迫しているなら HDD に置いて実行ディレクトリからシンボリックリンクを張る構成にしておくと管理しやすくなります。

各モデルにはテキストエンコーダー(umt5-xxl など)が必要です。本体に同梱されているか別途ダウンロードが必要かはモデルによって異なるため、公式 README の「Model Downloads」セクションで使用するモデルの依存ファイルを確認してください。

テキストから動画を生成する

generate.py で生成を実行します。最小構成の例です。

python generate.py \
  --task t2v-1.3B \
  --size 832*480 \
  --ckpt_dir /path/to/models/Wan2.1-T2V-1.3B \
  --prompt "A cat walking through a sunlit garden, cinematic, slow motion" \
  --save_file output.mp4

主要パラメータの意味と目安値をまとめます。

パラメータ 説明 目安値
--size 出力解像度 832*480(480p)または 1280*720(720p)
--frame_num 生成フレーム数 81(16fps で約5秒)
--sample_steps サンプリングステップ数。多いほど品質が上がる 50
--sample_guide_scale CFG スケール。プロンプトへの追従強度 6.0
--sample_shift Flow Matching のシフト値 T2V: 8 / I2V: 3

プロンプトは英語のほうが安定する傾向があります(環境によって異なります)。パラメータ名の正確な一覧は python generate.py --help で確認してください。リポジトリのバージョンによって名称が変わる場合があります。

14B モデルで VRAM を節約するには --offload_model True を追加します。

python generate.py \
  --task t2v-14B \
  --size 832*480 \
  --ckpt_dir /path/to/models/Wan2.1-T2V-14B \
  --offload_model True \
  --prompt "..." \
  --save_file output.mp4

--offload_model True は GPU↔CPU 間でテンソルを転送するため、生成時間が大幅に延びる可能性があります。

つまずきやすいポイント

テキストエンコーダーが見つからないエラー
umt5-xxl などのエンコーダーが別パスに置かれていると読み込みに失敗します。--ckpt_dir で指定したディレクトリ内に必要ファイルがすべてあるか確認してください。

CUDA out of memory
--size を 832*480 に下げる、--frame_num を減らす(例: 49)、--offload_model True を追加する、の順で試してください。

Flash Attention のビルドエラー
ninja が未インストールの場合に失敗することがあります。pip install ninja を先に実行してから再試行してください。それでも失敗する場合は Flash Attention なしで進めても動作します。

生成後の変換と処理

生成した mp4 はそのままでも使えますが、Web 配信では容量が問題になることがあります。libvpx-vp9(WebM)への変換は容量削減に効果的です。

ffmpeg -i output.mp4 -c:v libvpx-vp9 -crf 32 -b:v 0 output.webm

解像度を上げたい場合は Real-ESRGAN などのアップスケーラーで処理してから変換する方法があります。生成→アップスケール→変換の順で処理すると、生成時の VRAM 負荷を抑えながら最終的な解像度を確保できます。

まとめ

Wan2.1 のローカル実行で最初に決めるべきことはモデルサイズです。VRAM 12GB 程度の環境であれば 1.3B モデルを選び、デフォルト設定で一本通すことを最初の目標にしてください。生成が完走したことを確認してから --sample_steps や --frame_num を変えて結果を比較していく進め方が、トラブルを避けながら設定を詰める最短コースです。

よくある質問

Wan2.1 の 14B モデルは VRAM 12GB の GPU で動きますか?

そのままでは不足する可能性が高いですが、--offload_model True オプションで VRAM 使用量を削減できます。ただし生成時間が大幅に延びます。まず 1.3B モデルで動作確認してから検討することをおすすめします。

generate.py 実行時にパラメータ名のエラーが出ます

リポジトリのバージョンによってパラメータ名が変わる場合があります。python generate.py --help を実行して現在使えるオプションを確認するのが確実です。記事のコマンドはあくまで参考として使ってください。

プロンプトは日本語でも書けますか?

動作する場合がありますが、学習データの比率から英語のほうが安定する傾向があると考えられます。意図した動画が生成されない場合はまず英語プロンプトに切り替えて試してみてください。

ComfyUI から Wan2.1 を使えますか?

ComfyUI 向けのカスタムノードが公開されており、GUI から操作できます。コマンドラインより設定変更が視覚的で試しやすいため、CLI に慣れていない場合はこちらが手軽です。ノードの導入方法は各配布元の README を参照してください。