Nodes/JR MiniMax H3/JR LTX Bridge Text Encoder Loader (Experimental)
ComfyUI Node

JR LTX Bridge Text Encoder Loader (Experimental)

The LTX encoder that has to match your Stage 2 model

By Goldlionren·Created 3 months ago·Updated 15 days ago· 63
JR LTX Bridge Text Encoder Loader (Experimental)
    • CLIP
    ◄text_encoder▾►
    ◄ltx_transformer▾►

    What it is

    A text encoder loader for the LTX half of the H3 → LTX bridge. You give it a Gemma encoder from your text_encoders folder and an LTX-2.5 transformer from diffusion_models, and it hands you a CLIP object that speaks LTX.

    The reason it's a separate node instead of ComfyUI's stock CLIP loader: LTX's text conditioning isn't only the language model. The connectors - the projection layers that turn Gemma's hidden states into something the transformer can attend to - live inside the LTX transformer checkpoint. So loading the text encoder alone gives you half the pair. This node calls ComfyUI's native load_clip with both paths and clip_type = CLIPType.LTXV, which is the supported way to get a complete LTX conditioning stack.

    There's a second, subtler job: it keeps H3 and LTX conditioning from getting crossed. H3's prompt path is Qwen-based. Feeding that conditioning into an LTX sampler isn't going to work, and it won't always fail loudly. Having a dedicated loader makes the boundary explicit in the graph.

    The inputs

    Two dropdowns, no optional inputs, no knobs. That's the whole node.

    text_encoder lists what's in ComfyUI/models/text_encoders/ - the Gemma model the LTX-2.5 pipeline expects.

    ltx_transformer lists what's in ComfyUI/models/diffusion_models/ - and you should point it at the same LTX-2.5 transformer you're using for Stage 2. That's the bit people get wrong. Pick a different LTX checkpoint here than the one feeding your sampler and you're pairing connectors trained for one model with the weights of another. The output is a CLIP that goes into a CLIPTextEncode node, which feeds the LTX conditioning into your BasicGuider / SamplerCustomAdvanced pair - at 24 fps, same as the rest of the bridge.

    One output: CLIP. Nothing fancy.

    Installing it

    The pack installs as usual - Manager (search ComfyUI JR MiniMax H3 Node) or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Goldlionren/ComfyUI_JR_MiniMaxH3Node
    <ComfyUI-Python> -m pip install -r ComfyUI_JR_MiniMaxH3Node/requirements.txt
    

    ComfyUI's Python, not your system one. Restart and hard-refresh.

    The real cost here is disk and VRAM, not packages. You need the Gemma text encoder for LTX-2.5 and the LTX-2.5 transformer. If you've run LTX-2 or 2.3 at all you already know the pain: the Gemma encoder is the single biggest usability complaint in the whole LTX ecosystem, heavy enough that the community has built nodes specifically to cache and reuse text encodings instead of reloading it constantly. This node is the plain, non-caching path - it does what ComfyUI's native loader does and doesn't try to be clever about residency.

    Common issues

    Empty dropdowns. Standard ComfyUI behaviour, but worth saying: files have to be in the folders that ComfyUI actually knows about, which means models/text_encoders/ for the Gemma file - not models/clip/, not the checkpoints folder. If a model isn't listed, it's in the wrong directory, or the folder listing hasn't been refreshed since you dropped it there.

    Out-of-memory on a 16GB card. The encoder is large enough that offloading it is normal at that tier - LTX-2 users on 16GB cards routinely run the text encoder on CPU. Expect a slow first load that gets paid once per session, and don't add this on top of an H3 pass that's already hogging the card unless you've got headroom, or ComfyUI's own offloading will sort it out for you by swapping models every step, which is worse than either.

    Conditioning that seems ignored. Check that both dropdowns describe the same generation of LTX. A connector/model mismatch is exactly the class of bug that produces plausible-but-unresponsive output rather than an exception.

    And a reminder that has nothing to do with this node but catches people in this workflow anyway: don't reuse your H3 prompt unchanged. LTX and H3 want different prompt shapes, and the bridge's own examples use a short generic refinement prompt rather than the full H3 director prompt for exactly that reason.

    CategoryJR MiniMax H3/LTX Bridge

    Inputs (2)

    NameTypeDefaultDescription
    text_encoderCOMBO0 options:
    ltx_transformerCOMBO0 options:

    Outputs (1)

    NameTypeDescription
    CLIPCLIP—