ControlNet lets you use a reference image to precisely control composition, pose, outline or depth. It is not “face swap” — it is “redraw from a skeleton”.
Core idea
You give ControlNet a reference image. A "preprocessor" extracts a structural map (skeleton, edge map, depth map). Stable Diffusion then redraws while following that map.
Four core preprocessors
| Preprocessor | Extracts | Best for |
|---|---|---|
| OpenPose | Human skeleton points | Lock pose and action |
| Canny | Edge lines | Lock overall outline |
| Depth | Depth map | Lock spatial feel |
| Lineart | Sketch | Illustration coloring, comics |
Standard workflow
- Find a reference image (pose sketch, composition reference, line art)
- Pick the matching preprocessor (e.g. OpenPose)
- Set ControlNet weight 0.6–1.0
- Write your prompt normally and generate
Weight and end step
- Weight 0.5 — soft guidance, more model freedom
- Weight 0.8 — strong guidance (recommended)
- Weight 1.0+ — can become rigid
- End step 0.7 — use ControlNet for the first 70%, let the model finish freely
Stacking ControlNets
SDXL supports multiple simultaneous ControlNets. Common combo: OpenPose (pose) + Depth (space). Weights 0.5–0.7 each to avoid one overpowering the other.