ComfyUI Node

ControlNet Preprocess Scribble

Turn a doodle into a ControlNet condition

By Runware·Created 2 years ago·Updated about a month ago· 140
ControlNet Preprocess Scribble
  • image
  • image
ttlfalse
ttl_value60
outputFormatJPG

Scribble is the most creative-friendly ControlNet preprocessor there is: it takes a rough, messy sketch and turns it into a usable conditioning map, and the diffusion model fills in the details you couldn't be bothered to draw. This node runs that preprocessor on Runware's cloud, so you can sketch a layout - a figure, a landscape, a composition - and get a condition map without installing the annotator stack that usually comes with it.

The classic workflow: doodle the layout you want, run this node on it, wire the resulting IMAGE into the Runware ControlNet builder, and let the model render a real scene inside your scribble's silhouette. It's the reason "I can't draw" stopped being a blocker for composition control. The preprocessor is also forgiving by design - it was built for rough input, so it doesn't punish a shaky line the way Canny or MLSD would.

The inputs

Required: image (IMAGE) - your scribble, sketch, or any rough line drawing.

Optional: outputFormat (JPG default, PNG/WEBP) and the ttl group. That's all - this is a deliberately thin node. Output is a native image (IMAGE): the cleaned line condition.

One honest note: the tooltip-silent part of this node is that it accepts both actual scribbles and already-clean line art, and the output quality tracks your input. A loose gesture sketch stays loose; if you want tighter adherence to your lines, draw them with a bit more intent and the map will carry it.

How it works

Pack-standard: your image is encoded to a PNG data URI, scribble detection runs on Runware's GPUs, and the condition map is downloaded back into your graph. The ttl/outputFormat widgets are the shared pack block. From there it's a normal ControlNet chain: condition → Runware ControlNet builder → model node, with weight as your adherence dial (light ~0.3–0.5 for "suggest the layout," strong ~0.8+ for "follow the sketch"). The preprocess node alone does nothing; it earns its keep only as the front half of that chain.

Install and gotchas

Install the pack once - ComfyUI Manager, search Runware - or git clone https://github.com/Runware/ComfyUI-Runware into custom_nodes + pip install -r requirements.txt, restart, and set a Runware API key (Settings → Runware API key, RUNWARE_API_KEY, or runware auth login).

The gotchas are the usual ControlNet ones: don't expect the model to obey fine details you didn't actually draw, and remember every step in the chain is a paid generation. But for rough composition control - blocking out a pose, laying out a scene before committing to prompts - this is the lowest-friction path in the pack. Sketch first, prompt second, profit third.

CategoryRunware/Image/runware

Inputs (4)

NameTypeDefaultDescription
imageIMAGE
ttloptBOOLEANfalseEnable to set ttl. Off uses the model's default.
ttl_valueoptINT60Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.
outputFormatoptCOMBOJPGFile format for the generated image.

Outputs (1)

NameTypeDescription
imageIMAGE