Multi Selector Flexible CLIP
Pick 1–4 text encoders for your Flux-era stack, in one node
- model_info
Most models you download these days aren't a checkpoint anymore. Flux, SD3, Qwen-Image, Chroma, Lumina 2 - they ship as a diffusion model plus one or more separate text encoders plus a VAE, all as individual files. The old "Load Checkpoint" node quietly stops being the right tool, and you find yourself dragging out CLIPLoader, DualCLIPLoader, a UNET loader and a VAE loader and hoping you picked the right variants.
Sage Utils' Multi Selector Flexible CLIP is the author's answer to that sprawl: one node that picks a UNET, a VAE, and anywhere from one to four CLIP text encoders. It's from the selector family in the pack, which means the whole pack runs on the same idea.
The trick: it selects, it doesn't load
This is the thing to understand before you wire it up. The node's output is model_info - a MODEL_INFO bundle that describes which files to use (name, hash, Civitai data). It does not load any of them into VRAM. Nothing is loaded until you connect model_info into one of the pack's loader nodes, like Load Models (Sage_LoadModelFromInfo) or Load Models + Loras, which turn the bundle into actual model / clip / vae outputs you can hand to a KSampler.
That split sounds like ceremony, but it's why the node is useful: you can pick your models once, route the same model_info to both a loader and a metadata node like Construct Metadata, and the metadata and the actual generation always agree on what you used. It's a small step toward "the PNG you save carries the truth."
The inputs that matter
num_of_clips- a dynamic combo that sets how many CLIP slots appear. Choose 1–4 and the node grows per-CLIP dropdowns (clip_name_1throughclip_name_4). For one CLIP you also get aclip_typeloader selector (defaults tochroma); for two, a dual-CLIP loader type likesdxlorflux. Four is the ceiling, which covers even the multi-encoder monsters.unet_name- the diffusion model file (yes, it says "checkpoint" in the description, but it lists UNETs frommodels/diffusion_models).weight_dtype- defaults todefault; the dropdown also offersfp8_e4m3fn,fp8_e4m3fn_fast, andfp8_e5m2for loading quantized UNET weights.vae_name- the VAE file to bundle.
How to install
Sage Utils is one pack, so install it once for all of these nodes. Easiest via ComfyUI Manager: search "Sage Utils". Or:
cd ComfyUI/custom_nodes
git clone https://github.com/arcum42/ComfyUI_SageUtils
cd ComfyUI_SageUtils
pip install -r requirements.txt
Then restart ComfyUI. The only Python dependency in requirements.txt is dynamicprompts, and the pack downloads no models of its own. If you ever see [SageUtils.*] log lines, that's the pack's separate logger - SAGEUTILS_LOG_LEVEL=WARNING silences it.
Where people get burned
The number-one mistake is treating this as a loader and then staring at a KSampler with nothing connected. The model_info output is a bundle of metadata, not a model. Also worth knowing: this is a genuinely small pack in community terms - the author has said it started as their personal node set and mostly gets used by them - so you're relying on a well-kept but lightly-trafficked codebase. That's fine for selectors like this; just don't assume the world's tutorials cover it. The mechanism is simple enough to trust once you've seen the loaders it feeds.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| unet_name | COMBO | Choose a UNET model to include in the combined model bundle. | |
| weight_dtype | COMBO | default | Choose the dtype used to load the UNET model. |
| num_of_clips | COMBO | Choose how many CLIP models to include in the combined model bundle. | |
| vae_name | COMBO | Choose a VAE model to include in the combined model bundle. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model_info | MODEL_INFO | Combined model info bundle including UNET, CLIP, and VAE. |