ControlNet: Canny, Normal, and Panel Continuity
Use ControlNet for comics: Canny edge control, Normal-map 3D rotation, Reference style continuity, and stacking multiple control types.
On this page
ControlNet for Character Work and Comics: Canny, Normal, and Panel Continuity
ControlNet adds spatial conditioning to diffusion models through zero-convolution pathways. For comics, this enables line control, repeated character poses, and style continuity across panels. This article covers Canny edge detection, Normal maps for 3D rotation, Reference for style transfer, and stacking multiple ControlNets together.
For debugging spatially inconsistent generations, see ControlNet Common Errors and Fixes.
TL;DR
- Use Canny edge detection for hand-edited line art and pose structure.
- Use Normal maps from a 3D editor when you need precise head or body rotation.
- Use Reference ControlNet for atmosphere and lighting continuity across comic panels.
- Stack Canny + Pose + Reference for the most reliable panel-to-panel control.
| Control type | Best for |
|---|---|
| Canny | Line structure, exaggerated poses, weapons |
| OpenPose | Human skeleton, standard anatomy |
| Normal | 3D-style rotation, professional orientation control |
| Reference | Color, lighting, atmosphere continuity |
| Depth | Spatial scene layout |
Source: control-type strengths drawn from the dossier's source articles (494, 1100, 275) and the ControlNet reference.
Source: Common ControlNet usage patterns; see ComfyUI mixing guide. ControlNet Multi-ControlNet guide ControlNet Reference setup guide ControlNet Normal map reference
What is Canny edge control
Canny applies double-threshold hysteresis to detect intensity gradients, producing binary edge maps with white lines on black. The ControlNet Canny model (control_v11p_sd15_canny.pth) was trained on Canny maps generated with random thresholds, making it robust to threshold variation.
The Canny preprocessor uses cv2.Canny(img, low_threshold, high_threshold) with default values of low=100 and high=200. In ControlNet, Canny constrains line structure without dictating texture, so you can reuse the same edge sheet across multiple style generations.
Canny threshold settings
The ControlNet Canny preprocessor exposes two thresholds: low and high. With defaults near low=100 and high=200, the recommended approach is to keep as many lines as possible while avoiding double lines (source article 494).
How to preserve line consistency across comic panels
Keep one master Canny map for the character and reuse it across all panels that share that pose. For action beats, duplicate the master map and paint only the changed limbs. For dramatic close-ups, redraw the Canny sheet and keep line weight consistent with the original sketch.
| Panel step | Action |
|---|---|
| 1 | Block character pose on a sketch layer and check silhouette readability |
| 2 | Generate a base Canny map and trim split-second noise |
| 3 | Reuse the same Canny stack for every panel sharing the design |
| 4 | In inpaint passes, mask only the changing region and keep Canny weight constant |
For comic backgrounds, pair Canny with Reference. Reference inherits color and atmosphere from a reference frame, which helps background continuity without requiring the background artist to match every panel exactly. If the background must stay identical, use ControlNet Reference at weight 0.6–0.8 with ending-step control around 0.75.
Normal maps for 3D-style head rotation
ControlNet Normal accepts a map where RGB encodes surface orientation (blue for forward, red for left, green for top). When a 3D editor exports that map from a rotated model, the pixel normals change accordingly, giving the model a 3D-aware rotation cue without shading baked in.
Start with Control Weight around 0.5, then raise it only if the new angle is not respected. Do not set the weight to 1.0; Normal provides weaker control than line-based types and can distort quickly if the base model differs from your target style.
Reference ControlNet for continuity
Reference ControlNet guides diffusion by linking attention to a reference image, making it useful for comic-color continuity, lighting transitions, and atmosphere. The two variants are reference-adain and reference-adain+attn; the attn variant usually works better because it avoids a blank starting canvas.
Keep style fidelity near 0.8–0.9. Higher values increase color bleed and overexposure risk. End the reference influence by step 0.75 so later denoising gives the model creative room.
Stacking Control types for comics
In A1111, enable Multi-ControlNet and attach each control type to its own unit. In ComfyUI, chain Apply ControlNet nodes in sequence and finish with balance checks. Good comic stacks include Canny + OpenPose for body control, Canny + Depth for environment depth, and Canny + Reference for artistic continuity.
| Combo | Purpose |
|---|---|
| Canny + Reference | Line structure with color/lighting inheritance |
| Canny + Depth | Line structure with spatial layout |
| Canny + OpenPose | Line structure with skeleton correction |
| Reference + Depth | Background atmosphere with spatial feel |
When stacking, balance the strength parameters to prevent one control type from dominating the output.
Common errors and fixes
| Symptom | Cause | Fix |
|---|---|---|
| Hires fix disrupts Reference output | Reference attention maps are computed at base resolution; Hires upscales latents after injection, misaligning attention maps | Use lower ControlNet weight, or manually apply Hires fix after generating the full-res result. Consider using reference_only with style_fidelity around 0.5. |
| Normal map distorts face | Weight above 0.5 with mismatched 3D reference | Drop weight to 0.5 and pair with Canny |
Frequently Asked Questions
How do I combine Canny and Pose ControlNet for a character with exaggerated proportions?
Use Canny as the primary control and Pose as a secondary guide. Set Canny weight to 0.9 and Pose to 0.6–0.8. This gives Canny dominance over line structure while Pose keeps body language readable.
Can I use Normal map from a 3D editor to rotate a character's head?
Yes. Load a model into the A1111 3D Editor, switch display mode to NORMALS, rotate the view, and send it to ControlNet. Set Control Weight near 0.5 and preprocessor off if the map comes directly from the renderer.
What is the best way to achieve panel-to-panel continuity in a comic?
Make one master Canny edge sheet for each character pose and one Reference frame for each background tone. Reuse those stacks across all panels. If panels share the same location, reuse the same Reference image without retouching style fidelity.
Why does Reference ControlNet lose detail with Hires fix?
Reference attention was designed at base resolution. High-res upscaling moves the canvas after injection, misaligning style guidance. Use lower Reference weight and end reference control by step 0.75; otherwise generate at the target resolution instead of relying on upscaling (source: article 275).
How do I balance multiple ControlNets without overwhelming the prompt?
Rank controls by importance: strongest first, weakest last. End weaker controls by step 0.5–0.7. Keep the prompt simple—one clear scene description works better than many style tags when control strength is high.
Sources
| Source | Contribution |
|---|---|
| https://github.com/lllyasviel/ControlNet-v1-1-nightly#controlnet-11-canny | Canny model file, training data, default thresholds |
| https://raw.githubusercontent.com/lllyasviel/ControlNet/main/gradio_canny2image.py | Default low=100, high=200 and preprocessor implementation |
| https://github.com/lllyasviel/ControlNet-v1-1-nightly#controlnet-11-normal | Normal map model file and NYU-V2 protocol documentation |
| https://github.com/Mikubill/sd-webui-controlnet#reference-only-control | Reference-only preprocessor and attention-based style guidance |
| https://robot9.me/2024/07/15/ReferenceNet-ReferenceOnly-Reference-ControlNet/ | Reference mechanism, style fidelity behavior |
| https://docs.comfy.org/tutorials/controlnet/mixing-controlnets | Multi-ControlNet chaining and strength balancing advice |
| https://civitai.com/articles/494 | Canny vs OpenPose and Depth for comics and hands |
| https://civitai.com/articles/1100 | 3D editor Normal workflow and weight recommendation |
| https://civitai.com/articles/275 | Reference usage, style fidelity, and Hires fix limitations |