Nodes/ComfyUI_Eclipse/ControlNet Set Union Types (Flux)
ComfyUI Node

ControlNet Set Union Types (Flux)

Pick which condition your union is running

By r-vageΒ·Created 10 months agoΒ·Updated a day agoΒ· 31
ControlNet Set Union Types (Flux)
  • control_net
  • control_net
β—„typeβ–Ύβ–Ί

A union ControlNet is one model that can do many jobs - but it needs to be told which job, per use. The Eclipse ControlNet Set Union Types (Flux) node is that switch: it stamps the loaded Flux union ControlNet with the condition type you want, so the same model file runs as canny, depth, pose, or tile depending on what you're feeding it.

What it is

A tiny settings node with exactly one job: set the control_type on a Flux union ControlNet. You wire in a CONTROL_NET (loaded from a Flux union model file), pick a type from the dropdown, and get the same object back, now configured for that condition. It's the missing UI step that a lot of Flux union workflows quietly skip - and then wonder why their "tile" upscale pass behaves like canny.

The dropdown maps to the union's condition indices, straight from the Shakker-Labs FLUX.1-dev-ControlNet-Union-Pro model:

  • canny/lineart/anime_lineart/mlsd (0)
  • tile (1)
  • depth (2)
  • blur (3)
  • openpose (4)
  • gray (5)
  • low quality (6)

That's the seven-condition set the modern Flux union supports - a leaner menu than the twelve-condition SDXL unions of 2024, which is a regression worth knowing about if you came from the SDXL world (see the controlnet knowledge doc for the full story).

How it works

Under the hood it copies the control net and sets an extra argument: control_net.set_extra_arg("control_type", [number]). Downstream ControlNet Apply nodes read that argument and the model routes to the right condition. The type dropdown is exactly the union's index list - no magic, no re-loading the model.

Two things to pair it with:

  • Strength: the union models publish lower recommended weights than the old 1.0 default - Shakker's Flux union suggests ~0.7 canny, 0.8 depth, 0.9 pose. Don't assume 1.0.
  • The right preprocessor: you still need to actually produce the condition image (canny edges, a depth map, a pose skeleton) upstream. This node only tells the union which interpretation to use; it doesn't generate the control image.

Wiring

Two inputs: control_net and the type dropdown. One output: control_net. Place it between your ControlNet loader and the Apply node. If you're feeding multiple union setups, use one instance per branch so each can hold its own type.

Install

Part of ComfyUI_Eclipse (formerly RvTools, rewritten in v4.0.0). Manager β†’ ComfyUI_Eclipse β†’ install β†’ restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/r-vage/ComfyUI_Eclipse

Under Eclipse β†’ Settings. No model downloads - the union ControlNet itself comes from HuggingFace (Shakker-Labs).

Troubleshooting

  • Output looks like the wrong condition: the type arg lives on the object - if anything downstream copies or re-loads the control net after this node, the type can be lost. Keep this node right before the Apply.
  • Condition still weak at 1.0: lower the control weight per the union's published scales (0.7-0.9), and confirm your preprocessor output matches the selected type.
  • "low quality" mode: it's condition 6 - used for upscaling/denoising-style passes where you want the union to clean up rather than impose a structure.
CategoryπŸŒ’ Eclipse/ Settings

Inputs (2)

NameTypeDefaultDescription
control_netCONTROL_NETControlNet input object.
typeCOMBOSelect the ControlNet union type.

Outputs (1)

NameTypeDescription
control_netCONTROL_NETβ€”