[Inference.Core] Scribble Lines
Turning a Photo Into a Sketch a ControlNet Understands
- image
- IMAGE
Scribble ControlNet is famous for the opposite direction of what this node does - you draw a rough, loose doodle and the model fills in a fully rendered image around it, which is the most creative-friendly conditioning type in the whole ControlNet family. But sometimes you're starting from a real photo, not a blank canvas, and you want that same loose-scribble feel as your condition rather than a literal edge map. That's this node's job: it converts an existing image into a scribble-style abstraction, rather than reading a scribble you already drew.
It's deliberately the simplest node in this pack's line-extractor family - no threshold, no safe mode, nothing to configure beyond the image itself and the standard resolution knob. That bare-bones parameter list is itself informative: this isn't running a full neural edge detector with tunable behavior, it's a more fixed, lightweight scribble-style extraction. If you want a version of scribble conditioning that runs an actual neural net (HED) and gives you more control, that's the Fake Scribble node elsewhere in this same pack - the two exist side by side precisely because they trade off differently between simplicity and fidelity.
What you set: image is required, resolution (default 512) is the only optional input. The single IMAGE output goes into a ControlNet Apply node, paired with a Scribble ControlNet checkpoint loaded separately.
Good news if you're planning around this for the long haul: scribble conditioning is one of the few conditions that's genuinely kept pace with base model releases, unlike segmentation and reference-style conditioning which mostly got left behind on SD 1.5 and SDXL. SDXL's xinsir union carries it, and it's still getting added to brand-new union models - Alibaba PAI's Z-Image union picked up scribble support in a January 2026 update, and their Flux 2 union added it the following month. If you're building a workflow you expect to still work on whatever base ships next year, scribble is a safer bet than most of the other conditioning types in this pack.
Installing it: part of LykosAI's ComfyUI-Inference-Core-Nodes pack. LykosAI also makes Stability Matrix, the meta-installer a lot of people reach for to manage multiple local SD UIs, so this pack's install path tends to be more carefully thought through than a typical solo node repo. Grab it through ComfyUI Manager (search "ComfyUI-Inference-Core-Nodes"), or manually: cd ComfyUI/custom_nodes && git clone https://github.com/LykosAI/ComfyUI-Inference-Core-Nodes, then run install.py against ComfyUI's Python environment, or pip install -e .[cuda] / .[cuda12] / .[rocm] / .[directml] / .[cpu] matched to your hardware for an accelerated onnxruntime build, or a plain pip install -e . if you'd rather skip that. Restart ComfyUI afterward.
Troubleshooting: because this is a lightweight, deterministic transform rather than a heavy model, runtime problems are rare - the failure people actually hit is the whole pack refusing to import, usually ModuleNotFoundError: No module named 'inference_core_nodes', which means the Python package step of the install never finished (a frequent cause is install.py running against the wrong interpreter on a portable ComfyUI build - target python_embeded explicitly). If your generation is ignoring the scribble structure entirely, check your control weight before suspecting the node - scribble ControlNets are typically meant to be loose guidance rather than a strict outline, so a low weight is expected behavior, not a bug.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| resolutionopt | INT | 51264–2048 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |