ComfyUIで動画生成(LTXVideo)
初めに
この記事では,ComfyUIを使って動画生成を行う手順をまとめます.
表題の動画生成に関してはSection3で扱っています.
1. セットアップ
1-1. ComfyUIのインストール
OSはlinux,python3.10の環境で進めています.
インストールはComfyUIリポジトリのREADMEの通りに進めていきます.
ComfyUIとpythonライブラリのインストール.
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
pip install -r requirements.txt
1-2. ComfyUIの起動
python main.py
2. 画像生成を試す.
Diffusion 3.5 Largeを使った画像生成を行います.
まずは,controlnetを使ったimage-to-imageから実施します.
2-1. weightファイルのdownload
# Stable Diffusin3.5のweightをダウンロード
wget https://huggingface.co/Comfy-Org/stable-diffusion-3.5-fp8/resolve/main/sd3.5_large_fp8_scaled.safetensors
# weightをcheckpointフォルダに移動
mv sd3.5_large_fp8_scaled.safetensors ComfyUI/models/checkpoints
# controlnetのweightをダウンロード※
git clone https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets
# weightをcontrolnetフォルダに移動
mv stable-diffusion-3.5-controlnets ComfyUI/models/controlnet
以上を実施すると,webアプリ上からもweightファイルがあることを確認できます.
※huggingfaceからweightをダウンロードする際は,以下のピンクの枠を確認すると良いです.
2-2. ComfyUI-Managerのインストール
controlnetのガイドとして今回はdepth mapを使用します.
また,入力画像からdepth mapを推定するAIモデルであるdepth anything V2を使います.
depth anything v2を始めとしたAIモデルをComfyUI上で読み込むためのカスタムノードはすでに作られており,そのノードを簡単にアプリで扱うためにComfyUI-Managerをインストールします.
cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
cd ComfyUI-Manager
pip install -r requirements.txt
その後アプリをRestartすることで,以下のようにManager画面が表示できるようになります.
2-3. Custom Nodeのインストール
次にこのCustom Nodes Managerから実際にDepthAnythingV2のCustom Nodesを入れていきます.
検索欄で「Depth Anything」と検索し,ヒットした一番上のnodeをインストールします(筆者はインストール済み).
Restart後,node libraryに新しくDepthAnythingV2が表示されたことを確認したら,実際にnodeを配置します.DepthAnythingの出力をPreviewに接続することで,生成されたdepthmapを確認できます.
2-4. 生成
実際に生成してみます.以下の例では,入力に「ひげペンギン」の写真,Text Promptに「King Penguin」を入れ,ひげペンギンの写真を王様ペンギンに変換する例を示しています.
ちゃんと王様ペンギンに変換されていそうです.
Contolnet,Stable Diffusion側のnodeに関しては,こちらのブログを参照して組みました.
ちなみに,text-to-imageの生成だと以下のような構成になります.
3. LTXVideoで動画生成
ここからは動画生成を行っていきます.
今回は,以下のLTX-Videoを使います.
DepthAnythingと同様に,こちらもCustom Pluginをインストールします.
次に以下のリポジトリから,構成ファイルをダウンロード.
このjsonファイルをアプリから読み込むと簡単にノードグラフを作成できます.
後は,weightファイルをダウンロードしてLoaderに適切なパスを設定してあげます.
# 生成モデルのダウンロード
cd models/checkpoints && git clone https://huggingface.co/Lightricks/LTX-Video
# テキストencoderのダウンロード
cd models/text_encoders && git clone https://huggingface.co/PixArt-alpha/PixArt-XL-2-1024-MS
画面上のQueueボタンから実行すると...
ちゃんと生成できていそうです.
生成例
同じpromptでもseedを変えるだけで大きくスタイルが変わるようです.
同様にImage-to-Videoも試してみます.
生成例
動物の動きはまだ苦手なのかもしれません...
最後に
本記事では,ComfyUIを使用した動画生成を紹介しました.
動物の動きをはじめとし,まだまだ課題も多く感じられました.
特に高品質な動画をどう生成するか,どう生成をコントロールするかに関して深掘りしていく必要がありそうです.
参照
Discussion