Multi-Latent Selector
Pick one of up to four latents with a dropdown instead of rewiring
- latent_1
- latent_2
- latent_3
- latent_4
- LATENT
This node does one thing: it takes up to four latents as input and passes exactly one of them through, based on a dropdown. That's it. No blending, no math, no conditioning logic - a pure switch for the moments when you've got several latent-producing branches in a graph and you want to pick which one actually continues downstream, without physically unplugging and replugging wires every time you change your mind.
Where this actually earns its keep
The obvious use case is comparing sampler setups. Say you've got the same starting latent run through three different sampler/scheduler combinations, or three different seeds, or a LoRA-on branch next to a LoRA-off branch - each one producing its own latent in parallel. Instead of manually rerouting whichever one you want into your VAEDecode and save node, you wire all of them into MultiLatentSelector once and flip the selector dropdown to choose the winner. It's the same underlying need that drives ComfyUI's broader "fast switching" node category - being able to change which path is live in a graph without touching wires - just applied at the level of a single data type rather than whole node groups.
Worth being upfront about the design: every input here is optional, and there's no required input on the node at all. That means it's entirely possible to have this node in your graph with nothing wired to the slot your selector is currently pointing at - in which case whatever's downstream gets nothing useful, same as any other missing-input situation. The node won't stop you from doing that; it just does what you told it to.
What matters
latent_1throughlatent_4(LATENT, all optional) - wire in as many or as few as your graph needs. You don't need all four filled in; just whichever ones you actually want to switch between.selector(enum, defaultlatent_1) - chooselatent_1,latent_2,latent_3, orlatent_4. Whichever one you pick is what gets passed through.
One output: LATENT - the contents of whichever input the selector points at.
Installing it
Search ComfyUI-TkNodes in ComfyUI Manager, or:
cd ComfyUI/custom_nodes
git clone https://github.com/TensorKaze/ComfyUI-TkNodes
cd ComfyUI-TkNodes
pip install -r requirements.txt
Restart ComfyUI. This is about as lightweight as a custom node gets - no dependencies, no model files, no download step. It's pure graph logic.
Common issues
Output is empty or downstream errors. Check that the input matching your current selector value is actually wired to something. It's easy to add a fifth sampler branch, forget the selector is still pointed at latent_2, and wonder why nothing changed - the node isn't picking "whatever's newest," it's picking exactly what the dropdown says.
Only using two or three branches. Perfectly fine - leave the unused latent inputs disconnected and just don't point the selector at them. There's no penalty or extra required setup for using fewer than four.
Expecting this to blend or average latents. It doesn't, and isn't trying to - this is a pure either/or switch, not a mixer. If you want to combine latents rather than choose between them, you're looking for a different node entirely.
This is a very small pack with no meaningful community footprint - no threads, no reputation, nothing to compare it against. Judged purely on what it does, though, it's a clean, honest utility for the specific and common situation of "I have several latents and want to pick one without rewiring."
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| latent_1opt | LATENT | — | |
| latent_2opt | LATENT | — | |
| latent_3opt | LATENT | — | |
| latent_4opt | LATENT | — | |
| selectoropt | COMBO | latent_1 | 4 options: latent_1, latent_2, latent_3, latent_4 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |