Text Encoder Part~0.5 GB2GB+ VRAMlora

ltx-2.3_text_projection_bf16.safetensors

LTX 2.3 Text Projection (Kijai)

Text projection layer (BF16) that maps the Gemma 3 text-encoder output into the dimension LTX 2.3's transformer expects. A small required component for ComfyUI workflows that wire the text encoder up as separate parts. Place in models/text_encoders/.

Released 2026-05-27 · Source: Kijai/LTX2.3_comfy (HuggingFace)Part of Kijai's late-May component split that separates the Gemma text encoder, projection, and VAEs into independently loadable files.

Download ltx-2.3_text_projection_bf16.safetensors

Direct HuggingFace download. ~0.5 GB · Free.

Install path: ComfyUI/models/text_encoders/ + ltx-2.3_text_projection_bf16.safetensors

No 2GB GPU? Try ltx-2.3_text_projection_bf16.safetensors online — free generation included

Skip the ~0.5 GB download and ComfyUI setup. Generate a 6-second video using this exact model in your browser, ~30 seconds.

Try this model online — free →

Technical details

ltx-2.3_text_projection_bf16.safetensors is the projection layer that bridges the Gemma 3 12B text encoder and the LTX 2.3 DiT transformer. Gemma produces text embeddings in its own hidden dimension; the transformer's cross-attention expects a different dimension. This file is the learned linear projection that converts one to the other. Without it, the text path is dimensionally mismatched and the prompt never reaches the model.

It is a tiny BF16 component (~0.5 GB) and goes in ComfyUI/models/text_encoders/ — the same folder as the Gemma file (gemma_3_12B_it_fp4_mixed / fp8_scaled / comfy_gemma_3_12B_it). Kijai's ComfyUI port splits the text encoder into the Gemma weights plus this projection so each can be quantized and swapped independently.

This is not the text encoder itself and not a VAE. It carries no semantic knowledge — it is pure plumbing between two components. You still need a Gemma 3 12B file for the actual encoding.

When to choose ltx-2.3_text_projection_bf16.safetensors

Download this whenever your workflow loads the Gemma text encoder as separate components (the common Kijai ComfyUI setup). In that layout it is required — pair it with one Gemma 3 12B file: FP4 mixed on 16 GB, FP8 scaled on 24 GB, or the full BF16 on 32 GB+.

You can skip it only if your workflow uses a bundled/all-in-one text-encoder node that already contains the projection. If a text-encoder node turns red complaining about a missing projection or a shape mismatch, this is the file you are missing.

There is no quality choice to make here — it is BF16 only and the same file regardless of which Gemma quant you pair it with.

Will this run on my GPU?

Minimum: 2GB VRAM.

GPUVRAMVerdict
RTX 3060 12GB12GBComfortable
RTX 4060 Ti / 4070 (16GB)16GBComfortable
RTX 4070 Ti SUPER / 4080 (16GB)16GBComfortable
RTX 3090 (24GB)24GBComfortable
RTX 4090 (24GB)24GBComfortable
RTX 5090 / A6000 (32GB+)32GBComfortable

Recommendation: Download alongside your Gemma 3 12B text encoder — workflows that load the encoder as separate components also load this projection file. About 0.5 GB. Not needed if your workflow uses an all-in-one text encoder node.

How to use ltx-2.3_text_projection_bf16.safetensors

  1. Download the file from HuggingFace.
  2. Place it in ComfyUI/models/text_encoders/ inside your ComfyUI directory.
  3. Restart ComfyUI (or refresh the model list from the menu).
  4. Load a compatible workflow — see below.

Don't want to run this locally? Try ltx-2.3_text_projection_bf16.safetensors online with a free generation — no GPU, no install, ~30 seconds per clip.

ComfyUI says it can't find ltx-2.3_text_projection_bf16.safetensors?

Some published workflow JSONs reference this file under a custom subdirectory. If ComfyUI shows a "cannot find model" error and your workflow references one of these path-prefixed variants:

  • text_encoders/ltx-2.3_text_projection_bf16.safetensors
  • ltx23\ltx-2.3_text_projection_bf16.safetensors

The prefix before the slash or backslash is a subdirectory the workflow author used. The actual file is the same ltx-2.3_text_projection_bf16.safetensors — you have two fixes:

  1. Create the matching subdirectory inside ComfyUI/models/text_encoders/ and place the file there. Example: if the workflow references text_encoders/ltx-2.3_text_projection_bf16.safetensors, create the corresponding subfolder under ComfyUI/models/text_encoders/ and put ltx-2.3_text_projection_bf16.safetensors inside it.
  2. Or open the workflow JSON in a text editor and replace the prefixed string with just ltx-2.3_text_projection_bf16.safetensors. ComfyUI then resolves it directly from ComfyUI/models/text_encoders/.

On Windows the separator is \, on macOS/Linux it is / — they refer to the same nested folder regardless of platform.

Common issues

Text encoder node: 'ltx-2.3_text_projection_bf16.safetensors not in list'

File placed in ComfyUI/models/ root, checkpoints/, or vae/ instead of text_encoders/. Fix: Move it to ComfyUI/models/text_encoders/ltx-2.3_text_projection_bf16.safetensors and click refresh on the loader node so ComfyUI re-scans.

Prompt seems ignored / output unrelated to the text, even though Gemma loaded

The projection layer is missing or not wired into the text path, so embeddings reach the transformer in the wrong dimension and contribute nothing. Fix: Confirm the workflow loads ltx-2.3_text_projection_bf16.safetensors alongside the Gemma encoder and that both feed the same conditioning chain.

Tried to load it as the text encoder and got an error

This is only the projection layer, not the encoder. It cannot encode text on its own. Fix: Load a Gemma 3 12B file (gemma_3_12B_it_fp4_mixed.safetensors on 16 GB) as the encoder, and use this file only in the projection slot.

ComfyUI doesn't see the file after I downloaded it

Make sure the file is in ComfyUI/models/text_encoders/ (not a subfolder). Restart ComfyUI fully — the menu refresh sometimes misses new files. Filename must match exactly: ltx-2.3_text_projection_bf16.safetensors.

CUDA out of memory error when loading the model

ltx-2.3_text_projection_bf16.safetensors needs ~2GB VRAM minimum. If you're hitting OOM: • Enable Sequential Offloading in ComfyUI settings • Lower the resolution (768×512 instead of 1280×704) — both dimensions must be divisible by 32 • Reduce frame count (65 frames instead of 161) — must be 8n+1 • Use a smaller variant — see Related models below.

How do I apply this LoRA in ComfyUI?

Load it in a 'LoraLoader' node and connect it after your model loader. Pair this LoRA with the dev base model (not the distilled one) for the right behavior. LoRA strength 1.0 is the trained value — start there.

Free newsletter

Get notified when LTX 2.3 Text Projection (Kijai) updates

Occasional updates on what's new in LTX 2.3 — new FP8 quants, LoRAs, IC-LoRA releases — with our hands-on verdict on whether they're worth re-downloading. No fixed cadence.

No spam. Sent occasionally when there's real news. Unsubscribe in one click.

Related models