Nodes/civitai-comfy-nodes/Civitai ControlNet
ComfyUI Node

Civitai ControlNet

Pick a preprocessor, wire an image, chain your way to structure

By civitai·Created 2 months ago·Updated about a month ago· 42
Civitai ControlNet
  • image
  • control_nets
  • control_nets
preprocessor
weight1.00
start_step0.00
end_step1.00

ControlNet is how you stop arguing with the sampler about where things go - edges, depth, pose, structure pulled from a reference image, applied while the prompt handles what they are. Civitai ControlNet is that same idea, packaged for Civitai's cloud: it builds a condition stack that a cloud recipe node sends to the fleet, so you get guided generation without a local ControlNet model or a GPU that can hold one.

What it is

A loader-style node (it lives under Civitai/Loaders) that produces a control_nets output (type CIVITAI_CONTROLNETS). You wire that into a recipe node's control_nets input - the pack's flux1 and anima image nodes have that socket; if a recipe node doesn't show it, that ecosystem's engine doesn't take ControlNet, and no amount of wiring will fix it.

Inputs that matter

  • preprocessor - the big menu, 35 choices from the ControlNet lineage: canny, mlsd, depthZoe, depthAnything, zoeDepth, midasDepth, leresDepth, softedgePidinet, hed, and more. This runs server-side and turns your reference image into the condition map.
  • image - required by the orchestrator. Your reference (a sketch, a photo for depth, a pose).
  • weight (default 1.0, 0–2) - how hard the condition pulls. The KB's standing advice: 0.3–0.7 for loose guidance, 0.8–1.2 for strict adherence, and the 2025–26 union models publish lower numbers than the SD-era defaults.
  • start_step / end_step (0–1) - when during denoising the condition applies. The community's most-harvested ControlNet lesson: release the condition once composition has formed rather than holding it through the whole sample. Start at 0 and end at 0.5 and the model is free to invent detail in late steps.
  • control_nets - chain another Civitai ControlNet into this socket to stack conditions (edge + depth together).

Mechanically the node is trivial - it converts your image to a data URL and appends {preprocessor, weight, startStep, endStep, image} to a list. All the real work happens on Civitai's fleet, which is exactly why this node is interesting: it's the whole ControlNet stack with zero local weight downloads.

Install & gotchas

Standard pack install - Manager (search Civitai Comfy Nodes), comfy node registry-install civitai-comfy-nodes, or git clone. Auth is the same story as every node here: env var, stored OAuth, or a Civitai Auth node feeding api_config.

Where it trips people:

  1. Preprocessor + image pairing matters more than the weight. Canny wants a clear line drawing or high-contrast photo; depth preprocessors want a normal photo; feeding a blurry reference to canny gives you a blurry constraint. Pick the preprocessor for the structure you actually have.
  2. Only ecosystems that expose control_nets accept it. If your recipe node has no such input, the cloud engine doesn't support ControlNet for that model - check the socket before you build the chain.
  3. Metered per call. ControlNet jobs on the cloud cost what they cost, and the condition image is uploaded with the request - it leaves your machine, like every other input in this pack. Fine for Civitai's own service; just know the data flow.

The chainable control_nets socket is the feature worth remembering. Two stacked nodes - say depth for composition plus softedge for organic detail - is the 2026-style union move, and unlike a local setup you never have to hunt down which architecture's ControlNet file to download.

CategoryCivitai/Loaders

Inputs (6)

NameTypeDefaultDescription
preprocessorCOMBO35 options: canny, mlsd, depthZoe, depthAnything, depthAnythingV2, zoeDepthAnything, +29
imageIMAGEControl image (required by the orchestrator)
weightFLOAT1.000–2
start_stepFLOAT0.000–1
end_stepFLOAT1.000–1
control_netsoptCIVITAI_CONTROLNETSChain from another Civitai ControlNet

Outputs (1)

NameTypeDescription
control_netsCIVITAI_CONTROLNETS