ComfyUI Node

Runware ControlNet

Cloud ControlNet — spatial structure, minus the local model files

By Runware·Created 2 years ago·Updated about a month ago· 140
Runware ControlNet
  • guideImage
  • controlNet
  • controlNet
model
controlModebalanced
endStepfalse
endStep_value1
endStepPercentagefalse
endStepPercentage_value1
startStepfalse
startStep_value0
startStepPercentagefalse
startStepPercentage_value0
weight1.00

ControlNet is how you tell a diffusion model where things go instead of just what they are - feed it an edge map, a depth map, a pose skeleton, and the generation follows that structure. It's one of the most powerful conditions in the whole ecosystem, and locally it means downloading per-architecture ControlNet files that don't transfer between model families. This builder is the Runware way: you give it a guide image and pick a ControlNet model from Runware's catalog, and the conditioning runs on their servers, wired into any model node in the pack that exposes a controlNet socket.

The inputs that matter

  • guideImage - required IMAGE. This is your condition: a Canny edge map, a depth render, a pose skeleton, whatever the model expects. Runware's convention is that you do the preprocessing - the pack doesn't ship preprocessor nodes (that's the job of ComfyUI's ControlNet Auxiliary Preprocessors locally) - so feed the prepared condition in.
  • model - required enum, and here's the friction: it's eight opaque AIR identifiers (runware:25@1 through runware:31@1, plus runware:98@1), not friendly names like "canny" or "depth." You'll need Runware's model list to map which ID is which condition type. It's the one genuinely annoying thing about this node.
  • weight - -4 to 4, default 1. The strength of the condition. Community wisdom says the SD-era sweet spot was 0.8–1.2 for strict adherence and 0.3–0.7 for loose guidance; the tooltip also notes that negative values steer away from the guide image, which is a neat trick for "anything but this composition."
  • controlMode - balanced (default), controlnet, or prompt. How much the condition versus the prompt wins when they disagree.

The step controls, and why they matter most

startStep/endStep (and their percentage versions, all gated off by default) control when during denoising the ControlNet applies. The standing community advice is to release the condition once composition has formed - start at 0 but end early (say 50–70% of steps) - so the model gets to add its own detail in the late phase instead of being held to the guide through the whole sample. This is the single most impactful thing you can tune here, and it's free because the gate defaults are "off, use model default."

Output and wiring

Output is RUNWARE_CONTROLNET, and there's a controlNet input of the same type, so you can chain one onto another - the pack's stackable-feature pattern for combining multiple conditions. Wire the last one into a model node's controlNet socket.

Install

One-time pack setup:

cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt

Restart, add your Runware API key (Settings → Runware API key, or RUNWARE_API_KEY).

The honest take

If you already run local ControlNet happily, you probably don't need this. If you want the conditioning without the model files and the VRAM, it's the cleanest cloud version of the idea - the end-to-end structure of your workflow stays identical (preprocess → condition → generate), you just don't hold the weights. The opaque model IDs are the price of admission; make a note of which AIR is which and it stops mattering.

CategoryRunware/Params

Inputs (13)

NameTypeDefaultDescription
guideImageIMAGE
modelCOMBOControlNet model identifier.
controlModeoptCOMBObalancedControlNet guidance mode.
endStepoptBOOLEANfalseEnable to set endStep. Off uses the model's default.
endStep_valueoptINT1Absolute step number to end ControlNet influence. Must be greater than `startStep` and less than or equal to `steps`.
endStepPercentageoptBOOLEANfalseEnable to set endStepPercentage. Off uses the model's default.
endStepPercentage_valueoptINT11–100Percentage of steps to end ControlNet influence. Must be greater than `startStepPercentage`.
startStepoptBOOLEANfalseEnable to set startStep. Off uses the model's default.
startStep_valueoptINT0Absolute step number to start ControlNet influence. Must be less than `endStep`.
startStepPercentageoptBOOLEANfalseEnable to set startStepPercentage. Off uses the model's default.
startStepPercentage_valueoptINT00–99Percentage of steps to start ControlNet influence. Must be less than `endStepPercentage`.
weightoptFLOAT1.00-4–4Strength of the ControlNet influence. A value of 0 means no influence. Higher values increase the influence, and negative values can be used to steer away from the guide image.
controlNetoptRUNWARE_CONTROLNET

Outputs (1)

NameTypeDescription
controlNetRUNWARE_CONTROLNET