LTX 2.3とは?

LTX 2.3 は、Lightricks の動画生成モデル LTX-2 の改良版です。

基本的な考え方やノード構成は LTX-2 と同じです。
そのため、このページでは LTX-2 から何が変わるか だけ見ていきます。


推奨設定値

  • 解像度
    • 最終出力として 1.5M ピクセル前後
    • ※32の倍数である必要があります
  • FPS
    • 24 / 25 / 48 / 50
  • フレーム数
    • 65 / 97 / 121 / 161 / 257
    • 8n + 1 である必要があります

モデルのダウンロード

📂ComfyUI/
└── 📂models/
    ├── 📂checkpoints/
    │   └── ltx-2.3-22b-dev-fp8.safetensors
    ├── 📂latent_upscale_models/
    │   └── ltx-2.3-spatial-upscaler-x2-1.1.safetensors
    ├── 📂loras/
    │   └── ltx-2.3-22b-distilled-lora-384.safetensors
    └── 📂text_encoders/
        └── gemma_3_12B_it_fp8_scaled.safetensors

基本的な処理の流れ

アーキテクチャは LTX-2 と同じなので、workflow もそのまま流用できます。
ただし、そのままではあまり良い結果が出ません。

そこで、このページでは、コミュニティが見つけた 3stage workflow を紹介します。

もともと LTX-2 は、一度低解像度で生成したものを Hires.fix して 1.5MP にする 2stage での生成をしていました。
2.3 ではさらに 1 段増やし、非常に小さな解像度で生成したものを 2 倍 Hires.fix、さらにそれをもう 2 倍 Hires.fix します。

公式に推奨されている方法ではありませんが、明確に結果が良いのでこちらを採用しています。

全て distilled-lora を適用した 8 ステップ生成です。


プロンプトについて

LTX-2 と同様に、プロンプトの質はそのまま生成動画の質に繋がります。
公式のプロンプトガイドを参考にしながら、定量的で情報量のあるプロンプトを書くのがおすすめです。

LLM に手伝ってもらうのも有効です。参考リンクと作りたい内容を渡して、整えてもらいましょう。

ComfyUI には、コアで LLM を動かす TextGenerate ノード があります。
多くの LTX-2 workflow ではこれでプロンプトを整えていますが、あくまでプロンプトを修正するだけのノードなので、このページの workflow では使っていません。
個人的には ChatGPT や Gemini で別に作る方が気楽だと思います。


text2video

LTX-2.3_text2video_distilled_3stage.json

動画解像度・長さ・FPSの設定

生成したい動画と音声のパラメータをここで決めます。

  • EmptyLTXVLatentVideo / LTXV Empty Latent Audio に、解像度・フレーム数・FPS を入力します。
  • 🚨LTX-2 のときと異なる部分
    • 2倍を二回、つまり最終的には縦横4倍の解像度になるため、それを加味して 0.1MP 程度の値を設定します

出力例


image2video

LTX-2.3_image2video_distilled_3stage.json

出力例

入力
入力
出力

audio2video

LTX-2.3_audio2video_distilled_3stage.json

出力例


audio-image2video

LTX-2.3_audio-image2video_distilled_3stage.json

出力例


Generative Interpolation

FLF2V や FMLF2V とも呼ばれますが、途中のフレームに画像を差し込み、それを目印に動画を生成する仕組みです。

LTX-2.3_generative-Interpolation_distilled_1stage.json

image2video の延長にも見えますが、仕組みとしては別物です。
image2video は最初の 1 枚を参照画像に差し替え、残りのフレームを生成します。
それに対してこちらは、途中のフレームごとに参照画像をガイドとして横に置いて生成させます。

1. 画像のリサイズ

参照画像を適切なサイズ(1.5 MP)にリサイズします。

  • 二枚目以降も一枚目と同じサイズにリサイズする必要があります。
  • Resize Image/Mask ノードにある match size モードを使うと簡単です。

2. LTXVAddGuide

ここで参照画像をガイドとして差し込みます。

  • frame_idx に、差し込みたいフレーム位置と画像を入力します。
    • 0: 最初のフレーム
    • -1: 最後のフレーム
  • この workflow では参照フレームを 3 つにしていますが、直列につないでいけばいくらでも増やせます
    • 逆に 1 枚だけなら image2video のように使えますし、最初と最後だけ差し込めば FLF2V になります。

