ComfyUI Node

CLIP Loader

Stack 1–4 text encoders without the tangle

By r-vage·Created 29 days ago·Updated 3 days ago· 2
CLIP Loader
    • clip
    clip_count1
    clip_name1None
    clip_name2None
    clip_name3None
    clip_name4None
    clip_typeflux

    The node's own description is the best summary: load 1–4 external CLIP models. For baked CLIP from checkpoints, use Model Loader. That second sentence is the whole job description - this is the loader you reach for when your model file doesn't ship its own text encoder.

    That happens more than you'd think. Flux, SD3, and AuraFlow are usually distributed as diffusion-only UNets, so the CLIP has to come from somewhere else. The modern models also split their text encoder into multiple files: Flux wants two (clip_l.safetensors plus the big t5xxl encoder), SD3 wants three (CLIP-L, CLIP-G, T5). Wiring three separate stock CLIP loaders into one graph is where the tangle starts; this node loads them all and merges them into a single clip output.

    The inputs

    • clip_count - 1 to 4. Set it to how many modules your architecture needs, and the matching number of clip_name1clip_name4 slots light up. Only the ones you actually fill get loaded.
    • clip_nameN - pick from your models/clip/ and models/text_encoders/ folders (it scans both, deduplicated). .safetensors and .gguf both work, though GGUF CLIP needs the ComfyUI-GGUF extension installed.
    • clip_type - the one that decides how the loaded modules get wrapped and combined. The dropdown has 30+ architectures: flux, flux2, sd3, sdxl, wan, mochi, ltxv, hunyuan_video, cosmos, krea2, and plenty more. Get this wrong and your encoder won't match the model - shape errors, or conditioning that's simply nonsense.

    Output is one clip socket feeding any CLIP Text Encode node (including the pack's own CLIP Text Encode [Eclipse]).

    A typical Flux setup

    Model Loader [Eclipse] (model_type: UNet)     CLIP Loader [Eclipse]
    ├─ model ──────────────────────────────────► KSampler
                                                 clip_count: 2, clip_type: flux
                                                 clip_name1: clip_l.safetensors
                                                 clip_name2: t5xxl_fp16.safetensors
                                                 └─ clip ──► CLIP Text Encode (pos/neg)
    

    That's the whole reason this node exists - two text encoders, one socket, no noodle.

    Installing

    Pack install as usual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/r-vage/ComfyUI_SmartModelLoader.git
    cd ComfyUI_SmartModelLoader
    python -m pip install -r requirements.txt
    

    or ComfyUI Manager → ComfyUI Smart Model Loader, then restart.

    Common issues

    • "Checkpoint does not contain a valid clip" - you pointed a baked-CLIP expectation at an external file, or you used Model Loader with a UNet. Use this node for the CLIP and Model Loader for the diffusion model.
    • Blank or gibberish prompts - almost always the wrong clip_type for your model, or a missing T5 module in a Flux ensemble. Flux without T5 is a parrot with no vocabulary.
    • GGUF CLIP not showing up - you need ComfyUI-GGUF; the loader lists GGUF files only when that extension is present.
    Category🌒 Smart Model Loader/ Loader

    Inputs (6)

    NameTypeDefaultDescription
    clip_countINT11–4Number of CLIP models to load
    clip_name1COMBONonePrimary CLIP model
    clip_name2COMBONoneSecondary CLIP model
    clip_name3COMBONoneThird CLIP model
    clip_name4COMBONoneFourth CLIP model
    clip_typeCOMBOfluxCLIP architecture type

    Outputs (1)

    NameTypeDescription
    clipCLIP