【ComfyUI】VRAM8GBで画像から動画を作るおすすめ設定|5秒の動画を約10分で、設定ファイル付き

スポンサーリンク
生成AI
スポンサーリンク

VRAM 8GB のグラボ(RTX 2080 SUPER)で、ComfyUI と Wan 2.2 を使って画像から5秒の動画を作るときに、「見ていられる出来」と「待てる時間」のバランスがいい設定を探した。

いろいろ試した結果、この記事のおすすめは「Wan 2.2 の Q8_0 モデル、14ステップ、起動オプション --fast」の組み合わせだ。5秒の動画1本が約10分20秒でできて、手や顔が崩れない。設定ファイルを配っているので、そのまま真似できる。

おすすめ設定で作った動画

まずは出来を見てほしい。下の画像1枚と「桜の公園で、女性がほほえんで手を振る。カメラは固定」という内容の指示(プロンプト)から作った5秒の動画だ。

元にした画像(桜の公園に立つ女性)
元にした画像(同じ PC の Stable Diffusion で作った)

カメラは固定のまま、女性がほほえんで手を振る。背景の桜並木も元の画像のままだ。振っている手は少しぶれて半透明っぽくなるが、顔や背景は崩れていない。

1本にかかった時間 約10分20秒(619秒)。ComfyUI を起動して最初の1本は約11分(659秒)
動画の大きさ 1280 x 704、121コマ(約5秒)
使った PC RTX 2080 SUPER(VRAM 8GB)、Core i9-9900K、メモリ 32GB、Windows 11

時間は ComfyUI が表示する「Prompt executed in」(1本を作り終えるまでの時間)の値だ。

おすすめ設定のやり方

ComfyUI(portable 版)と Wan 2.2 は、前の記事の手順で入れてある前提だ。まだの人は先にこちらを読んでほしい。

設定ファイル(起動用の bat とワークフロー)はここからダウンロードできる。

1. Q8_0 のモデルを入れる

Hugging Face の QuantStack/Wan2.2-TI2V-5B-GGUF から Wan2.2-TI2V-5B-Q8_0.gguf(約5.4GB)をダウンロードして、次のフォルダに置く。

ComfyUI_windows_portable\ComfyUI\models\unet

テキストエンコーダー(umt5-xxl-encoder-Q5_K_M.gguf)と VAE(Wan2.2_VAE.safetensors)は、前の記事で入れたものをそのまま使う。

2. 起動用の bat を作る

zip の中の run_nvidia_gpu_fast.bat を、run_nvidia_gpu.bat と同じフォルダ(ComfyUI_windows_portable)に置く。自分で作る場合は、メモ帳で次の2行を書いて run_nvidia_gpu_fast.bat という名前で保存する。

.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --fast --disable-dynamic-vram
pause

今後はこの bat をダブルクリックして ComfyUI を起動する。元の run_nvidia_gpu.bat はそのまま残しておけば、いつでも戻せる。

3. ワークフローを読み込む

ComfyUI の画面に Wan22_5B_Q8_i2v_recommend.json をドラッグ&ドロップする。あとは「Load Image」に自分の画像を入れて、プロンプトを書き換えて実行するだけだ。

モデルのファイル名が違うと赤いエラーが出るので、そのときは各ノードで自分のファイルを選び直してほしい。前の記事のワークフローを自分で直したい人は、次の値に変えれば同じになる。

ノード 項目 値
Unet Loader (GGUF) unet_name Wan2.2-TI2V-5B-Q8_0.gguf
KSampler steps 14
cfg 5
sampler_name uni_pc
scheduler simple
ModelSamplingSD3 shift 8
VAE Decode (Tiled) tile_size 512
overlap 32
temporal_size 64
temporal_overlap 8
Wan22ImageToVideoLatent width / height / length 1280 / 704 / 121

Turbo モデル用の LoRA ノードは外してある。使った指示(プロンプト)もワークフローに入れたままにしてあるので、書き方の参考にしてほしい。

この設定にした理由

ここからは、おすすめ設定を決めるために比べたことだ。気になる人だけ読んでほしい。時間はどれも同じ設定で2回作ったときの2回目の値で、入力画像1枚・同じ乱数(seed)1つで確かめた結果だ。

