LTX-2.3 Models Loader ⚡
The five-file kit that makes LTX-2.3 actually run
- model
- clip
- vae
- audio_vae
LTX-2.3 A/V checkpoints don't ship as one file. The community "kit" format splits them into a diffusion model, a text encoder, a projection file, and two VAEs (video and audio) - five pieces that ComfyUI will not assemble for you by hand. LTX-2.3 Models Loader is the node that assembles them: it loads the DiT, the Gemma-3 text encoder with its dual projection, and both VAEs, and hands you MODEL, CLIP, vae and audio_vae as plain comfy objects. It's built for the 10Eros v1.4 distilled kit and works for any split with the same layout.
What it loads
Five dropdowns, each from a standard folder:
unet_name- the A/V DiT frommodels/diffusion_models. GGUF quants (..._Q4_K_M/Q6_K/Q8_0.gguf) or_fp8mixed.safetensorsboth work, and GGUF stays quantized through the pack's ops.text_encoder_name- the Gemma-3 12B text encoder frommodels/text_encoders, GGUF or safetensors.projections_name- the kit's*_projections.safetensors, the dual 4096/2048 projection paired with the encoder, also inmodels/text_encoders.video_vae_name- the LTX-2 video VAE frommodels/vae.audio_vae_name- the LTX-2 audio VAE + vocoder frommodels/vae.
Outputs: model, clip, vae, audio_vae - the vae/audio_vae distinction is the whole reason for this node's shape, and the downstream nodes (LTXV23ImgToVideo, LTXV23AVDecode) label their inputs to match.
Why the details matter
The DiT carries its transformer config as a GGUF KV - no metadata sidecar to lose - so ComfyUI builds the real LTX-2.3 geometry (48 layers, 9-row modulation tables, 4096/2048 embedding connectors) instead of guessing the older LTX-2 layout. That's the difference between "loads and produces LTX-2-era garbage" and "loads correctly." The text encoder runs as ComfyUI's LTXAVTEModel, and a GGUF Gemma stays quantized through the same ops. The two VAEs are genuinely different - one video, one audio-plus-vocoder - and the loader names their outputs so you can't cross them.
Where it sits
LTXV23ModelsLoader → LTXV23ImgToVideo → LTXV23KSampler (or LTXV23RefineSampler) → LTXV23AVDecode. That's the entire default LTX-2.3 graph. For an ID-LoRA talking-head variant, stack a distilled LoRA (~0.5) and an ID-LoRA (~1.0) onto model with stock LoraLoaderModelOnly and set the reference voice with core LTXVReferenceAudio - both already served by stock nodes, no wrapper needed.
Installing it
Same pack:
cd ComfyUI/custom_nodes
git clone https://github.com/ChrisColeTech/ComfyUI-GGUF-Loader
cd ComfyUI-GGUF-Loader
pip install --upgrade gguf
Restart; under 🤖 CCTech/LTX-2.3. The load itself is heavy - the DiT alone is 7-10 GB and the text encoder ~24 GB - so the first load is slow and RAM is the real requirement, not just VRAM.
Gotchas
The projections_name file must match the text encoder - the pack ships a smoke test that validates every kit file's load path, which tells you this pairing is the fiddly bit. If a loader's dropdown looks thin, the file's in the wrong folder (DiT → models/diffusion_models, encoder/projections → models/text_encoders, VAEs → models/vae). And remember the license: LTX-2.3 sits under the LTX-2 Community License (free under a $10M revenue threshold), so the "open" comes with terms worth reading before commercial use.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| unet_name | COMBO | LTX-2.3 A/V DiT from models/diffusion_models. GGUF stays quantized. | |
| text_encoder_name | COMBO | Gemma-3 12B text encoder from models/text_encoders. | |
| projections_name | COMBO | The kit's *_projections.safetensors — the dual 4096/2048 projection paired with the encoder. | |
| video_vae_name | COMBO | LTX-2 video VAE. | |
| audio_vae_name | COMBO | LTX-2 audio VAE + vocoder. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| clip | CLIP | — |
| vae | VAE | — |
| audio_vae | VAE | — |