Selector In (MODEL)...
The model switcher the whole pack is built around
- model1
- model2
- model3
- model4
- model5
- model6
- model7
- model8
- MODEL
SelInModel ("Selector In (MODEL)") is the node the whole comfyui-selector pack orbits: eight MODEL inputs, one model_type integer, one MODEL output, and the lazy-evaluation trick that makes plugging in multiple models actually safe. It's the clean way to let one workflow run several checkpoints without rewiring - the model that flows to your sampler is decided by a number, and the number comes from a RecourseCkpt that detects what you loaded.
Here's the honest version of why this exists. You could, in principle, wire a model directly to your KSampler and swap the checkpoint by hand - and for a single model, you absolutely should. The value of SelInModel appears when the rest of the graph is also switching: your CLIP, your VAE, your CFG, your steps are all being selected by the same model_type broadcast. Then the model lane needs to be in on the joke, and this node is that lane. One number flips the model, the text encoder, the sampler settings, and the resolution in one move.
How it works
model_type (1–8, required) selects model<number>, and that model flows out the single MODEL output into your KSampler or sampler. The inputs are lazy - and this is the critical part - because ComfyUI only evaluates the selected port. That means the models behind unselected ports aren't just idle, they're never loaded into the execution path. With models being the biggest VRAM consumers in the graph, this is what keeps an eight-port model switcher from nuking your video memory. Load a checkpoint, feed its model into port 1; load another into port 2; the broadcast picks which one actually enters the pipeline.
Inputs & outputs that matter
- model_type (INT, required) - the selector, fed from RecourseCkpt's MODEL_TYPE output (or typed by hand: 1 SD1, 2 SDXL, 3 Flux, 4 AuraFlow, 5 HunyuanDiT, 6 SD3, 7/8 Cascade).
- model1 … model8 (MODEL, optional) - your candidate models from Load Checkpoint / Load Diffusion Model / GGUF loaders.
- MODEL output - the winner, wired to the KSampler, a detailer, a ControlNet model, wherever the model lane leads.
Installing it
The pack standard. ComfyUI Manager → search comfyui-selector → install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/exdysa/comfyui-selector
Restart and it's under Selector_Recourse/In. No requirements.txt, no model files, no network access.
Gotchas
- Lazy means "only the selected branch runs," which also means switching model_type mid-session triggers a fresh load on the newly selected branch. First run after a switch can stall while the model loads - normal, not a bug.
- An empty selected port gives you
Noneout and a silently dead sampler. When a multi-model workflow stops rendering, check that model_type points at a connected port before suspecting your model files. - Remember what the pack's README says and the source confirms: these nodes never touch files, network, or anything beyond ComfyUI. No phantom downloads, no telemetry - which is more than you can say for some popular nodes, given the ecosystem's history with malicious custom nodes.
- Single-author, GPL-3.0, quiet since early 2025. If you run one model per workflow, skip it; if you juggle families, this is the node that makes the pack cohere.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| model_type | INT | 11–8 | — |
| model1opt | MODEL | — | |
| model2opt | MODEL | — | |
| model3opt | MODEL | — | |
| model4opt | MODEL | — | |
| model5opt | MODEL | — | |
| model6opt | MODEL | — | |
| model7opt | MODEL | — | |
| model8opt | MODEL | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |