🦊LTX-Video
🏠 | 🦊雑に学ぶComfyUI
👈 |
👉 |
カスタムノードのインストール
https://github.com/Lightricks/ComfyUI-LTXVideoComfyUI-LTXVideo
モデルダウンロード
https://huggingface.co/Lightricks/LTX-Video/blob/main/ltxv-2b-0.9.6-dev-04-25.safetensorsltxv-2b-0.9.6-dev-04-25.safetensors
https://huggingface.co/Lightricks/LTX-Video/blob/main/ltxv-2b-0.9.6-distilled-04-25.safetensorsltxv-2b-0.9.6-distilled-04-25.safetensors
モデルを置く場所
$ path\to\ComfyUI\models\checkpoints\LTXV
うまくいくために知っておくべきパラメータ(from : https://huggingface.co/Lightricks/LTX-Video)
解像度は32の倍数 ∧ 720 × 1280以下
フレーム数は8の倍数+1(e.g.:257)∧ 257未満
プロンプトは英語で詳細に書かなければいけない
text2video
https://gyazo.com/d4d58131d953e9562452d6ac30257aee
LTXV_text2video.json
🟪devモデルを使います
テキストエンコーダはt5
🟥LTX-Videoはシンプルで短いプロンプトだとまっっっったく上手く生成できません
自分で丁寧に書いたり、ChatGPTに頼ったりする方法もありますが、公式の拡張機能🅛🅣🅧 LTXV Prompt EnhancerノードはLLamaを使いpromptの欄に書いた短いプロンプトをLTXV用に、いい感じに推敲してくれます
🟨🦊LTX-Video#680761aa0000000000d896d9にあるように動画のサイズと長さに注意
🟩ステップ毎のガイダンス (CFG/STG) を最適化します
公式がとりあえず使っとけとい言ってるので使っときます
text2video (蒸留モデル)
https://gyazo.com/68d1947a6037c734b98c0bc18e9132a8
LTXV_text2video_distilled.json
🟪蒸留(distilled)モデルを使います
🟩蒸留モデルなのでFlux.1 devなどと同じ用に単なるCFG=1を使います
Samplerとsigmaについて
Samplerはeuler ancestral推奨
蒸留によって最適なシグマ値が決められているので(多分)、公式の推奨値をそのまま使います
image2video
https://gyazo.com/0b3edb496be6200463147a6a169df7de
LTXV_image2video.json
🟨画像を読み込んで適切なサイズになるようにリサイズし、LTXVImgToVideoノードに入力します
LTX-Videoはキレイすぎる画像だと上手く動画にできない問題があるためLTXVPreprocessノードで画像を劣化させます
cf. LTX-Video#676423e4e2dacc000006eceb
値を大きくすればより劣化した画像になり、生成される動画がよりダイナミックになりますが、暴れすぎるときもあるため調整しましょう
🟥テキストだけでなく、画像も入力することができ、それぞれを参照しながら適切なプロンプトに書き換えてくれます
generative interpolation
https://gyazo.com/c4217e578531f9fdb725476069d7ba0a
LTXV_generative_interpolation.json
🟥二枚の画像をバッチにしてPrompt Enhancerに渡しています
多分ちゃんと二枚見比べながらプロンプト書いてくれてるはず
(左の方の)🟦処理した始めと終わりの画像をそれぞれLTXVAddGuideノードにつなぎます
(右の方の)🟦Samplerから出てきたlatentをデコードする前にLTXVCropGuidesノードを挟みます
https://gyazo.com/4d1d52846b69a1f34c3237a281d3742b
LTXVでフレーム補完する場合、ざっくりいうとのりしろのようなフレームが追加されます
この設定だと121f(生成したいフレーム) + 16f(のりしろ)で、137fサンプリングしています
のりしろは最終的な動画にはいらないので、デコードする前にこのノードで削除します
FlowEdit
動画と編集後のイメージ画像を渡すと、それに従って動画を編集します
https://gyazo.com/2cb6f61351fa940a58dbde0de61a1b7d
LTXV-FlowEdit.json
https://gyazo.com/8f427be69785b082aaf78c4db8212a71https://gyazo.com/110c8d1161d9ae55b79a490b5290f21d
動画の最初と最後のフレームを抽出して別の方法で編集しておきます
これはcatvton-fluxで着せ替え
source_posプロンプト(上側)には入力動画を説明するプロンプトを入力します
e.g. 緑のドレスを着た女性が体を振っている
target_posプロンプト(下側)には編集後の動画を説明するプロンプトを入力します
e.g. 赤いボタンを付けた紺色のドレスを着た女性が体を振っている
🟨参照画像のアスペクト比は、動画と全く同じである必要があります