Nodes/☁️BizyAir Nodes/☁️BizyAir OneFormer COCO Segmentor
ComfyUI Node

☁️BizyAir OneFormer COCO Segmentor

Turning a photo into a layout map, not a likeness

By siliconflow·Created 2 years ago·Updated 11 months ago· 855
☁️BizyAir OneFormer COCO Segmentor
  • image
  • IMAGE
resolution512

Most ControlNet preprocessors describe shape - edges, depth, a pose skeleton. This one describes category: it labels every pixel in your image as belonging to a class (person, sky, building, grass, whatever COCO's label set covers) and colors the result accordingly. The generation model then reads that color map as "here's what kind of thing goes where," with zero information about what any of it should actually look like. That's the whole appeal - it hands the model a floor plan and lets it design the room.

What it's for

Segmentation conditioning shines when you want to dictate composition without dictating appearance: "person here, building there, sky up top" while leaving style, texture, and detail entirely to the prompt and the checkpoint. It's a different job from Canny or depth, which constrain structure and surface. Segmentation constrains layout.

One thing worth knowing before you build a workflow around this: segmentation conditioning is more of an SDXL-era capability than a current one. The 2024 SDXL union ControlNets (xinsir's, notably) support a segment condition; most of the newer Flux, Qwen-Image and Z-Image union models that replaced them dropped it. If your target checkpoint is on one of those newer architectures, check that its ControlNet actually accepts a segmentation map before building a pipeline around this preprocessor - otherwise you'll have a correct-looking output image with nowhere to plug it in.

The inputs and outputs that matter

  • image - required, the photo or render you want segmented.
  • resolution (optional, default 512, range 64–1024 in steps of 64) - the working resolution for the segmentation pass. Higher resolution catches finer boundaries between objects but costs more; 512 is a reasonable default for most compositions, and it's worth bumping only if you're working with a busy scene with lots of small distinct objects.

Output is a single IMAGE - the colorized segmentation map, ready to feed into a segmentation-capable ControlNet Apply node alongside your matching ControlNet model.

Installing it

Through ComfyUI Manager: search BizyAir, click Install, restart. Or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/siliconflow/BizyAir.git

Restart ComfyUI and set your BizyAir API key on first use - the node runs on SiliconFlow's cloud, so without a key it fails at execution rather than at startup.

Where people get burned

The most common disappointment isn't a bug, it's a mismatched expectation: people feed this preprocessor's output into a ControlNet model that doesn't actually support segmentation conditioning, get a result that looks like the segmentation map was ignored, and assume the preprocessor is broken. Check your ControlNet model's supported condition types first.

The second trap is resolution mismatch between the segmentation map and your target generation. Because this is a categorical map rather than an edge or depth map, fine boundary errors are more visible than they'd be on, say, a soft depth gradient - a slightly-off resolution can blur a person's outline into the background category next to them. If edges look mushy in the output, try bumping resolution before assuming the ControlNet weight is wrong. And as with anything in this pack: the output is a plain IMAGE, so it connects fine to a normal ControlNet Apply node - this one doesn't lock you into a BizyAir-only chain the way the model-loading nodes do.

Category☁️BizyAir/☁️BizyAir/ControlNet Preprocessors/Semantic Segmentation

Inputs (2)

NameTypeDefaultDescription
imageIMAGE
resolutionoptINT51264–1024

Outputs (1)

NameTypeDescription
IMAGEIMAGE