MODEL TECHNIQUE
What Is ControlNet?
ControlNet adds a second, structural input to a diffusion model, a pose skeleton, a depth map, an edge sketch, alongside the usual text prompt, so generation follows that structure exactly instead of just approximating what the prompt describes. It does this without retraining or even touching the base model's original weights.
A trainable copy bolted onto a frozen model
A diffusion model's image-generating network already has learned weights (see what a diffusion model is), and ControlNet leaves those weights completely locked. Instead, it duplicates the relevant part of that network into a second, trainable copy, and feeds the structural input, a pose skeleton, a Canny edge map, a depth image, into that copy. The trainable copy's output is then injected back into the frozen model at each layer, steering generation without ever updating the original weights.
This locked-plus-trainable split is what makes ControlNet practical: the base model's broad visual knowledge, learned from massive training, stays intact and reusable, while the added control signal only has to learn how to translate one specific kind of structure (a pose, a depth map) into an influence on that frozen network's generation.
Different control types, same mechanism
A pose-conditioned ControlNet is fed keypoints from a pose estimator, joints and limbs extracted from a reference image or drawn by hand, and generation follows that exact skeleton: same stance, same limb angles, regardless of what the text prompt says about the scene. A depth-conditioned ControlNet is fed a depth map instead, forcing generated content to respect which parts of the scene should be near or far from the camera, useful for keeping a background layout fixed while changing everything about its style.
Both cases share the same underlying trick: the control signal is converted into a feature-space representation matching the base model's internal resolution, then added into the denoising process at every step, the same way a text prompt's embedding steers denoising (see how AI image generation works), just carrying spatial structure instead of semantic content.
FAQ
- Does ControlNet replace the text prompt?
- No, it works alongside it. The prompt still controls style, subject matter, and content; the ControlNet input constrains structure, pose, layout, or edges. A pose ControlNet with the prompt "a knight in armor" generates a knight in that exact pose, not a pose described in the prompt.
- Can more than one ControlNet be used at once?
- Yes, multiple ControlNet conditions (a pose plus a depth map, for instance) can be combined in a single generation, each contributing its own structural constraint simultaneously, though stacking too many can over-constrain the model and produce visibly forced results.
Sources
Related
Last updated 2026-09-16