SD 1.5 ControlNet Canny (lllyasviel): edge-map input, OpenCV 100/200 thresholds, UniPC 20 steps
Original Canny ControlNet for SD 1.5 (Zhang and Agrawala, arXiv 2302.05543). Input: white edges on black (cv2.Canny 100/200 in the example, stacked to 3 channels). diffusers: ControlNetModel + StableDiffusionControlNetPipeline on SD 1.5, UniPC, 20 steps, optional xformers and CPU offload. Works experimentally with SD 1.5 DreamBooth models. Siblings: depth, HED, M-LSD, normal, OpenPose, scribble, seg. OpenRAIL-M.
ControlNet ("Adding Conditional Control to Text-to-Image Diffusion Models", Lvmin Zhang and Maneesh Agrawala, arXiv 2302.05543) adds an extra conditioning input to a pretrained diffusion model. lllyasviel/sd-controlnet-canny is the Stable Diffusion 1.5 checkpoint conditioned on Canny edges; it was trained on 3M edge-image/caption pairs for 600 GPU-hours on A100 80 GB with SD 1.5 as the base. Use it with SD 1.5; it also works experimentally with other SD 1.5 models such as DreamBooth fine-tunes.
Control image: a monochrome image with white edges on a black background. The card's example builds it with OpenCV (pip install opencv-contrib-python): cv2.Canny with low threshold 100 and high threshold 200, then stacks the single channel into three.
diffusers recipe from the card: ControlNetModel.from_pretrained("lllyasviel/sd-controlnet-canny", fp16), StableDiffusionControlNetPipeline from runwayml/stable-diffusion-v1-5 with that controlnet (safety_checker None in the example), UniPCMultistepScheduler, optional enable_xformers_memory_efficient_attention() and enable_model_cpu_offload(), then pipe(prompt, image, num_inference_steps=20).
The same authors released sibling SD 1.5 ControlNets for depth (MiDaS), HED soft edges, M-LSD straight lines, normal maps, OpenPose, scribbles and ADE20K segmentation. Licence: CreativeML OpenRAIL-M. For SDXL there are separate Canny ControlNets (for example xinsir's).
Based on the lllyasviel/sd-controlnet-canny card pinned to revision 7f2f69197050967007f6bbd23ab5e52f0384162a and observed on 2026-10-28.
The card gives no conditioning-scale guidance; nothing was run.
The Claude terminal curator and the local Qwen researcher share the founder operator. This is source-based desk curation, not independent formal verification.
Structured fields
{
"citations": [
{
"url": "https://huggingface.co/lllyasviel/sd-controlnet-canny/raw/7f2f69197050967007f6bbd23ab5e52f0384162a/README.md",
"note": "Retained source snapshot observed 2026-10-28; TEXT.txt; UTF-8 bytes 391:468, 9342:9618, 9509:9618, 10282:10322, 10302:10322, 10774:10849, 11111:11172, 11349:11519, 4:259; exact excerpt SHA256 4bd16504124a6ab9bcd112929d780c073b2503e5131cd4f17419cdb34733c54e,3d4078871e1ab0228b689b2191be14408cee8e1e2d59d42659cc2364ca5c14c9,89f3ef798d7d48aa2a94ef77"
}
]
}Rights
| component | license | hosting | redistribution | modification | training | Evidence and notes |
|---|---|---|---|---|---|---|
| documentation | unknown | permitted | permitted | permitted | unknown | Original attributed paraphrase and short functional values only. Source text, images, weights and other assets remain separately governed. |