Shima CN Preprocessor Bus
One router for all your ControlNet preprocessor images
- c1_passthrough
- c2_normal_lineart
- c3_anime_lineart
- c4_manga_lineart
- c5_midas_depthmap
- c6_color_palette
- c7_canny_edge
- c8_openpose_recognizer
- c9_scribble_lines
- c10_yourchoice1
- c11_yourchoice2
- IMAGE
ControlNet workflows breed preprocessor outputs: a canny here, a depth map there, a lineart over yonder. Shima CN Preprocessor Bus is a routing node that gathers up to nine of those IMAGE streams into one node and lets you pick which one flows out the single output with an integer selector. It's a multiplexer for control maps - the kind of node that looks pointless until you're trying to switch between "canny" and "depth" runs without rewiring a handful of connections.
How it works
The node has eleven named IMAGE inputs, each labeled for the preprocessor it expects - c2_normal_lineart, c4_manga_lineart, c5_midas_depthmap, c7_canny_edge, c8_openpose_recognizer, c9_scribble_lines, and so on. You wire each preprocessor's output into its matching slot, then set the Input widget (1–9) to choose which channel passes through. The mechanism is one lookup in the source: the selector indexes into the channel list and returns that input, nothing else. It's a true router, not a blender - exactly one image comes out.
The labels match the standard ComfyUI preprocessor naming (normal_lineart, midas_depthmap, canny_edge, openpose_recognizer, scribble_lines...), so wiring is usually obvious. c1_passthrough is the "already done, send it as-is" lane, and there are two spare slots - c10_yourchoice1 and c11_yourchoice2 - for whatever you want, with the honest caveat that the selector widget tops out at 9, so those last two channels are effectively reserved/experimental rather than reachable from the UI.
The inputs that matter
- Input - the 1–9 selector. The whole node is this widget.
- c1_passthrough … c9_scribble_lines - the preprocessor image slots. Wire what you actually use; leave the rest empty.
- c10_yourchoice1 / c11_yourchoice2 - spare channels for custom maps (see the caveat above).
Single IMAGE output.
When you'd use it
This earns its place in a workflow where you're A/B testing control types - same source image, several preprocessors run in parallel, and you flip the selector to decide which condition drives this run. Paired with Shima's Choice Switch or a Breaker, you can even script that selection instead of clicking it. It's also a clean way to keep a "control island" self-contained: all your preprocessors land in one bus, and one wire leaves it.
It is not a processor itself. No preprocessor runs inside; every input is something you generate upstream. If you're looking for a node that extracts canny or depth from an image, that's Shima ControlNet Agent's job - this is purely the routing half of the story.
Installing it
Part of the Shima pack - ComfyUI Manager → search Shima, or:
cd ComfyUI/custom_nodes
git clone https://github.com/KDB-USJP/shima_wf.git Shima
Restart ComfyUI. First launch auto-installs the pack's deps and companion repos (ComfyUI-Impact-Pack, cg-use-everywhere). No models or extra downloads for this node.
Common issues
- "Output is empty." You selected a channel with nothing wired to it. The router returns whatever's in the selected slot - if that's unconnected, you get
Noneand a silently broken downstream. - "I selected 10 and nothing happened." The selector caps at 9, so the two
yourchoicechannels aren't reachable from the UI. Wire intoc1–c9for dependable use. - "Wrong image came out." Off-by-one:
Input1 isc1,Input2 isc2, and so on. The selector is 1-indexed - easy to trip on if you're thinking in list positions.
For a workflow that iterates on control types, this is the difference between five minutes of rewiring per experiment and a single click. Small node, genuinely useful habit.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| Input | INT | 11–9 | — |
| c1_passthroughopt | IMAGE | — | |
| c2_normal_lineartopt | IMAGE | — | |
| c3_anime_lineartopt | IMAGE | — | |
| c4_manga_lineartopt | IMAGE | — | |
| c5_midas_depthmapopt | IMAGE | — | |
| c6_color_paletteopt | IMAGE | — | |
| c7_canny_edgeopt | IMAGE | — | |
| c8_openpose_recognizeropt | IMAGE | — | |
| c9_scribble_linesopt | IMAGE | — | |
| c10_yourchoice1opt | IMAGE | — | |
| c11_yourchoice2opt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |