Set Union ControlNet Type
The dropdown that tells one ControlNet file which of eight modes to run
- control_net
- CONTROL_NET
Union ControlNets are the ones that cram every conditioning type into a single model file - one checkpoint that can do canny, depth, pose, and a half-dozen other modes, selected by a small per-generation switch. SetUnionControlNetType is that switch. You feed it a CONTROL_NET, pick the mode you want from a dropdown, and it hands back the same ControlNet with a control_type flag stamped on it. Nothing is computed here - it's a settings node, the kind that looks useless until you load a union model and every image comes out looking like it ignored your edges entirely.
The modes
The dropdown maps straight to the union encoding used across the ecosystem, and the names are worth reading because they're bundled: openpose, depth, hed/pidi/scribble/ted, canny/lineart/anime_lineart/mlsd, normal, segment, tile, repaint - plus auto. The bundled names aren't sloppy; that's the actual union type embedding, where several similar conditions share a slot. auto leaves the type unset and lets the model file's own default (or whatever the loader inferred) take over, which is what you want most of the time.
When do you actually need this node? When you load a union checkpoint that doesn't carry its type information, or when a workflow gives you a raw union model and the type isn't being set upstream. Loaded through the usual Load ControlNet Model path, many union files just work - but the moment you're switching a single union file between a canny pass and a pose pass in the same graph, this is how you tell the file which mode each branch is running.
How you get it
Core ComfyUI - it's in the node menu under "Set Union ControlNet Type", no install. The model file is the thing to find: a union ControlNet for your base model (the xinsir SDXL union, Shakker's FLUX.1 Union Pro, InstantX's Qwen union, Alibaba PAI's Z-Image and Flux 2 unions, depending on what you run) in models/controlnet. Its output wires into ControlNetApplyAdvanced (Apply ControlNet) like any other ControlNet.
Where people get burned
The strength expectations changed. Union ControlNets are trained with learned fusion, and the recommended strength on the 2025-26 unions is lower than the old SD-era 1.0 - think 0.65 to 0.8. Crank a modern union to 1.0 and it overcooks. Wrong mode for the preprocessor. If your edges are feeding a node set to depth, you'll get "no effect" mysteriously - the type and the preprocessed image have to match. The menu shrank. It's worth knowing the union world regressed in breadth: the SDXL union covers twelve conditions, but the post-Flux unions mostly stop at seven, so don't go looking for a segment or normal mode on a 2026 union - it isn't in the dropdown. Check the file's card for what it actually carries before you blame the node.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| control_net | CONTROL_NET | — | |
| type | COMBO | 9 options: auto, openpose, depth, hed/pidi/scribble/ted, canny/lineart/anime_lineart/mlsd, normal, +3 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONTROL_NET | CONTROL_NET | — |