Nodes/Sage Utils/Flexible CLIP Selector
ComfyUI Node

Flexible CLIP Selector

One node that picks one to four CLIPs, so you stop wiring loaders by hand

By arcum42·Created 2 years ago·Updated 28 days ago· 33
Flexible CLIP Selector
    • clip_info
    num_of_clips

    Sage Utils is built around a "model info" idea: instead of wiring a dozen loader nodes by hand, you describe the models you want in a selector, and a single loader node turns that description into real loaded components. Flexible CLIP Selector is the CLIP side of that system, and its party trick is that it handles anywhere from one to four CLIP models in a single node.

    That flexibility exists because modern models don't have one text encoder anymore. SDXL wants a dual CLIP pair. Flux-class models run a T5 alongside a CLIP. Some of the newer ones juggle three or four encoders. The old way of dealing with that was stacking CLIPLoader nodes - one per encoder, remembering which type goes where. This node collapses the whole thing into one dropdown.

    How it works

    You get a single input, num_of_clips, which is a dynamic combo: pick 1, 2, 3, or 4 and the node grows the matching set of CLIP picker fields (each listing your CLIP files). When you run it, it collects the chosen model files, figures out a sensible loader type for the count (two CLIPs defaults to the SDXL-style dual loader), and packages everything into a single clip_info output.

    That output is the bundle, not the loaded model. You feed it into Sage's loader machinery - most people combine it with a UNet and VAE via one of the "selector" nodes to build a full model_info, then hand that to the Load Models node, which expands into the actual checkpoint/CLIP/VAE loaders at run time. If you're on an older workflow, there are also standalone Load CLIP-style nodes in the pack that accept a clip_info directly.

    What you actually touch

    • num_of_clips - the count, and effectively the only input you need to think about. The per-CLIP model dropdowns appear based on it.

    One output, clip_info, which carries the selected CLIP set.

    Where it fits

    This node earns its keep in workflow templates you want to swap models on without digging through the graph. Want to switch a Flux workflow between a single CLIP text encoder and a T5+CLIP dual setup? Just change num_of_clips from 1 to 2 and re-pick the files - the downstream bundle logic adapts. It's the same pattern as the pack's Multi Selector family (Double/Triple/Quad CLIP), just with the count as a runtime dropdown instead of a separate node per count.

    The install, quickly

    It's part of Sage Utils, so:

    cd ComfyUI/custom_nodes
    git clone https://github.com/arcum42/ComfyUI_SageUtils.git
    cd ComfyUI_SageUtils && pip install -r requirements.txt
    

    Then restart ComfyUI. Or use ComfyUI Manager and search "Sage Utils." The only real prerequisite is that the CLIP files you want are sitting in models/clip (or text_encoders) so they show up in the dropdowns.

    Things to watch

    Sage Utils leans on ComfyUI's newer extension API, so keep ComfyUI reasonably up to date or the dynamic inputs can render oddly. And a small gotcha specific to this node: the num_of_clips dropdown and the per-CLIP fields are generated inputs, so if you change the count mid-workflow the previously picked model names can reset - set the count first, then choose files. Not a bug, just the nature of dynamic combos.

    CategorySage Utils/selector

    Inputs (1)

    NameTypeDefaultDescription
    num_of_clipsCOMBOChoose how many CLIP models to select and configure.

    Outputs (1)

    NameTypeDescription
    clip_infoMODEL_INFOCombined CLIP model info for the selected flexible clip set.