Scribble Lines
The plain base scribble preprocessor (and when to skip it)
- image
- IMAGE
The plain, no-frills scribble preprocessor. It converts an image into coarse, rough scribble lines for a scribble ControlNet - the most creative-friendly conditioning type there is, the one that sets a loose layout and lets the model fill in the rest. This is the base version of the scribble family: one image in, a scribble map out, a single resolution knob, and that's it. It's the simplest way to get scribble conditioning from an existing picture, though it's often not the best-looking one.
How it works and why scribble matters
Scribble conditioning is the opposite philosophy to Canny. Where Canny traces every precise contour and holds the model to it, scribble hands over a rough sketch of the layout and trusts the model to invent the details. That's why the community calls it the most creative-friendly preprocessor - it guides composition without straitjacketing the output. This node produces that rough line map from your input image.
Here's the thing worth saying up front, though: scribble's real superpower is that you don't necessarily need a preprocessor at all. Because a scribble ControlNet is trained to read rough hand-drawn lines, you can draw a layout yourself - even a crude doodle in any paint program - and feed it straight into the scribble ControlNet. This node is for when you're starting from an existing image instead of a drawing.
The inputs and output
There's almost nothing to configure, which is the whole personality of this node:
image- your source.resolution(default 512) - processing size; match it to your render.
The single output is an IMAGE - the scribble map - which wires into a ControlNet Apply node with a scribble ControlNet (control_v11p_sd15_scribble or control_scribble). It does nothing until that model is loaded.
Installing it
ComfyUI Manager: search ComfyUI's ControlNet Auxiliary Preprocessors, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/Fannovel16/comfyui_controlnet_aux
pip install -r requirements.txt
Restart ComfyUI.
Where people get burned
The main thing: this plain version tends to give blockier, cruder lines than its cousins, and people run it, see mediocre output, and write off scribble entirely. Don't. This pack has a whole scribble family, and the others usually look better from a photo: FakeScribblePreprocessor (HED-based, soft organic strokes), Scribble_PiDiNet_Preprocessor (cleaner PiDiNet lines), and Scribble_XDoG_Preprocessor (fast algorithmic with a tunable threshold). They all target the same scribble ControlNet, so switching is a one-node change. If the base ScribblePreprocessor isn't cutting it, try one of those before giving up.
Second, remember the skip-the-preprocessor move. If you already have a rough drawing, don't run it through this node - feed the drawing directly to the scribble ControlNet. Preprocessing a clean sketch just adds a step and can degrade it.
And the universal one: the scribble map is inert without a scribble ControlNet loaded and a ControlNet Apply node in the graph. Don't cross-wire it into a Canny or lineart model - those expect a different kind of line and won't behave.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| resolutionopt | INT | 51264–16384 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |