Nodes/comfyui-colorfix-v3/Apply Ultimate ControlNet
ComfyUI Node

Apply Ultimate ControlNet

A1111's control modes, native in ComfyUI

By ihorpankin·Created 6 months ago·Updated 6 months ago· 6
Apply Ultimate ControlNet
  • positive
  • negative
  • control_net
  • image
  • vae
  • positive
  • negative
strength1.00
start_percent0.000
end_percent1.000
control_modeBalanced

"Apply Ultimate ControlNet" is the SD/SDXL half of the colorfix-v3 pack's tile-upgrade recipe. You use it exactly where you'd use ComfyUI's built-in ControlNetApplyAdvanced - you hand it a ControlNet, an image, and your positive/negative conditioning, and it returns conditioning with the controlnet applied. The difference is the control_mode dropdown, and that dropdown is the entire point.

If you've ever run tile ControlNet + tiled diffusion upscaling - the "very realistic upscaler workflow" the community has been raving about since 2023 - you know the drill: each tile has to stay faithful to the source or the result falls apart, and in A1111 the "Balanced / My prompt is more important / ControlNet is more important" toggle was how you tipped the balance. This node ports those three modes to ComfyUI with the same math underneath.

How the modes actually work

Two mechanisms, both copied from A1111's sd-webui-controlnet hook. The controlnet is attached to both positive and negative conditioning (ComfyUI's sampler shares one control object per batch), and a wrapper intercepts control_merge before strength scaling runs:

  • Balanced - uniform layer weights, control on both paths. Standard behavior.
  • My prompt is more important - soft injection. An exponential decay across the controlnet's layers: 0.825^(n-1-i), where the deepest structural layer keeps scale 1.0 and shallow detail layers fade. A1111 uses a fixed 13-layer formula for SD 1.5; this one adapts to however many layers the model actually has, so SDXL's ~10 layers get the same treatment.
  • ControlNet is more important - soft injection plus cfg injection: the control signal on uncond batch entries is zeroed, so CFG amplification pushes the control harder.

The inputs that matter

strength (0–10, default 1) is the one to tune; start at 0.7–0.9 for tile work rather than the max. start_percent / end_percent (0–1) control when during denoising the condition applies - for upscaling you basically always run 0→1. control_mode is the headline feature. The optional vae is only needed if your controlnet wants latent conditions. Outputs are positive and negative CONDITIONING, wired straight into the KSampler.

Install

Pure Python, no requirements.txt, no models to download:

cd ComfyUI/custom_nodes
git clone https://github.com/ihorpankin/comfyui-colorfix-v3.git

Restart ComfyUI and it's under colorfix-v3. ComfyUI Manager: search "comfyui-colorfix-v3".

Where people get burned

The big one: "ControlNet is more important" does nothing at CFG 1.0. Cfg injection only amplifies when CFG is greater than 1, because it works by removing the control from the uncond path and letting the gap between cond and uncond do the work. Run this node at CFG 1 and both non-Balanced modes fall back to soft injection alone. That's not a bug in the port - it's the A1111 behavior faithfully reproduced.

Also worth knowing: these modes reweight detail layers, they're not a substitute for strength. If the controlnet isn't grabbing, turn strength up or extend the step range before you start flipping modes. And fun fact - the pack's own Flux example workflow wires up this SD/SDXL node instead of the FLUX variant, which tells you how interchangeable the two apply nodes are in practice.

Categorycolorfix-v3

Inputs (9)

NameTypeDefaultDescription
positiveCONDITIONING
negativeCONDITIONING
control_netCONTROL_NET
imageIMAGE
strengthFLOAT1.000–10ControlNet influence strength. 0.0 = no effect, 1.0 = full effect.
start_percentFLOAT0.0000–1Denoising step fraction to START applying control. 0.0 = from the beginning.
end_percentFLOAT1.0000–1Denoising step fraction to STOP applying control. 1.0 = until the end.
control_modeCOMBOBalancedA1111-style control mode. Balanced: uniform weights, standard behavior. My prompt: reduced detail control (soft_injection). ControlNet: reduced detail + uncond zeroed (cfg_injection).
vaeoptVAE

Outputs (2)

NameTypeDescription
positiveCONDITIONING
negativeCONDITIONING