Nodes/ComfyUI-Info-Prompt-Toolkit/Triple CLIP Selector
ComfyUI Node

Triple CLIP Selector

Pick three text encoders, get one reusable clip reference

By kinorax·Created 5 months ago·Updated about a month ago· 2
Triple CLIP Selector
    • clip
    • clip_name1
    • clip_name2
    • clip_name3
    clip_name1
    clip_name2
    clip_name3
    sha256_1
    sha256_2
    sha256_3

    Most diffusion models need one text encoder, and this pack's CLIP Selector covers that. Some need two - SDXL-class dual-encoder setups, Flux's T5 + CLIP-L pairing - and that's Dual CLIP Selector. And a smaller set needs three, which is exactly what Triple CLIP Selector is for: pick three CLIP/text-encoder files from dropdowns and get them back as a single IPT-Clip value.

    Why would a model need three text encoders? The SD3/SD3.5 family is the canonical case - it conditions on CLIP-L, CLIP-G, and T5-XXL simultaneously, each encoding a different semantic slice of the prompt. Other multi-encoder architectures exist too. If your model needs three CLIPs and you hand-wire them the stock way, that's three separate loaders and three places for the workflow to drift. This node makes the whole triple a single named value that flows through the pack's model-loading machinery.

    Inputs and outputs

    • clip_name1, clip_name2, clip_name3 - the three dropdowns, populated from the CLIP/text-encoder files ComfyUI sees. Order matters: the encoder slot each fills depends on how the downstream loader consumes the bundle, so keep them consistent.
    • sha256_1, sha256_2, sha256_3 (optional, all display-only socketless fields) - cached SHA256 hashes for each selection. These power the right-click View Model Info... action, which uses the selected file's SHA256 as a key to fetch metadata from Civitai. You don't set them by hand; they're populated automatically as a fallback for the info window.

    Outputs: clip - the IPT-Clip bundle carrying all three names (this is what you wire into Load New Model / the pack's model loading) - plus individual clip_name1 / clip_name2 / clip_name3 outputs so individual names stay available for anything that wants them loose.

    The neat bit: if any of the three selections is invalid or unselected, the bundle degrades gracefully rather than erroring - the clip output reflects whatever subset is actually valid.

    Why the selector idiom

    This node is part of the pack's broader "choices as first-class values" design. Instead of a CLIP loader living inline in your graph, a selector centralizes the choice - one dropdown per encoder - and the pack's Load New Model handles actually loading. That separation is what lets choices persist into metadata (save an image, reload, and the same three CLIPs come back) and what keeps multi-encoder setups from becoming a tangle of loader nodes. If you're on a single-encoder model, this is overkill - use CLIP Selector. If you're on a triple-encoder model, this is the clean way to express it.

    Install

    Standard pack install:

    cd ComfyUI/custom_nodes
    git clone https://github.com/kinorax/comfyui-info-prompt-toolkit.git
    cd comfyui-info-prompt-toolkit
    pip install -r requirements.txt
    

    Or ComfyUI Manager → search "ComfyUI-Info-Prompt-Toolkit" → install → restart. The CLIP/text-encoder files themselves are separate downloads for the model you're running - this node just selects among what you already have.

    Where people get burned

    Order and completeness. If your model genuinely needs three encoders and one dropdown is left blank, you'll get a partial bundle and downstream errors that don't obviously point at "missing third CLIP." And it's easy to swap encoder slots across sessions - the bundle has no way to know CLIP-L belongs in slot 1, so keep a consistent convention. If you only need one or two encoders, don't force this node; the single and dual selectors are the right size.

    CategoryInfo-Prompt-Toolkit/ImageInfo

    Inputs (6)

    NameTypeDefaultDescription
    clip_name1COMBOSelect first CLIP
    clip_name2COMBOSelect second CLIP
    clip_name3COMBOSelect third CLIP
    sha256_1optSTRINGCached SHA256 for clip_name1 used by View Model Info fallback
    sha256_2optSTRINGCached SHA256 for clip_name2 used by View Model Info fallback
    sha256_3optSTRINGCached SHA256 for clip_name3 used by View Model Info fallback

    Outputs (4)

    NameTypeDescription
    clipIPT-Clip
    clip_name1*
    clip_name2*
    clip_name3*