π 8-Way Image Switch (FSL)
π 8-Way Image Switch (FSL) β pick one of eight images with an integer
- img_1
- img_2
- img_3
- img_4
- img_5
- img_6
- img_7
- img_8
- img_out
A plain, useful switcher. FSL Image Switch 8Way takes up to eight optional IMAGE inputs and passes one of them through based on an integer select value. That's the whole node - no blending, no fallback logic beyond a clamp, no side effects. Eight in, one out.
It lives in the "switches" corner of the FSL pack, and it's the sort of utility that quietly powers a lot of workflow UI. The killer use case is a front-end selector: you batch up several candidates - a few Nano Banana generations, a couple of reference images, a stock background - and flip between them with one select widget instead of rewiring wires every time you want to see a different one.
How it works
The implementation is about as simple as it gets: it clamps select to the 1β8 range, indexes into the list of inputs, and returns whatever image sits at that slot. Notably:
- Missing inputs return None, not a crash. The clamp only protects the index; if
selectpoints at an unconnected input, you getNonedownstream, which downstream nodes may or may not tolerate. Connect what you switch between. - Every input is optional. You can use it as a 2-way, a 5-way, whatever - empty sockets just aren't selectable.
- No latency cost. It's pure tensor routing in the graph; nothing recomputes.
The inputs that matter
select(required) - integer 1β8, default 1. This is the only thing you'll touch day to day.img_1throughimg_8(optional) - the IMAGE candidates. There's no inherent priority; slot number is all that matters.
Output: img_out - whichever image was selected.
Why you'd reach for it
The 8-way is the ComfyUI-native way to build a manual A/B or A/B/C switcher for image inputs. Common patterns:
- Candidate chooser. Generate multiple options in parallel branches, switch to compare them in the same preview/saver.
- Workflow templating. One switch at the front of a graph turns it into a "drop in your image here" template with several named slots.
- Conditional-ish routing. Feed
selectfrom another node (an integer from a control node) and the choice becomes logic-driven rather than manual.
The same job can be done with ComfyUI's stock reroute or a cond-switch, but if you're already in FSL-land this one's nice because it's obviously image-only (it can't accidentally pass a non-image type) and stays grouped under FSL Nodes.
Install & gotchas
It ships with the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/fredlef/Comfyui_FSL_Nodes
cd Comfyui_FSL_Nodes
pip install -r requirements.txt
or ComfyUI Manager β "ComfyUI FSL Nodes", then restart. No models, no API key, costs nothing.
The one gotcha is the None pass-through. Because selection defaults to 1 and slots are optional, it's easy to point select at an empty socket and then spend twenty minutes wondering why a preview went dark - the switch isn't the problem, the empty slot is. When a switch output looks wrong, first check that the slot you selected actually has a wire on it.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| select | INT | 11β8 | β |
| img_1opt | IMAGE | β | |
| img_2opt | IMAGE | β | |
| img_3opt | IMAGE | β | |
| img_4opt | IMAGE | β | |
| img_5opt | IMAGE | β | |
| img_6opt | IMAGE | β | |
| img_7opt | IMAGE | β | |
| img_8opt | IMAGE | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| img_out | IMAGE | β |