ステップ数は14まで減らしても崩れない

ステップ数(KSampler の steps)は、AI が絵を描き直す回数だ。公式のワークフローは20だが、時間はステップ数にほぼ比例するので、どこまで減らせるかを試した。

ステップ数 1本の時間 出来
20 14分6秒 崩れなし
14(おすすめ) 10分19秒 崩れなし。20と見分けがつかない
10 7分47秒 手から顔にかけてピンクの筋が出る

4つを並べた動画がこれだ。左上が基準にした元の大きさのモデル(fp16、20ステップ、--fast なしで約16分)、右上が Q8_0 の20ステップ、左下が14ステップ、右下が10ステップ。

手のあたりを切り出して並べるとこうなる。10ステップ(右端)だけ、手の横にピンクのリボンのようなものが出ている。

ステップ数ごとの手のあたりの比較
上が60コマ目、下が120コマ目。左から fp16・20ステップ、Q8_0 の20・14・10ステップ

手の形がいちばんはっきりしているのは fp16(左端)で、Q8_0 は手が少し半透明になる。ただ、動画で見ると気にならない程度だった。

モデルのファイルを小さくしても速くならない

Wan 2.2 のモデルには、元の大きさのもの(fp16、約10GB)のほかに、中身を少し粗くしてファイルを小さくしたもの(GGUF 形式の Q4_K_M、Q5_K_M、Q8_0)がある。VRAM が少ないなら小さいほうが速いと思っていたが、20ステップで比べるとどれも約16分で、差はなかった(このときは --fast なし)。

モデル ファイルの大きさ 1本の時間 fp16 との似かた
Q4_K_M 3.4GB 15分51秒 手の高さや口の形が少し違う
Q5_K_M 3.8GB 16分31秒 手の高さや口の形が少し違う
Q8_0 5.4GB 16分16秒 ほぼ同じ
fp16 10.0GB 16分3秒 (基準)

時間が変わらないなら、元に近い Q8_0 か fp16 を選べばよい。fp16 も VRAM 8GB で動いた(入りきらない分を ComfyUI がメインメモリに逃がしてくれる)。この記事では、ファイルが半分の大きさで済む Q8_0 をおすすめにした。ディスクに余裕があって、手の形を少しでもはっきりさせたい人は fp16 でもよい。

起動オプションと VAE の設定で約2分縮む

同じ Q8_0・20ステップでも、次の2つを変えると1本 16分16秒 が 14分6秒 になった。

  • 起動オプションに --fast と --disable-dynamic-vram を足す。--fast は ComfyUI の説明では「画質が落ちるかもしれない、試験的な高速化を有効にする」オプションだが、見た限り崩れはなかった
  • 最後に動画へ変換する部品(VAE Decode (Tiled))の overlap を 128 から 32 に下げる。変換が約2分20秒から約1分40秒になった

overlap を 0 まで下げると、手のあたりにタイルの継ぎ目(縦の線)が出た。tile_size を 768 に上げると VRAM があふれて27分以上かかったので、512 のままにしておく。

とにかく速さを優先するなら Turbo モデル

少ない手順で動画を作れるように作られた「Turbo」というモデル(4ステップ)を使うと、上の起動オプションと overlap 32 の組み合わせで1本 約2分45秒(163秒)になる。ただし、「カメラは固定」と指示してもカメラが人物に寄っていき、手を上げたときにぶれて半透明になる。下は Turbo モデルで作った動画だ(起動オプションなし、約3分50秒)。

さらに、動画へ変換する部品を軽いもの(Hugging Face の lightx2v/Autoencoders にある lighttaew2_2.safetensors)に替えると約1分半(86秒)まで縮んだ。そのかわり、動いている手にブロック状のノイズが出る。プロンプトの当たりを探すために何本も作り直したいときは、こちらも選択肢になる。

まとめ

この記事のまとめ

VRAM 8GB のグラボでも、画像から5秒の動画は作れる。おすすめは Q8_0 モデル・14ステップ・起動オプション --fast の組み合わせで、1本 約10分20秒で崩れのない動画になった。設定ファイルを置いておくので、まずはそのまま試してみてほしい。

関連記事

参考

コメント

タイトルとURLをコピーしました