Nodes/ComfyUI-JakeUpgrade/Control Net Input Switch JK๐Ÿ‰
ComfyUI Node

Control Net Input Switch JK๐Ÿ‰

Toggle between two ControlNets โ€” keep the graph, swap the control

By jakechaiยทCreated 2 years agoยทUpdated 3 months agoยท 146
Control Net Input Switch JK๐Ÿ‰
  • control_net_false
  • control_net_true
  • control_net_output
  • boolean
โ—„boolean_valuefalseโ–บ

You built a workflow with one ControlNet, then realized you want to try depth instead of canny - without rebuilding everything. ControlNet Input Switch JK๐Ÿ‰ is the node that lets you wire two loaded CONTROL_NETs into the graph and choose between them with a boolean, so the same apply node can run either control depending on a toggle.

It's the ControlNet flavor of JakeUpgrade's switch family, aimed squarely at the "which control does this pass use" problem. In his workflows - which lean hard on ControlNet for both image gen and video - toggling the control model without touching the wiring is the difference between a reusable template and a one-off experiment.

How it works

The familiar switch shape:

if control_net_true is not None and boolean_value:
    return (control_net_true, boolean_value)
else:
    return (control_net_false, boolean_value)
  • boolean_value - True returns the "true" ControlNet, False the "false" one.
  • control_net_false - required, used when False.
  • control_net_true - optional, used when True; unplugged = pass-through.

Outputs: control_net_output (CONTROL_NET, straight into any ControlNet apply node) and boolean (echoed condition for further branching).

Worth knowing: the CONTROL_NET port carries a loaded model, not an image. The conditioning image (the hint/canny/depth map) is a separate wire on the apply node. So this switch is for swapping the model itself - e.g. between a generic and a specialized ControlNet, or a union model set to two different condition types - while the hint image stays put. If you want to swap the images instead, that's a different switch (and honestly, a different problem).

Where you'd use it

  • "Same hint image, two models" - compare a full ControlNet against a LoRA-style control method.
  • "Which control mode" - toggle a union ControlNet's effective mode by feeding it two differently-configured copies.
  • Sharing a workflow: leave both models wired, let the person using it pick with a checkbox instead of hunting for the loader.

In JakeUpgrade's img2mesh and video workflows, you'll see this pattern as part of the "switchable sub-step" design - one graph, many controls, toggle to choose.

Install

Ships with ComfyUI-JakeUpgrade. ComfyUI Manager โ†’ search ComfyUI-JakeUpgrade, or:

cd ComfyUI/custom_nodes
git clone https://github.com/jakechai/ComfyUI-JakeUpgrade
cd ComfyUI-JakeUpgrade && pip install -r requirements.txt

The ControlNet models themselves are normal models/controlnet files you supply. Menu: ๐Ÿ‰ JK/๐Ÿ”€ Switch. Pack gotchas: ignore the Manager conflict warning with IPAdapter Plus (replacement folder, not actually loaded), and check config.ini if the switch menu seems to be missing.

Category๐Ÿ‰ JK/๐Ÿ”€ Switch

Inputs (3)

NameTypeDefaultDescription
boolean_valueBOOLEANfalseCondition to select between inputs (True=control_net_true, False=control_net_false)
control_net_falseCONTROL_NETControlNet to return when condition is False
control_net_trueoptCONTROL_NETControlNet to return when condition is True (optional)

Outputs (2)

NameTypeDescription
control_net_outputCONTROL_NETโ€”
booleanBOOLEANโ€”