WebUI Bridge Apply ControlNet
Apply ControlNet, the Bridge way
- positive
- negative
- control_net
- image
- vae
- positive
- negative
- status
ControlNet is the single biggest control unlock after text-to-image itself: the prompt decides what appears, the condition decides where it goes. In this pack, WebUI Bridge Apply ControlNet is the node that actually does it - it takes your positive and negative conditioning, a ControlNet model and a condition image, and writes the control into the conditioning that reaches your sampler.
If you've used the main WebUI Prompt Bridge node, you already know its module_controlnet_* settings - preprocessor, model, weight, start/end, resize mode. This node is where those settings take effect. The main node just configures; this one applies.
How it works
It reads the controlnet section from module_config. If the module is disabled, or the configured weight is 0, it passes your conditioning through untouched - which is a nice safety property: the node does nothing until you've actually configured it.
When enabled, it takes the condition image you provided, moves it into the channel layout ComfyUI expects, and calls set_cond_hint on a copy of the control_net with the configured weight and start/end range. It also chains previous controlnets (set_previous_controlnet) so stacking multiple ControlNets through this node works the same way it does with ComfyUI's native ControlNetApply. The optional vae input is used when the controlnet needs one (some models condition in latent space).
Two things it deliberately does not do: it doesn't run a preprocessor, and it doesn't load the model. The image input is whatever condition map you hand it - a canny edge map, a depth map, a pose skeleton - and the control_net must come from a loader in your workflow (ComfyUI's ControlNetLoader or a diffusers-style loader). The module_controlnet_preprocessor setting in the main node is stored for reference and one-click builder convenience, not executed here.
Inputs and outputs that matter
positive,negative- your conditioning from the Bridge (or anywhere).control_net- the CONTROL_NET model, from a loader. Must match your model architecture: an SD-era ControlNet file won't load on a Qwen/Anima model, full stop.image- the condition map (edges, depth, pose, reference).module_config- the settings blob; weight, start and end come from here.- Optional
vae. - Outputs:
positive,negative(conditioning now carrying the control) andstatus- a string reporting the preprocessor/model/weight/range used.
How to install
Part of the ComfyUI-WebUI-Prompt-Bridge pack - Manager → ComfyUI WebUI Prompt Bridge, or clone into custom_nodes and restart. No extra node pack required for this node itself, though if you want the one-click preprocessor wiring you'll want ControlNet Aux installed.
Common issues
The #1 beginner stumble is feeding the wrong architecture's ControlNet - remember that Qwen/Anima/SDXL each need their own ControlNet weights, and the pack's example workflow expects Qwen-compatible models. The second is expecting a raw photo to work as the image with, say, the canny preprocessor selected and nothing else: this node doesn't preprocess, so either preprocess upstream or use the main node's one-click build to create the preprocessor branch. Start at a low weight (0.5–0.8) and let go of the condition early (start 0, end ~0.6–0.8) for structure-heavy work - the KB's standing advice is to release the control once composition has formed rather than holding it through the whole sample.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| control_net | CONTROL_NET | — | |
| image | IMAGE | — | |
| module_config | STRING | — | |
| vaeopt | VAE | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |
| status | STRING | — |