3-Way Muxer for Latents
The 3-way latent switch behind Searge's mode picker
- input0
- input1
- input2
- output
3-Way Muxer for Latents is a switch. You feed it three latent inputs, tell it which one you want with a number, and it passes that one through. Everything else is ignored. If you've ever seen an "any switch" or "index switch" node, this is the same idea, hard-wired to exactly three latents.
It ships inside SeargeSDXL - the SDXL base-plus-refiner workflow pack that Searge released back when SDXL 1.0 first dropped in mid-2023. That pack crammed text-to-image, image-to-image, and inpainting into one workflow, and a node like this is how it pulled that off without three separate graphs.
Why a muxer, and how it works
Here's the trick. The Searge workflow has one set of samplers and post-processing, but three different ways to start: txt2img begins from an empty latent, img2img begins from your encoded source image, and inpainting begins from a masked version of it. Rather than build three pipelines, Searge builds all three latent paths, runs them into this muxer, and then a single integer decides which path actually feeds the rest of the graph.
That integer isn't something you turn by hand - in the real workflow it's driven by the operation selector coming out of the parameters system (the SeargeGenerated1 node emits exactly that kind of selector). So when you flip the workflow's mode dropdown from "text to image" to "inpainting," that choice becomes a number, the number lands on this muxer, and the right latent flows through. It's a clean way to make one graph behave like three.
The inputs and outputs
input0,input1,input2(allLATENT) - the three candidate latents.input_selector(INT, default0, range0–2) - which one wins.0passesinput0,1passesinput1,2passesinput2.output(LATENT) - the selected latent, and nothing else.
The only knob with any meaning is input_selector, and even that is usually fed by another node rather than set manually. There's no blending here - it's a hard switch, not a mix. Whatever isn't selected simply doesn't come through.
How to install it
It comes with the whole pack, so install SeargeSDXL and you have it. ComfyUI Manager: search SeargeSDXL, install, restart. Manual: cd ComfyUI/custom_nodes && git clone https://github.com/SeargeDP/SeargeSDXL.git, then restart. If you install manually, run python -m pip install opencv-python in ComfyUI's Python environment first - the README requires it or the nodes won't register. The muxer itself pulls in no models; the pack's model list (SDXL base/refiner, VAE, upscalers, ControlNet files) is for the parts that actually generate.
Common issues
The category says _deprecated_/FlowControl, and that's the honest headline: this is an internal building block of the old workflow, not something a beginner wires up from scratch. If you're starting fresh today, you almost certainly don't need it - and you may not need the Searge workflow at all, since the SDXL refiner pattern it's built around has largely fallen out of fashion in favor of single fine-tuned checkpoints.
If you are running the Searge workflow and the wrong latent path keeps executing, follow the selector back to whatever is setting it - the muxer is only ever as smart as the integer it's handed. And as always with this pack: load the latest workflow JSON against the latest node version. Mismatches are the number-one source of "why is this broken" with Searge.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| input0 | LATENT | — | |
| input1 | LATENT | — | |
| input2 | LATENT | — | |
| input_selector | INT | 00–2 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output | LATENT | — |