Nodes/JPS Custom Nodes for ComfyUI/ControlNet Switch (JPS)
ComfyUI Node

ControlNet Switch (JPS)

Pick one of up to five loaded ControlNets with a single number

By JPS-GER·Created 3 years ago·Updated 2 years ago· 100
ControlNet Switch (JPS)
  • ctrlnet_1
  • ctrlnet_2
  • ctrlnet_3
  • ctrlnet_4
  • ctrlnet_5
  • ctrlnet_out
select

ControlNet workflows tend to accumulate multiple loaded ControlNet models fast - a Canny edge model, a depth model, an OpenPose model - because different source images and different jobs call for different structural guidance. Once you've got two or three loaded, you need a clean way to pick which one actually feeds your Apply ControlNet node for a given run, and that's exactly what this switch does.

Connect up to five ControlNet sources to the optional ctrlnet_1 through ctrlnet_5 inputs (leave whichever you're not using unconnected), set select to the slot number you want active, and that model comes out the single ctrlnet_out port. It's a pure router - no blending, no strength adjustment, nothing about the ControlNet itself changes. Just: five in, pick one, one out.

It follows the same design as every other switch in this pack - Model, Latent, Conditioning, and Image all work identically, so once you understand one you understand all five. The reason JPS built it this way rather than using a plain boolean toggle is stated directly in the pack's own README: the switches output the actual slot number selected, which lets them chain into each other without needing extra conversion nodes, unlike some alternative switch implementations that use 0/1 booleans and require additional math nodes to bridge into anything expecting a different scheme.

Where it fits. The common case: you're running a ControlNet-heavy workflow that sometimes needs Canny for hard edges and sometimes needs a depth or pose model depending on the source image, and rather than rewiring the Apply ControlNet node's input every time, you load all the candidates once and flip one number. It also pairs well with the wider "Generation Settings" side of this pack - the settings menu node includes dedicated parameters for Canny, Zoe depth, Midas depth, and OpenPose preprocessing, so this switch is a natural companion if you're building a workflow that supports several ControlNet modes and needs to route between the loaded models that back each one.

Installing it. Through ComfyUI Manager (search "JPS Custom Nodes for ComfyUI"), or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/JPS-GER/ComfyUI_JPS-Nodes.git

Restart ComfyUI, find it under JPS Nodes/Switches. If reinstalling over an older copy, delete the previous version first - the author is explicit that two overlapping installs of the pack collide on class names. No models ship with this node, and no extra dependencies beyond the pack itself; it just routes references to ControlNet models you've already loaded with the standard Load ControlNet node.

Troubleshooting. The recurring mistake with all of the JPS N-to-1 switches: select must point at a slot you've actually wired something into. Connect ctrlnet_1 and ctrlnet_3 but leave 2 and 4 empty, then set select to 4, and you'll get nothing rather than a graceful fallback. Beyond that, remember this switch only decides which ControlNet model is active - it doesn't set strength, start/end percent, or preprocessing; those still live on your Apply ControlNet node (or, if you're using JPS's Generation Settings pipe, on the per-preprocessor settings there).

CategoryJPS Nodes/Switches

Inputs (6)

NameTypeDefaultDescription
selectINT
ctrlnet_1optCONTROL_NET
ctrlnet_2optCONTROL_NET
ctrlnet_3optCONTROL_NET
ctrlnet_4optCONTROL_NET
ctrlnet_5optCONTROL_NET

Outputs (1)

NameTypeDescription
ctrlnet_outCONTROL_NET