🎛️

Image Control - ControlNet XL Union

🛠

One ControlNet for 6 Conditioning Modes - SDXL Image Generation Guided by Any Control Image

Guided image generation from a control image (edges, depth, pose, etc.) and a text prompt using SDXL. Supports 6 conditioning modes in one model, canny/lineart, depth, openpose, hed/softedge, normal, and segmentation. Pair with an Annotator node to produce the control image from a source photo.

What it does

ControlNet XL Union is an "all-in-one" ControlNet adapter for Stable Diffusion XL (SDXL). Instead of loading a separate ControlNet for every conditioning type (one for canny, one for depth, one for pose, etc.), this single model handles 6 different conditioning modes with the same network parameters. You give it a control image of the appropriate type, a canny edge map, a depth map, a pose skeleton, a HED soft-edge map, a surface normal map, or a semantic segmentation mask, and a text prompt, and SDXL generates a new image that follows the structure of the control image and the content/style of the text prompt. It's the workhorse for any SDXL-based image-to-image workflow that needs structural control but where you want flexibility to switch between control types without swapping models. Built by xinsir and trained on 10M+ carefully captioned images, with the same parameter count as the original ControlNet — no increase in compute or memory vs. running a single-condition ControlNet.

Problem it solves

  • One model for many conditioning types – Switch between canny, depth, openpose, hed, normal, and segmentation without loading separate adapters — saves VRAM and pipeline complexity
  • Composition-locked generation – Keep the structure, geometry, or pose of a reference photo while changing everything else (style, lighting, materials, era)
  • Pose-driven character generation – Use openpose skeletons to place a character in any pose, then style with text
  • Depth-guided scene restyling – Restyle a scene while preserving its 3D layout
  • Semantic layout control – Use segmentation masks to lock in what goes where (sky, road, person) and let the prompt fill in how it looks
  • Sketch-to-image – Turn line art (canny / HED / scribble-like maps) into rendered images
  • Multi-condition fusion (built-in) – The model was trained to combine conditions, so you can stack control signals (e.g., openpose + depth) without manual tuning
  • Stable foundation for the UI's control nodes – This is the model behind any "use a control image" SDXL flow in the studio

Input/Output

  • Input:
    • Control image matching the selected conditioning type:
      • canny - edge maps from Annotator-CannyEdge
      • depth - depth maps from Annotator-DepthAnything
      • openpose - pose skeletons
      • hed - soft edge / HED maps
      • normal - surface normal maps
      • segment - semantic segmentation masks
    • Text prompt describing the desired image (style, content, mood)
    • image
  • Options:
    • Conditioning type (canny / depth / openpose / hed / normal / segment) — must match the control image you supply
    • Strength of the ControlNet guidance (0.0 – 2.0, default 0.8)
      • 0.0 = ignore the control image · 2.0 = strictly follow it
      • 0.7 – 1.0 works well for most inputs; reduce if the control is too rigid
    • Number of diffusion steps (default 25)
      • 20 – 30 gives good quality; more steps add marginal quality at linear time cost
    • Random seed (default 1)
      • 1 picks a new random seed each run; set a fixed integer to reproduce the same image
    • Output image width (512 / 768 / 1024) — the control image is resized to match
    • Output image height (512 / 768 / 1024) — the control image is resized to match
    • Advanced — Negative prompt (leave empty for no negative guidance; e.g. "blurry, low quality, watermark, text")
  • Output: Generated image
    • Up to 1024 × 1024 (native SDXL; bucket training supports any aspect ratio)
    • Style and content follow the text prompt; structure follows the control image
    • image

Accuracy & Speed

Output resolution
Up to 1024 × 1024; bucket training supports arbitrary aspect ratios
VRAM requirement
~8 GB
Parameter overhead
Same as a single-condition ControlNet (no inflation despite supporting 10+ modes natively)
Default usage
Strength 0.8, 25 diffusion steps, output 1024×1024
vs. Dedicated Canny
More flexible (one model, many modes); the dedicated ControlNet XL Canny variant gives sharper structural adherence on canny-specific tasks
Multi-condition
Supports condition fusion (e.g., openpose + depth) without extra parameters or hyperparameter tuning
Compatibility
Works with other open-source SDXL models (BluePencilXL, CounterfeitXL, etc.) and LoRAs

Technical Details

Model type
ControlNet adapter for SDXL — multi-condition ("Union" / ControlNet++)
Base model
stabilityai/stable-diffusion-xl-base-1.0
Architecture
Original ControlNet architecture + two new modules: (1) shared parameter extension across condition types, (2) multi-condition input fusion without added compute
Supported conditioning types (native)
10+ — openpose, depth, canny, lineart, anime-lineart, MLSD, scribble, HED, Pidi (softedge), Teed, segment, normal (UI exposes 6: canny, depth, openpose, hed, normal, segment)
Multi-condition support
Condition fusion learned during training — stackable without manual hyperparameter tuning
Training data
10M+ carefully filtered & captioned images, diverse situations
Captioning model
CogVLM (DALL·E 3-style re-captioning for prompt following)
Training tricks
Bucket training (any aspect ratio), data augmentation, multiple loss, multi-resolution
Compatibility
Other open-source SDXL base models (BluePencilXL, CounterfeitXL, etc.) and LoRAs
Supported Frameworks
Hugging Face Diffusers (ControlNetModel, StableDiffusionXLControlNetPipeline), Safetensors
Related Paper
"Adding Conditional Control to Text-to-Image Diffusion Models" — arXiv:2302.05543
Optional ProMax variant
Same repo includes a ProMax checkpoint adding 5 editing features (tile deblur, tile variation, tile super-resolution, inpainting, outpainting)

Compliance & Provenance

Provider
Open-source (xinsir)
Provider type
Specialized
License
Apache 2.0
EU AI Act risk class
Minimal Risk
Art. 50 transparency
Not applicable
Region availability
Available globally
Training data summary

For more on how we classify models and mark outputs, see our AI Policy.

Model Source