Fixing "Text Encoder Not Found" Errors for Gemma 3 in LTX 2.3 ComfyUI Workflows
Gemma 3 dropdown empty or CLIPLoader throwing errors in your LTX 2.3 workflow? Here's why, and the two files you actually need in the right folder.
You load an LTX 2.3 workflow in ComfyUI, hit Queue Prompt, and get something like:
Text encoder not found: ComfyUI/models/text_encoders/gemma_3_12B_it_fp8_scaled.safetensors
or the loader node's dropdown is just empty, or CLIPLoader / the Gemma loader node throws Value not in list. You've downloaded a Gemma file, you're sure of it, and ComfyUI still can't see it. Here's what's actually going on and how to fix it in a couple of minutes.
Why this happens
LTX 2.3 doesn't use the CLIP-style text encoders that older SD/Flux workflows relied on. Its text conditioning path runs through a Gemma 3 12B language model, which is a much bigger and differently-structured encoder. ComfyUI still routes it through a text-encoder loader node, which is why the error messages sometimes look like the old CLIP errors — but the file, the folder, and the file count are different from what people expect coming from other workflows.
The two most common root causes:
- Wrong folder. The file is sitting in
models/clip/because that's muscle memory from older workflows. - Missing second file. Only the Gemma weights got downloaded, not the small projection file that has to sit next to it.
The two-file rule
This is the part that trips up almost everyone the first time: LTX 2.3's text encoding is split across two separate files, and the workflow needs both to be present in the same folder.
- The Gemma 3 12B weights — one of
gemma_3_12B_it_fp4_mixed.safetensors,gemma_3_12B_it_fp8_scaled.safetensors, orcomfy_gemma_3_12B_it.safetensors, depending on which precision tier you picked. - The projection file —
ltx-2.3_text_projection_bf16.safetensors, a small (roughly half a gigabyte) file that isn't a text encoder by itself. It's a learned linear layer that maps Gemma's output embedding dimension into the dimension LTX 2.3's transformer actually expects. Kijai's ComfyUI port keeps this split out as its own file specifically so each half can be swapped or quantized independently.
If you only grab the big Gemma file because it's the obviously important one and skip the projection file, the loader node will either fail to find a required file, or — worse — appear to load fine while the actual text conditioning coming out of it is broken, since the dimension bridge is missing. Get both files, from a consistent source, before you touch anything else. See ltx23-text-projection for the projection file specifically.
The correct folder path
Both files go in:
ComfyUI/models/text_encoders/
Not models/clip/. That folder was where CLIP-based text encoders lived in older Stable Diffusion and Flux workflows, and it's an extremely common muscle-memory mistake to drop new encoder files there out of habit. ComfyUI's current model layout expects LLM-style text encoders — Gemma included — in text_encoders/, alongside things like T5 and other newer encoder families. If your dropdown is empty and the file is in models/clip/, moving it into models/text_encoders/ (and restarting) is usually the entire fix.
Don't nest it in a subfolder either — put the .safetensors files directly inside text_encoders/, not text_encoders/gemma/ or similar.
Which Gemma variant should I use
All three variants are functionally the same text encoder at different precisions, so this is a VRAM decision, not a quality-first decision unless you're VRAM-rich:
gemma_3_12B_it_fp4_mixed.safetensors— smallest footprint, lowest VRAM requirement. Start here if you're on a consumer card or you're already tight on VRAM from the diffusion model and VAE. See ltx23-gemma-fp4.gemma_3_12B_it_fp8_scaled.safetensors— the middle ground. Noticeably more headroom needed than fp4, generally the sweet spot if you have it to spare. See ltx23-gemma-fp8.comfy_gemma_3_12B_it.safetensors— full precision, largest file and heaviest VRAM cost. Only worth it if you have a lot of VRAM free and want to rule out the text encoder as a source of any quality issues.
If you're not sure which tier your GPU can actually handle alongside the rest of the LTX 2.3 pipeline (diffusion model, VAE, upscalers), check the VRAM requirements guide before downloading — it's a large file to redo if you guess wrong.
If local file management like this isn't something you want to deal with at all, running generations through ltxworkflow.com/generate sidesteps the whole problem — there's no local model folder to get right in the first place.
Verification checklist
When you've placed the files, work through this in order:
- Restart ComfyUI fully. Not just refresh the browser tab — ComfyUI scans its model folders on startup, and a new file dropped into
text_encoders/while it's already running usually won't show up until you restart the server process. - Confirm both files are present in
models/text_encoders/: the Gemma weights file you chose, andltx-2.3_text_projection_bf16.safetensors. - Check filenames match exactly what the workflow/node expects — no extra suffixes, no missing
.safetensorsextension, no typos from a partial download. - Open the loader node's dropdown and confirm your file is actually listed. If it's not in the list after a restart, the folder is still wrong (double check for a stray
models/clip/copy or an unwanted subfolder), or the download didn't complete — check the file size against the expected size rather than trusting a green download-complete indicator. - Re-run the prompt. If it errors again with a different filename than before, you likely have duplicate/renamed copies in multiple folders and ComfyUI is finding the wrong one first.
Getting this right is almost always a folder-and-file-count issue rather than anything wrong with the workflow graph itself — once both files are sitting correctly in text_encoders/ and ComfyUI has been restarted, the dropdown populates and the error goes away.
Sources
- Kijai/LTX2.3_comfy text_encoders folder — Hugging Face
- ltx-2.3_text_projection_bf16.safetensors file page — Hugging Face
- LTX-2.3: ComfyUI Workflow Examples — ComfyUI Docs
- LTX-2.3 ComfyUI Setup: Two-Stage Pipeline, VRAM Fixes & Gemma Encoder — WaveSpeed Blog
- RuneXX/LTX-2.3-Workflows: Where to save the files — Hugging Face discussion
- Folder text_encoder — ComfyUI Forum