この記事ではComfyUIでSVDを使用する方法を紹介します。
ComfyUIでStable Video Diffusionを使用すればVRAM8GB未満でも動画生成が可能になります!
- Stable Video Diffusionのインストール方法
- Stable Video DiffusionをComfyUIで使用する方法
- Stable Video DiffusionのVRAM使用量について
SVDとは?
SVDはStable Video Diffusionの略で、Stability AIによって開発された画像から動画を生成するAIモデルです。
2023年11月22日にプレビュー版として公開されています。
SVDは、画像生成モデルであるStable Diffusionをベースに開発されています。
Stable Diffusionは、テキストから画像を生成するモデルとして知られていますが、SVDでは入力を画像にすることで、画像の内容に即した動画を生成できます。
ComfyUIでStable Video Diffusionを使うための環境構築
ComfyUIのインストール
ComfyUIをインストールしていない方は、以下の記事を参考にインストールしましょう。
ComfyUIのアップデート
ComfyUIでStable Video Diffusionを使うには最新のComfyUiが必要になります。
インストール済みで長い間アップデートしていない方は、以下の記事を参考にアップデートしましょう。
Stable Video Diffusionのインストール
以下の手順でSVDが使えるようになります。
Stable Video Diffusionのモデルは以下の2種類があります。
- stable-video-diffusion-img2vid
-
14フレームの動画を作成可能(解像度は576×1024で学習されている)
- stable-video-diffusion-img2vid-xt
-
25フレームの動画を作成可能(解像度は576×1024で学習されている)
動画生成用のモデルは「svd.safetensors」もしくは「svd_xt.safetensors」です。
これらのモデルをダウンロードしましょう。
モデルをダウンロードしたら、普段チェックポイントモデルを保存しているフォルダに保存します。
ComfyUIのデフォルトフォルダは「ComfyUI」→「models」→「checkpoints」です。
Stable Video Diffusionで動画を作成したい場合は、公開されているワークフローの使用がおすすめです。
出来上がったワークフローを使用すれば、簡単に動画作成できるよ!
ComfyUI SVDの例が公開されているページから、ワークフローがダウンロードできます。
「Workflow in Json format」を右クリックし「名前を付けてリンクを保存…」をクリックします。
(上段のWorkflow in Json formatがi2vで下段がt2v用のワークフローです)
保存先はどこでも構いません。
後ほど、ComfyUiでこのファイルをロードするので、わかりやすい場所に保存しましょう。
Stable Video Diffusionの動画生成手順
i2v(image to video)、t2v(text to video)それぞれのワークフローについて解説していきます。
ダウンロードしたワークフローは、ComfyUIのメニューにあるLoadボタンからロードできます。
i2v(image to video)の動画生成手順
i2v(image to video)は参照画像を用意して、画像から動画を作成できます。
以下の手順で動画生成が可能です。
ワークフローの左にあるImage Only Checkpoint Loader(img2vid model)ノードで任意の動画モデルを選択します。
ワークフローの左にあるLoad Imageノードに参照画像を設定します。
画像はドラッグ&ドロップするか、「choose file to upload」をクリックして画像を選択してください。
ワークフローの中央にあるSVD_img2vid_Conditioningノードの「video_frames」をsvdなら14、svd_xtなら25に設定します。
最後にComfyUIメニューの「QueuePrompt」をクリックすれば動画が生成されます。
t2v(text to video)の動画生成手順
t2v(text to video)はプロンプト(テキスト)から画像を生成し、その後動画を生成します。
以下の手順で動画生成が可能です。
ワークフローの左にあるLoad Checkpointノードで、任意の画像生成用モデルを選択します。
ワークフローの左側にあるCLIP Text Encode(Prompt)ノードに、プロンプトを入力します。
- 上段のCLIP Text Encode(Prompt)ノードがKSamplerノードのpositiveに接続されているので、プロンプトを入力します
- 下段のCLIP Text Encode(Prompt)ノードがKSamplerノードのnegativeに接続されているので、ネガティブプロンプトを入力します
ワークフロー中央にあるImage Only Checkpoint Loader(img2vid model)ノードで、ダウンロードしたsvdモデルもしくは、svd_xtモデルを選択します。
ワークフローの右側にあるSVD_img2vid_Conditioningノードの「video_frames」をsvdなら14、svd_xtなら25に設定します。
最後にComfyUIメニューの「QueuePrompt」をクリックすれば動画が生成されます。
生成されたwebp形式のファイルは、ブラウザなどで開いて確認が可能です。
その他の設定項目について
使用したワークフローのその他の設定については、ワークフロー例のページで以下の通り解説されています。
https://comfyanonymous.github.io/ComfyUI_examples/video/
- video_frames: 生成するビデオ フレームの数
- motion_bucket_id: 数値が大きいほど、ビデオ内の動きが多くなります
- fps: fps が高くなるほど、ビデオの途切れが少なくなります
- augmentation level: 初期画像に追加されるノイズの量。値が高いほど、ビデオは初期画像のように見えなくなります。 動きを増やすには値を大きくします
- VideoLinearCFGGuidance: このノードは、これらのビデオ モデルのサンプリングを少し改善します。このノードは様々なフレームにわたって cfg を線形にスケーリングします。例では、最初のフレームは cfg 1.0 (ノードの min_cfg)、中間フレームは 1.75、そして最終フレームは 2.5 になります。 (サンプラーに設定された cfg)。 このように初期フレームから離れるほど徐々に高い cfg が適用されます。
WEBPではなく、MP4やGIFで保存したい場合
MP4やGIFなどの別の動画形式で保存したい場合は「ComfyUI-VideoHelperSuite」が便利です。
カスタムノードのインストールについてはComfyUI Managerを使うと簡単です。
ComfyUI Managerについては以下の記事で解説しています。
滑らかな動画を生成したい場合
フレーム補間処理を実施すると、滑らかな動画が生成可能です。
ComfyUI上でフレーム補間するなら、カスタムノード「ComfyUI-Frame-Interpolation」がおすすめです。
外部アプリケーションなら「FFmpeg」がおすすめです。
高品質とはいえませんが、簡単な補間程度なら十分です。
VRAM使用量について
標準となる1024×576の解像度で動画生成した場合、MAX9.1GB使用しました。
(グラボは4070tiでテスト)
8GB未満にならなかったので、解像度を512×512でt2v動画生成したところ、MAX5.9GBでした。
(i2vでは解像度を落としてもVRAM使用量はそれほど変わりませんでした)
テストしている方の中では8GB未満でも生成できているようなので、環境次第といったところでしょうか。
僕はQHDモニターを3枚使用しているので、VRAM使用量が高いかも・・・
それでもsvd-webuiを使うよりかはVRAM使用量が少ないので、ComfyUIなら多くの方がSVDで動画生成できますね。
SVDが簡単に使用できるsvd-webuiでは、svdモデルはVRAM15GB必要で、svd-xtモデルはVRAM18GB必要です。
まとめ
ComfyUIを使えば、Stable Video Diffusionで簡単に動画を生成できます。
VRAM8GB未満のパソコンでも利用できるので気軽に使えますが、プロンプトで動画の構図を指定することはできないので、今後の発展に期待です。
SVDはComfyUIの他、WebUI Forgeでも使用することが可能です。
ForgeでSVDを使用する方法は以下の記事で解説しています。
コメント