Nodes/JLC Flux2 ControlNet/ JLC Flux2 ControlNet Orchestrator Advanced
ComfyUI Node

 JLC Flux2 ControlNet Orchestrator Advanced

The same four-branch composition, applied to positive and negative

By Damkohler·Created 2 months ago·Updated 26 days ago· 20
 JLC Flux2 ControlNet Orchestrator Advanced
  • controlnet
  • positive
  • negative
  • vae
  • control_image_1
  • control_image_2
  • control_image_3
  • control_image_4
  • positive
  • negative
  • vae
  • control_image_1
  • control_image_2
  • control_image_3
  • control_image_4
slot_count4
strength_10.50
start_percent_10.000
end_percent_11.000
diagnosticstrue
strength_20.50
start_percent_20.000
end_percent_21.000
strength_30.50
start_percent_30.000
end_percent_31.000
strength_40.50
start_percent_40.000
end_percent_41.000

JLC Flux2 ControlNet Orchestrator Advanced is exactly what the name says: the four-branch Orchestrator, but wired to attach its flat composition to both your positive and negative conditioning at once. If your FLUX.2 workflow has a real negative prompt and you're running multiple ControlNets, this is the node that keeps both streams seeing the same conditions without duplicating the whole branch setup.

Why both streams?

The plain Orchestrator gives you one conditioning stream out. That's fine when your guider only uses a positive side, but a lot of FLUX.2 graphs feed a negative too. Duplicate the entire multi-branch orchestration for the negative side and you're maintaining two copies of every strength and timestep range - a guarantee of drift. This node evaluates the same flat composition once and attaches it to both streams, so whatever you set for slot 3's depth branch is, by construction, what the negative side sees too.

The composition itself is identical to the plain Orchestrator: branches evaluated independently (A(x) + B(x) + C(x)) rather than recursively chained, all sharing one loaded side model from the JLC Loader. No recursion, no duplicated weights.

The inputs

Same shape as the plain Orchestrator, plus the second conditioning input:

  • controlnet, positive, negative, vae, and control_image_1 - required. Slot 1 is mandatory; slots 2–4 are optional.
  • slot_count (1–4) - active branches; anything above it is ignored even if stale wires remain.
  • Per-slot strength_N, start_percent_N, end_percent_N - default strength 0.5, full 0→1 range.

Outputs are positive, negative, a pass-through vae, and control_image_1..4 pass-throughs.

Installing it

Standard pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/Damkohler/JLC-Flux2-ControlNet.git

Restart ComfyUI or install "JLC Flux2 ControlNet" via Manager. Needs current ComfyUI with native FLUX.2 support, Python 3.10+, a FLUX.2-dev model + text encoder + VAE, and the Fun ControlNet Union checkpoint in ComfyUI/models/controlnet/.

Gotchas

Same three rules as its sibling: it wants clean conditioning with no ControlNet already attached, a real control_image_1 (a None from a disabled slot is a hard error), and restraint with dense auxiliary branches - keep them conservative on strength and short on range or they'll compete with each other and with the prompt. One thing to be honest about: on FLUX.2-dev the negative prompt itself is weak compared to the SDXL days, so don't expect the negative ControlNet side to do heavy lifting it can't. Start with one branch, verify the composition, then widen.

CategoryFlux2 Controlnet

Inputs (22)

NameTypeDefaultDescription
controlnetJLC_FLUX2_CONTROLNET
positiveCONDITIONING
negativeCONDITIONING
vaeVAE
control_image_1IMAGE
slot_countINT41–4Number of exposed and active ControlNet slots. Slots above this count are ignored by the backend even if stale workflow data remains connected.
strength_1FLOAT0.500–2
start_percent_1FLOAT0.0000–1
end_percent_1FLOAT1.0000–1
diagnosticsBOOLEANtrue
control_image_2optIMAGE
strength_2optFLOAT0.500–2
start_percent_2optFLOAT0.0000–1
end_percent_2optFLOAT1.0000–1
control_image_3optIMAGE
strength_3optFLOAT0.500–2
start_percent_3optFLOAT0.0000–1
end_percent_3optFLOAT1.0000–1
control_image_4optIMAGE
strength_4optFLOAT0.500–2
start_percent_4optFLOAT0.0000–1
end_percent_4optFLOAT1.0000–1

Outputs (7)

NameTypeDescription
positiveCONDITIONING
negativeCONDITIONING
vaeVAE
control_image_1IMAGE
control_image_2IMAGE
control_image_3IMAGE
control_image_4IMAGE