近年、テキストから画像を生成するAIは一般化し、次はいよいよ画像から動画を生成する時代がやってきています。本記事では、動画生成で注目されている「Wan2.1」を使ってみた際のセットアップ手順と実行例を紹介します。
なお,Paperspace GradientのA6000では、T2VはWan2.1を問題なく実行できるのですが、I2Vを実施する場合にWan2.1では動画生成ができなかった(恐らくVRAM不足)ので、量子化されて軽量なWan2GP https://github.com/deepbeepmeep/Wan2GP/を使っています。
対象とする画像はChatGPTで生成した、こいつです。

環境チェックと準備
まず、GPU環境やCUDAのバージョンを確認します。
!nvidia-smi
!nvcc -V
!pip list
ここでCUDAのバージョンやドライバの状態を確認し、Wan2GPが必要とする環境に整っているかをチェックします。
ちなみに使用しているGPUはA6000 (VRAM 48GB)です。
CUDAのバージョン設定(12.4)
Wan2.1はCUDA 12.4に対応しているため、古いCUDA環境がある場合は削除し、必要なバージョンをインストールします。
!sudo apt-get --purge remove "cuda" -y
!wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
!sudo dpkg -y -i cuda-keyring_1.1-1_all.deb
!sudo apt-get update
!sudo apt-get -y install cuda-toolkit-12-4
インストールが終わったらカーネルをリスタートします.
必要ライブラリのインストール
Wan2GPに必要なPyTorchやその他ライブラリをまとめてインストールします。
!pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu124
!pip install opencv-python==4.9.0.80 transformers==4.49.0 tokenizers==0.21.0 accelerate==1.1.1
!pip install tqdm imageio easydict ftfy dashscope imageio-ffmpeg
!pip install gradio==5.23.3 numpy==1.23.5
!pip install einops
!pip uninstall diffusers -y
!pip install git+https://github.com/huggingface/diffusers.git
Flash Attentionのインストール
高効率なAttention演算を可能にするため、FlashAttentionをインストールします。
!wget https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.4.post1/flash_attn-2.7.4.post1+cu12torch2.6cxx11abiFALSE-cp311-cp311-linux_x86_64.whl
!pip install --no-dependencies --upgrade flash_attn-2.7.4.post1+cu12torch2.6cxx11abiFALSE-cp311-cp311-linux_x86_64.whl
Wan2GPのインストールと起動
まずはリポジトリをクローンします。
%cd /notebooks/
!git clone https://github.com/deepbeepmeep/Wan2GP.git
次に、必要なライブラリをインストールします。トライアンドエラーで探り当てたパッケージもあるので、なぜこれらが必要だったのかは不明です。
!pip install moviepy==1.0.3 mmgp==3.3.4 peft==0.14.0 mutagen pydantic==2.10.6
また、bitsandbytes
をGitHubからインストールすることで、軽量な量子化されたモデルが動作可能になります。
!pip uninstall --yes bitsandbytes
!git clone https://github.com/TimDettmers/bitsandbytes.git
%cd bitsandbytes
!CUDA_VERSION=124 python setup.py install
WebUIの起動(Gradioサーバー)
Wan2GPでは、GradioベースのWebUIを使って、手軽に画像やテキストから動画を生成できます。
%cd /notebooks/Wan2GP
!python gradio_server.py --i2v --share
--i2v
オプションをつけることで「Image-to-Video」モードになります。--share
をつけることで、外部公開用リンク(Gradioの外部接続)も自動生成されます。
実行すると以下のGUIへのリンクが生成されるので,あとは画像をアップロードしてプロンプトやネガティブプロンプト(Advanced Mode内にある)を入力し、Generateすると動画が生成される。

容量削減のために学習済みモデルを消す
Wan2GPはデフォルトではgithubのリポジトリをコピーしたディレクトリ内にckptsディレクトリを生成し、そこに学習済みデータを格納している。このデータは30GB程度あり、PaperspaceのVolumeを圧迫するため、実行が終わったら消しておく。
# ダウンロードした学習済みモデルを消す
%rm -r /notebooks/Wan2GP/ckpts
# 消した後にゴミ箱に格納されている。それも消すとStorageから完全に消える。
%rm -r .Trash-0
実行結果の例(出力動画)
生成した動画は以下。プロンプトは「尻尾を振りながらお手をする」みたいな感じ。
なんか目が変化したけど、概ねキャラの一貫性はある。
ちなみに流行りの人形が動くやつは以下みたい感じになった。画像は適当に拾ってきたやつをベースにしている(出典を参照ください)。
画質が粗いのは解像度は480Pで実施しているせいだが(720PはA6000では動かないと思う)、なんか動きがぎこちない。Githubの説明で、アップコンバーターやフレーム補間を推奨していた気がするから、後処理をする必要があるかも。
しかし、Twitterで見る動画はもっとキレイだが、Klingとかで作っているのだろうか。それとも私のパラメータ調整が足りないだけなのか。
まとめと今後の展望
Wan2GPは画像1枚から動画を作り出すことができる強力なフレームワークで、自然な動きを自動生成することができます。
今後は以下のような方向での活用が期待できます:
- キャラクターPVの自動生成
- 動画広告素材の短期生成
- ゲーム用NPCモーションの自動化
なお、この記事はソースコードに基づき生成AIを用いて生成した記事を修正することで作成しています。
コメント