> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rubbrband.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Controlnet Node

> The Controlnet node generates outputs through conditioning on an input image. It has 4 subtypes: Flux Pro, Flux Dev, Stable Diffusion XL (legacy) and Stable Diffusion 1.5 (Legacy)

##

## **Flux Pro Controlnet**

**The Flux Pro Controlnet node is powered by Flux Pro technology. It generates images conditioned on images using a specific preprocessor type.**

**Inputs**

<ResponseField name="Base Image" type="image" required>
  The image that will be used for conditioning. This image will be passed
  through the preprocessor before being sent to the controlnet.
</ResponseField>

<ResponseField name="Prompt" type="string" required>
  The prompt that will be used to generate the image.
</ResponseField>

**Settings**

<ResponseField name="Color Palette" type="color">
  Add up to 3 colors using the color palette to select.
</ResponseField>

<ResponseField name="Enhance prompt" type="boolean">
  Switch on this setting to allow the AI to add details to your prompt to
  improve generations. This helps image quality, but can occasionally lead to
  worse prompt adherence.
</ResponseField>

<ResponseField name="Guidance" type="number">
  Guidance is a scale from 0 to 100 that measures how much the output image
  should adhere to the prompt. Increasing guidance to values that are too high
  result in a lack of coherence -- the images follow the prompt, but they won't
  look quite right.
</ResponseField>

<ResponseField name="Number of Steps" type="number">
  Increasing the number of steps increases the number of iterations the AI takes
  to generate your image. Increasing steps make generations take longer, but can
  sometimes lead to more coherent images.
</ResponseField>

<ResponseField name="Preprocessors" type="select one">
  <ResponseField name="Canny Edge Detection">
    The canny edge detection preprocessor creates an edge map of the image, and uses this edge map to condition the output image. The output image will follow the edge map of the input image, but use the prompt to generate.

    <img src="https://rubbrband-static-assets-buckets.s3.us-east-1.amazonaws.com/docs/images/canny_controlnet.jpg" />
  </ResponseField>

  <ResponseField name="Depth Map">
    The depth map preprocessor creates a depth map of the image, and uses this depth map to condition the output image. The output image will follow the depth map of the input image, but use the prompt to generate.

    <img src="https://rubbrband-static-assets-buckets.s3.us-east-1.amazonaws.com/docs/images/depth_controlnet.jpg" />
  </ResponseField>
</ResponseField>

**Outputs**

<ResponseField name="Image">
  The output image that is conditioned by the processed base image, and the
  prompt.
</ResponseField>

## **Flux Dev Controlnet**

**The Flux Dev Controlnet node is powered by Flux Dev technology. It generates images conditioned on images using a specific preprocessor type. You can view the effects of a preprocessor on an image by using a "Controlnet Preprocess" node.**

**Inputs**

<ResponseField name="Base Image" type="image" required>
  The image that will be used for conditioning. This image will be passed
  through the preprocessor before being sent to the controlnet.
</ResponseField>

<ResponseField name="Prompt" type="string" required>
  The prompt that will be used to generate the image.
</ResponseField>

**Settings**

<ResponseField name="Color Palette" type="color">
  Add up to 3 colors using the color palette to select.
</ResponseField>

<ResponseField name="Enhance prompt" type="boolean">
  Switch on this setting to allow the AI to add details to your prompt to
  improve generations. This helps image quality, but can occasionally lead to
  worse prompt adherence.
</ResponseField>

<ResponseField name="Guidance" type="number">
  Guidance is a scale from 0 to 100 that measures how much the output image
  should adhere to the prompt. Increasing guidance to values that are too high
  result in a lack of coherence -- the images follow the prompt, but they won't
  look quite right.
</ResponseField>

<ResponseField name="Number of Steps" type="number">
  Increasing the number of steps increases the number of iterations the AI takes
  to generate your image. Increasing steps make generations take longer, but can
  sometimes lead to more coherent images.
</ResponseField>

<ResponseField name="Preprocessors" type="select up to 2">
  <ResponseField name="Canny Edge Detection">
    The canny edge detection preprocessor creates an edge map of the image, and uses this edge map to condition the output image. The output image will follow the edge map of the input image, but use the prompt to generate.&#x20;

    **Conditioning Scale**: A number between 0-1, that increases the strength of the conditioning.

    **High Threshold**: A number between 0 and 255, that is a threshold for strong edges. Any pixel value higher than the threshold is taken as a "strong edge".

    **Low Threshold**: A number between 0 and 255, that is a threshold for weak edges. Any pixel value lower than the threshold is not taken as an edge
  </ResponseField>

  <ResponseField name="Depth Map">
    The depth map preprocessor creates a depth map of the image, and uses this depth map to condition the output image. The output image will follow the depth map of the input image, but use the prompt to generate.

    **Conditioning Scale**: A number between 0-1, that increases the strength of the conditioning.
  </ResponseField>

  <ResponseField name="OpenPose">
    The OpenPose preprocessor creates a stick figure of the subject in the image, reflecting their pose.

    **Conditioning Scale**: A number between 0-1, that increases the strength of the conditioning.
    **Hand**: If turned on, the pose will also take the position of the fingers of the hand into account.

    <img src="https://rubbrband-static-assets-buckets.s3.us-east-1.amazonaws.com/docs/images/openpose_controlnet.jpg" />
  </ResponseField>
</ResponseField>

**Outputs**

<ResponseField name="Image">
  The output image that is conditioned by the processed base image, and the
  prompt.
</ResponseField>
