π Clip Input Switch (8 way)
Pick Your Text Encoder With a Number
- clip1
- clip2
- clip3
- clip4
- clip5
- clip6
- clip7
- clip8
- CLIP
You've got a workflow with three checkpoints and you keep swapping which CLIP feeds the encoder by deleting wires. Stop doing that. Clip Input Switch (8 way) is a valve: you set one number and it routes whichever CLIP you point at to a single output. It's the A/B switch from the plumbing toolbox, except the "B" goes up to eight.
It lives in Kyusu/logic and is exactly what the name says - the Input integer (1β8, default 1) decides which of clip1 through clip8 passes through to the one CLIP output. Nothing clever happens to the data; a CLIP in, the same CLIP out, just the one you selected. The source is a few lines: it packs the eight inputs into a list and returns clips[Input - 1]. Yes, it's 1-indexed, so slot 8 is Input 8, and the author's own comment credits the design to Comfyroll Studio's classic CR Input Switch nodes.
Why you'd bother
Mostly this is a workflow-organization node, not a performance node. Say you run one SDXL checkpoint for character shots and a different finetune for landscapes, or you're comparing the same prompt across two text encoders. Wire each checkpoint's CLIP output into a slot, drive Input with any INT source, and flip styles without touching a single wire. Keep the loaders off to the side, run one clean wire into the CLIP Text Encode.
The intended pairing is with the same pack's Cycle Int (1-8) - that node walks 1, 2, 3β¦ 8 and wraps, so if you set the queue batch count to 8, one press steps through every CLIP automatically and you end with an A/B/C/D-style comparison in one go.
The two inputs that matter
Input- the selector. INT, clamped to 1β8.clip1β¦clip8- the optional CLIP inputs. Wire whatever you want to compare; unused slots can stay empty.
Output: one CLIP, straight into a CLIP Text Encode or whatever expects a text encoder.
Install
This pack is pure Python with zero dependencies - no requirements, no model files, nothing to download. Install via ComfyUI Manager (search "Kyusu Nodes") or:
cd ComfyUI/custom_nodes
git clone https://github.com/TaIIo4KuH/kyusu-nodes
Restart ComfyUI. You'll find the node under Kyusu/logic.
Where people get burned
Two things, both worth knowing before you rely on it.
Selecting an empty slot outputs nothing. The node doesn't guard against clip3 being unwired - it happily returns None, and then your encoder errors with something cryptic. Comfyroll's original is more defensive about this; kyusu's is a lean index-into-list. If Input lands on a slot you never wired, the run fails. Keep the selector range inside the slots you actually filled.
It selects a value, not a computation. ComfyUI runs a node after all its upstream connections have executed, so every loader you wire into a switch slot still loads on every run, even the ones you never select. This doesn't save you VRAM or model-load time - it saves you rewiring time. If you want the graph to skip unused branches entirely, that's a different tool (a bypass group, or a fallback switch like rgthree's Any Switch); this is a manual routing valve, and it's good at exactly that.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| Input | INT | 11β8 | β |
| clip1opt | CLIP | β | |
| clip2opt | CLIP | β | |
| clip3opt | CLIP | β | |
| clip4opt | CLIP | β | |
| clip5opt | CLIP | β | |
| clip6opt | CLIP | β | |
| clip7opt | CLIP | β | |
| clip8opt | CLIP | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CLIP | CLIP | β |