Nodes/ComfyUI_agilly1989_motorway/SetUnionControlNetType_motorway_edition
ComfyUI Node

SetUnionControlNetType_motorway_edition

Tell your Union ControlNet which face to wear

By agilly1989·Created 2 years ago·Updated about a year ago· 7
SetUnionControlNetType_motorway_edition
  • MOTORWAY 🚌💨
  • MOTORWAY 🚌💨
INPUT_control_net_keycontrol_net
type
OUTPUT_CONTROL_NET_keyCONTROL_NET

A Union ControlNet is one model that can be several ControlNets. Same weights, but you have to tell it which control type to act as - canny, depth, pose, and the rest - before it'll do anything useful. In a stock ComfyUI graph that's what SetUnionControlNetType does: you feed it a union model and pick the type. This is the Motorway version, so it pulls the ControlNet out of the pipe by key instead of by wire.

Union ControlNets are a genuinely good idea that we should all thank xinsir for. Before them you needed a separate ~1.5GB model per control type; the union collapses that into one file with a type switch. The cost is that type switch - forget to set it (or leave it on auto, which many models ignore) and you get weak or garbage guidance with no obvious reason why.

What to set

  • INPUT_control_net_key (default control_net) - the Motorway key holding the union CONTROL_NET you loaded.
  • type - the dropdown with the real choices: auto, openpose, depth, hed/pidi/scribble/ted, canny/lineart/anime_lineart/mlsd, normal, segment, tile, repaint. Pick the one that matches your preprocessor.
  • OUTPUT_CONTROL_NET_key (default CONTROL_NET) - where the type-tagged model gets written.

The output is a MOTORWAY (and the model stored under the output key). You then read CONTROL_NET further down the pipe, apply it to your conditioning with a ControlNetApply node, and the union model now knows it's being used for, say, canny edge guidance instead of depth.

One thing to keep straight: this node sets the type, not the strength. The control weight you dial in later at the apply node is a separate number.

Installing it

Same routine as every node in this pack:

cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway

Restart, and it lives under agilly1989 Nodes → Motorway-ed → conditioning → controlnet. Manager has it too (search ComfyUI_agilly1989_motorway). No extra Python deps - the pack ships no requirements.txt and installs nothing beyond what's already in your ComfyUI.

Where people get burned

First, key mismatches: 'MotorwayClass' object has no attribute 'hash_' means whatever you put in INPUT_control_net_key isn't in the Motorway. Check the key on the node that loaded the ControlNet onto the pipe.

Second, the type you set has to match the preprocessor you used. Feed it a depth map but tell it canny, and you'll get edges where there are depth gradients - wrong signal, weird image. And auto is not a magic bullet; if guidance looks weak, stop leaving it on auto and pick the explicit type.

Also worth knowing about the pack: it's an active beta, the author's own words. The motorway-ed nodes were added in the 1.1.0 update and later releases have flip-flopped on the auto-generated clones. If you update and the node vanishes, that's a pack decision, not you doing something wrong.

Categoryagilly1989 Nodes/Motorway-ed/conditioning/controlnet

Inputs (4)

NameTypeDefaultDescription
MOTORWAY 🚌💨MOTORWAY 🚌💨
INPUT_control_net_keySTRINGcontrol_net
typeCOMBO9 options: auto, openpose, depth, hed/pidi/scribble/ted, canny/lineart/anime_lineart/mlsd, normal, +3
OUTPUT_CONTROL_NET_keySTRINGCONTROL_NET

Outputs (1)

NameTypeDescription
MOTORWAY 🚌💨MOTORWAY 🚌💨