
SeedVR2は、動画の解像度を上げながらノイズや細部を補正できる動画修復モデルです。
以前試したときは処理速度と仕上がりが気になって記事化を見送っていましたが、GGUFモデルなら少ないVRAMでも動かしやすいとのことで改めて試しました。
この記事では、ComfyUIでSeedVR2を使って動画をアップスケールする方法と、3B・7Bモデルを比較した結果を紹介します。
SeedVR2とは?
SeedVR2は、ByteDance Seedチームが公開した動画修復モデルです。
拡散モデルによる処理を1ステップにまとめ、動画のフレーム間の一貫性を保ちながら高解像度化できます。
主な特徴
- 動画と画像のアップスケールに対応
- 3Bと7Bのモデルを選択可能
- FP16、FP8、GGUFモデルに対応
- BlockSwapとVAE tilingでVRAM使用量を抑えられる
- モデルは初回選択時に自動ダウンロード可能

ライセンス
ComfyUI用カスタムノードのコードはApache License 2.0です。
モデルの利用条件は配布元ごとに異なる可能性があるため、使用するモデルのライセンスも確認してください。

必要環境とモデルの選び方
公式READMEでは、最新のComfyUIとPython 3.12以上が推奨されています。
VRAMに合わせたモデルの目安は以下です。
| VRAM | モデルの目安 | 設定 |
|---|---|---|
| 8GB以下 | 3Bまたは7BのGGUF Q4 | BlockSwapとVAE tilingを使用 |
| 12~16GB | FP8またはGGUF | 必要に応じてBlockSwapかVAE tilingを使用 |
| 24GB以上 | FP16 | メモリ節約設定なしでも動かしやすい |
この記事の比較では、VRAM 16GBの環境で3Bと7BのFP8・GGUFモデルを試しています。
ComfyUIでSeedVR2を使う方法
ComfyUIをまだインストールしていない場合は、以下の記事を参考にしてください。

ComfyUI-SeedVR2_VideoUpscalerをインストール
ComfyUI ManagerのCustom Nodes Managerで「ComfyUI-SeedVR2_VideoUpscaler」を検索してインストールします。
手動で入れる場合は、ComfyUIのcustom_nodesフォルダで以下を実行します。
git clone https://github.com/numz/ComfyUI-SeedVR2_VideoUpscaler.git
cd ComfyUI-SeedVR2_VideoUpscaler
pip install -r requirements.txtインストール後にComfyUIを再起動してください。
workflowを読み込む
以下のパスにサンプル用のworkflowがあります。
ComfyUI\custom_nodes\ComfyUI-SeedVR2_VideoUpscaler\example_workflowsgithubから直接DLする場合はこちら。
workflowをComfyUIへドラッグ&ドロップして、不足ノードが表示された場合はComfyUI Managerから追加してください。
入力動画を設定
Load Videoノードでアップスケールしたい動画を選択します。
こちらからお借りしました。

SeedVR2のノードを設定
現行版は、DiTモデル、VAEモデル、メインのVideo Upscaler、任意のTorch Compile Settingsを組み合わせる4ノード構成です。
SeedVR2 (Down)Load DiT Model

使用する3Bまたは7Bモデルを選択します。
モデルは初回選択時に自動でダウンロードされ、通常は以下へ保存されます。
ComfyUI\models\SEEDVR2VRAMを抑えたい場合はGGUFを選び、offload_deviceをcpu、blocks_to_swapを16程度から試してみてください。
SeedVR2 (Down)Load VAE Model

VAEを選択します。
エンコードまたはデコード時にメモリ不足になる場合は、encode_tiledまたはdecode_tiledを有効にします。
SeedVR2 Video Upscaler

resolutionに出力する短辺の解像度を指定します。
batch_sizeの初期値は5で、長い動画やメモリ不足が出る場合は小さくします。
SeedVR2 Torch Compile Settings

長い動画や複数バッチを処理するときの高速化用ノードです。
使えるなら使った方が良さそうですが、使用するにはライブラリなど環境を整える必要があります。
なのでよく分からないという場合は基本バイパスのままで良さそうです。
低VRAM環境で動かす設定
公式READMEでは、8GB以下のVRAMでもGGUF Q4、BlockSwap、VAE tilingを組み合わせる構成が案内されています。
| 項目 | 設定例 |
|---|---|
| model | seedvr2_ema_3b-Q4_K_M.gguf |
| offload_device | cpu |
| blocks_to_swap | 16から開始 |
| swap_io_components | メモリ不足時に有効 |
| encode_tiled / decode_tiled | VAE処理でメモリ不足になる場合に有効 |
| batch_size | 5から開始し、メモリ不足時に下げる |
blocks_to_swapを増やすほどVRAMは節約できますが、CPUとの転送が増えるため処理は遅くなります。
まず短い動画で動作確認してから、本番の動画を処理したほうがよさそうです。
SeedVR2の比較結果
元動画の426×240をSeedVR2で1916×1088へアップスケールしました。
モデルのダウンロード時間を除いた処理時間は以下の通りです。
| 方式 | 処理時間 |
|---|---|
| seedvr2_ema_3b_fp8_e4m3fn | 16分18秒 |
| seedvr2_ema_3b-Q4_K_M | 15分57秒 |
| seedvr2_ema_7b_fp8_e4m3fn_mixed_block35_fp16 | 15分12秒 |
| seedvr2_ema_7b-Q4_K_M | 15分12秒 |
・元動画
・seedvr2_ema_3b_fp8_e4m3fn
・seedvr2_ema_3b-Q4_K_M
・seedvr2_ema_7b_fp8_e4m3fn_mixed_block35_fp16
・seedvr2_ema_7b-Q4_K_M
エラーが出る場合
メモリ不足が発生した処理段階に合わせて設定を変えると改善できる可能性があります。
- Encodingで止まる:encode_tiledを有効にしてtile_sizeを下げる
- Upscalingで止まる:BlockSwapを有効にしてblocks_to_swapを増やす
- Decodingで止まる:decode_tiledを有効にしてtile_sizeを下げる
- それでも止まる:batch_sizeかresolutionを下げる
処理が遅い場合は、FP8またはGGUFモデルを使い、対応環境ならtorch.compileやFlash Attentionを試します。
まとめ
個人としては普通に大きいモデルほど綺麗にアップスケールできる印象でした。
ただやはり時間がかかるのでスペック次第なところはあると思います。
VRAM16GBでも7Bで実行できましたが、5秒の動画に約15分掛かるので、実用的かといわれるとちょっと微妙な感じでした。
ただアップスケール自体は綺麗にできるので、使いどころ次第かなとも思います。
以上ComfyUIでSeedVR2を使う方法について紹介しました。
参考になれば幸いです。