3. LTXVCropGuides

LTX-2 のガイド機構では、そのまま出力すると生成した動画にガイド画像が混ざってしまいます。
そのため、LTXVCropGuides ノードでガイド部分を除去します。

詳しい挙動はこちらで確認してください。

出力例

入力
出力

IC-LoRA

LTX-2.3 でも、LTX-2 と同様に IC-LoRA 系の拡張を使うことができます。
いくつか種類がありますが、ここでは分かりやすい二種だけ紹介します。

  • Union
    • ポーズや深度マップ、エッジを条件に動画を生成します
  • Outpaint
    • 入力動画の黒い部分を自然に埋めます

モデルのダウンロード

📂ComfyUI/
└── 📂models/
    └── 📂loras/
        ├── ltx-2.3-22b-ic-lora-union-control-ref0.5.safetensors
        └── ltx-2.3-22b-ic-lora-outpaint.safetensors

IC-LoRA Union (Pose)

LTX-2.3_IC-LoRA(Pose)_distilled_2stage.json
  • 🚨IC-LoRA のときは 3 stage ではなく 2 stage の workflow を使います
  • IC-LoRA Union では、制御動画に「生成動画の半分の解像度」を使う、という少し特殊な方法を使います
    • そのため 3 stage にすると、制御画像の解像度はさらに小さくなり、100px 前後まで落ちます
    • そこまで小さくなると、制御画像として必要な情報を保ちにくくなります
    • そのため、IC-LoRA では 2 stage で止める方が安定します

出力例

入力
出力

IC-LoRA Outpaint

LTX-2.3_IC-LoRA-Outpaint_distilled_1stage.json

入力動画の黒い部分を自然に埋める workflow です。
元の動画をなるべく崩したくないため、低解像度から順に拡大していく 3stage ではなく、1stage にしています。

LoRAモデルの読み込み

IC-LoRA-Outpaint の LoRA を読み込みます。

黒でPadding

広げたい範囲を、黒で Padding して追加します。
特別なマスクを作る必要はなく、黒で埋まっていれば大丈夫です。

  • まだ試していませんが、inpainting 的な使い方もできるかもしれません

出力例

入力
出力

ID-LoRA

参照画像 1 枚 + 短い参照音声 + テキストプロンプトから、その人がその場面でその内容を喋っている talking head 動画を生成します。

ボイスクローンで作った音声をあとから audio-image2video に流し込むのとは違い、ID-LoRA は音声と動画を同時に生成します。
そのため、口の動きや声の雰囲気も含めて、より一体感のある映像になりやすいです。

モデルのダウンロード

配布ファイル名はどちらも lora_weights.safetensors です。
分かりにくいので、それぞれ LTX-2.3-ID-LoRA-CelebVHQ-3K.safetensors / LTX-2.3-ID-LoRA-TalkVid-3K.safetensors にリネームしておくと扱いやすいです。

📂ComfyUI/
└── 📂models/
    └── 📂loras/
        ├── LTX-2.3-ID-LoRA-CelebVHQ-3K.safetensors
        └── LTX-2.3-ID-LoRA-TalkVid-3K.safetensors

workflow

LTX-2.3_ID-LoRA_distilled_3stage.json

全体のベースは image2video です。
そこに、ID-LoRA 用の LoRA と参照音声条件を追加します。

ID-LoRA モデル

ID-LoRAを読み込みます。

  • LTX-2.3-ID-LoRA-CelebVHQ-3K
  • LTX-2.3-ID-LoRA-TalkVid-3K

二種類ありますが、データセットが違うだけで仕組みとしては同じものです。
さほど違いはありませんが、両方使ってみて相性の良い方を見つけてみてください。

LTXV Reference Audio (ID-LoRA)

ID-LoRAと参照音声をつなぎます。

  • 参照音声には、5秒程度にトリムしたものを使います。
  • あくまで参照するだけなので、生成する動画の長さとは関係ありません。

プロンプト

プロンプト形式は決まっているので、これに従って書きます。

[VISUAL]: 場面描写および登場人物の見た目
[SPEECH]: 登場人物のセリフ
[SOUNDS]: 演者のしゃべり方 + 環境音/周囲の音
  • ナレーションのように声だけ乗る形にならないよう、人物が実際に喋っていることも [VISUAL] に書いておくと安定しやすいです

出力例

input
input
ref_audio
output