☁️BizyAir OneFormer ADE20K Segmentor
BizyAir OneFormer ADE20K Segmentor — ComfyUI Node Guide
- image
- IMAGE
This one's a ControlNet preprocessor, and it does something the edge and depth preprocessors in this pack don't: it labels every pixel by category, not by shape. Feed it a photo of a living room and it'll paint the sofa one color, the wall another, the floor a third - a flat semantic map of "what goes where," with no information at all about what any of it should actually look like.
OneFormer is the segmentation model doing the work, trained on ADE20K (a 150-category scene-parsing dataset - think furniture, buildings, vegetation, sky, roughly the vocabulary of everyday indoor and outdoor scenes). It's one of the two common segmentation preprocessors in the ComfyUI ecosystem, alongside UniFormer.
Why you'd reach for it
Segmentation conditioning is the tool for "keep the layout, change everything else." A depth or canny preprocessor constrains geometry and edges; a segmentation map constrains category boundaries - it'll enforce that there's still a person-shaped region in the same spot and a sky-shaped region above it, without caring whether the person is wearing a suit or a spacesuit in the new generation. That's a genuinely different kind of control than the other preprocessors in this pack offer.
The catch, and it's worth knowing before you build a workflow around this: segmentation ControlNet support didn't keep pace with newer base models. The SDXL-era union ControlNet covers twelve conditioning types including segmentation; the ControlNet unions shipped for Flux, Qwen-Image, and other 2025-26 architectures generally stop at seven - canny, depth, pose, and similar - and segmentation wasn't carried forward. If your workflow is on SDXL or SD1.5, you're set. If you're on Flux or newer, check that you actually have a segmentation ControlNet model to feed this map into before you invest time here - this preprocessor node running fine doesn't guarantee there's a matching ControlNet checkpoint waiting on the other end.
Inputs and outputs
Deliberately simple:
- image - required, the photo you want segmented.
- resolution - optional, default 512, range 64–1024 in steps of 64. This controls the processing resolution of the segmentation pass, not your final output size. Higher resolution picks up finer boundary detail (useful for scenes with lots of small distinct objects) at the cost of more processing time.
Output is a single IMAGE - the colored segmentation map, ready to feed into a ControlNet Apply node alongside a segmentation-trained ControlNet model.
How to install it
Ships with the whole BizyAir pack.
ComfyUI Manager: search "BizyAir," Install, restart.
git clone:
cd ComfyUI/custom_nodes
git clone https://github.com/siliconflow/BizyAir.git
Set your BizyAir API key on first use - the preprocessing itself runs server-side, so it needs an active account like every other node in this pack.
Common issues
No matching ControlNet model. As above - this is the most likely reason a segmentation-conditioned generation "does nothing." Check BizyAir Shared Load ControlNet Model (or whatever ControlNet loader you're pairing this with) actually has a segmentation-trained checkpoint for your base model architecture before troubleshooting anything else.
Category boundaries don't match your intent. ADE20K's 150 categories are broad but not exhaustive - unusual objects, stylized art, or non-photographic input can get lumped into a generic catch-all category or misclassified entirely. If the segmentation map looks wrong for an unusual input image, that's a model limitation rather than something the resolution setting will fix.
Low resolution loses small objects. At the low end of the resolution range, small foreground elements can disappear into their surrounding category. If fine detail in the segmentation map matters for your composition, push resolution up before assuming the node is broken.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| resolutionopt | INT | 51264–1024 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |