☁️BizyAir SetUnionControlNetType
Telling a union ControlNet which condition it's looking at
- control_net
- BIZYAIR_CONTROL_NET
A union ControlNet like xinsir's SDXL model packs a dozen condition types - canny, depth, pose, normal maps, segmentation, and more - into a single checkpoint, which is genuinely convenient but creates a problem the old one-model-per-condition setup never had: the model needs to be told which condition family the image you just handed it actually represents. A depth map and a canny edge map are both grayscale-ish images with structure in them; without an explicit label, the model has to guess. That's this node's entire job.
What it does
One required input, control_net (a BIZYAIR_CONTROL_NET loaded from a BizyAir union checkpoint loader upstream), and one required setting, type, a nine-way choice: auto, openpose, depth, hed/pidi/scribble/ted (the soft-edge family), canny/lineart/anime_lineart/mlsd (the hard-edge family), normal, segment, tile, and repaint. These map directly onto the condition groups the SDXL union checkpoint actually understands - the same six families exposed as separate image slots on BizyAir's all-in-one Controlnet Union pipeline node live here as explicit labels instead, which is the tradeoff for going modular: more wiring, more precision.
auto asks the model to infer the condition type from the image itself rather than being told outright - a reasonable starting point if you're not sure, but an explicit type is more reliable when you know exactly what preprocessor produced your guidance image.
tile and repaint are worth calling out specifically. Tile is the detail-preserving upscale condition - feed it a downscaled version of a target image and it regenerates detail at a higher resolution. Repaint is the union model's inpaint mode: newer union checkpoints across several base architectures have started carrying an inpaint mode alongside their regular conditioning types instead of requiring a dedicated inpainting checkpoint, and this is where that mode gets selected.
Output is a BIZYAIR_CONTROL_NET, the same typed handle it took in, now carrying the type label - feed it onward into your BizyAir ControlNet apply node alongside your actual conditioning image.
Installing it
ComfyUI Manager: search BizyAir, install, restart. Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/siliconflow/BizyAir.git
Restart after. No local downloads for this node specifically - it's pure plumbing that runs against a ControlNet already loaded cloud-side. You need a BizyAir account and API key set before any node in the pack executes.
Where people get burned
Wiring a plain CONTROL_NET into it. The input is typed BIZYAIR_CONTROL_NET, so it only accepts output from BizyAir's own controlnet loader - you can't drop a locally-loaded ControlNet checkpoint straight into this node.
Picking the wrong grouped type. canny/lineart/anime_lineart/mlsd covers four distinct preprocessors under one label - feeding it a scribble or soft-edge image while the type is set to that group will condition on the wrong assumption about what the image represents, and results degrade in ways that look like a bad ControlNet weight rather than a type mismatch.
Assuming auto is always safe. It's a reasonable fallback, but an explicit, correct type consistently outperforms letting the model guess - especially on the harder-to-distinguish groups like normal maps versus depth.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| control_net | BIZYAIR_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 |
|---|---|---|
| BIZYAIR_CONTROL_NET | BIZYAIR_CONTROL_NET | — |