Skip to content

ControlNet Nodes

Extended ControlNet functionality in ComfyUI.

Required Nodes

ControlNet Loader

Load ControlNet models.

Inputs:
  - model (from checkpoint)

Outputs:
  - CONTROL_NET

Parameters:
  - control_net_name: Selected model

Apply ControlNet

Apply ControlNet to conditioning.

Inputs:
  - positive/negative conditioning
  - control_net
  - image (control image)

Outputs:
  - adjusted conditioning

Parameters:
  - strength: Control intensity (0-2)
  - start_percent: When to start (0-1)
  - end_percent: When to end (0-1)

Preprocessors

Available Preprocessors

PreprocessorUse For
CannyEdgeEdge detection
DepthMapDepth estimation
OpenPosePose detection
NormalMapSurface normals
LineartLine drawing
SoftEdgeSoft edge detection

CannyEdge Preprocessor

Inputs:
  - image

Parameters:
  - low_threshold: 1-255
  - high_threshold: 1-255

Lower = more edges detected

DepthMap Preprocessor

Inputs:
  - image

Parameters:
  - model: MiDaS variant

Models:
  - dpt_large: High quality
  - dpt_small: Fast
  - le_resnet: Outdoor scenes

Workflow

Basic Setup

[LoadImage] → [Preprocessor] → [ControlNet Loader]

[Checkpoint] → [CLIPTextEncode] → [KSampler]
                 ↑                    ↑
[Apply ControlNet] ← [Conditioning]

KSampler → VAEDecode → SaveImage

Advanced: Multiple ControlNets

[Image A] → [Preprocessor A] → [ControlNet A]

[Image B] → [Preprocessor B] → [ControlNet B]

                              Combine → KSampler

Parameters Explained

Strength

ValueEffect
0.3-0.5Subtle influence
0.6-0.8Balanced
0.9-1.2Strong control

Timing

StartEndEffect
0.01.0Full control throughout
0.00.7Stop early
0.31.0Start late

Common Use Cases

Edge Control

Input: Canny edge map
Control: Canny ControlNet
Strength: 0.7-0.9

Use: Keep structure consistent

Pose Control

Input: OpenPose skeleton
Control: OpenPose ControlNet
Strength: 0.6-0.85

Use: Character pose

Depth Control

Input: Depth map
Control: Depth ControlNet
Strength: 0.6-0.9

Use: 3D scene composition

Tips

  1. Preprocess first: Preview preprocessed result
  2. Adjust thresholds: Find right balance for your input
  3. Combine ControlNets: Use multiple for complex control

Next Steps