Nodes/jlc-comfyui-nodes/ JLC Dynamic Aux Preprocessor Wrapper
ComfyUI Node

 JLC Dynamic Aux Preprocessor Wrapper

One image in, ten ControlNet hints out

By Damkohler·Created 6 months ago·Updated 3 days ago· 25
 JLC Dynamic Aux Preprocessor Wrapper
  • image
  • image_01
  • image_02
  • image_03
  • image_04
  • image_05
  • image_06
  • image_07
  • image_08
  • image_09
  • image_10
slot_count1
resolution512
preprocessor_01DISABLED
preprocessor_02DISABLED
preprocessor_03DISABLED
preprocessor_04DISABLED
preprocessor_05DISABLED
preprocessor_06DISABLED
preprocessor_07DISABLED
preprocessor_08DISABLED
preprocessor_09DISABLED
preprocessor_10DISABLED

A good multi-ControlNet workflow almost always starts from the same source image: you run it through HED for edges, a depth estimator, a normal map, and suddenly your canvas has four separate hint images that all have to become ControlNet conditions. The default ComfyUI way is one preprocessor node per hint, wired across the graph. JLC Dynamic Aux Preprocessor Wrapper (from Damkohler's jlc-comfyui-nodes pack) does the same thing in a single node: one IMAGE in, up to ten preprocessed hints out.

It's a thin, deliberately limited convenience layer. The actual preprocessors come from Fannovel16's comfyui_controlnet_aux package - the JLC node just gives you a compact multi-slot front end over the simple ones. It doesn't replace the upstream nodes and doesn't claim the preprocessors as its own.

What it exposes (and what it won't)

The wrapper only offers preprocessors that fit a strict shape: IMAGE in, optional shared resolution, IMAGE out. That means the friendly lineup - HED, TEED, Anime Line Art, Manga2Anime, Any Line Art, Binary, and the depth family (Zoe, Depth Anything, Depth Anything V2, MiDaS) - is in, and anything parameter-heavy or with special outputs is deliberately out. Canny thresholds, OpenPose/DWPose keypoint JSON, SAM, segmentation payloads: those keep their controls in their native ControlNet Aux nodes, because a compact wrapper would have to hide the knobs that make them useful.

Per slot, set preprocessor_XX to one of the ~25 available options, or leave it DISABLED. slot_count (1–10) decides how many slots actually run; rows above it are ignored even if their serialized values linger in the workflow JSON. resolution is shared across all active slots - one size fits all, which is the tradeoff you accept for the compact UI. Default 512; raise it if your hints come out mushy.

Outputs are ten IMAGE sockets, image_01 through image_10. Slots that aren't active emit a None absent-image signal - which matters if you're feeding the JLC ControlNet Orchestrator, since it treats a None image as "skip this slot."

Installing it - the one real dependency

The pack installs normally, but this node does not work alone:

cd ComfyUI/custom_nodes
git clone https://github.com/Damkohler/jlc-comfyui-nodes.git

Then install Fannovel16's comfyui_controlnet_aux via ComfyUI Manager (search "controlnet aux") or from its repo, and restart. DISABLED slots are safe no-ops without it, but the moment an active slot runs it raises an error telling you the dependency is missing. Plan ahead: several preprocessors (Depth Anything especially) download a sizable aux model on first use, so your first run through a new preprocessor will be slow and needs internet.

Where people get burned

The two classic misses: forgetting the aux dependency (see above), and expecting Canny or OpenPose in the dropdown. Neither will be there - that's by design, not a broken install. And remember the shared resolution applies to every slot, so a slot that needs high detail is held hostage by the lowest common denominator. When one hint genuinely needs its own settings, that's the signal to reach for the native ControlNet Aux node instead of fighting the wrapper.

Categoryconditioning/controlnet

Inputs (13)

NameTypeDefaultDescription
imageIMAGE
slot_countINT11–10Number of visible/executed aux preprocessor slots.
resolutionINT51264–16384Dynamic multi-slot wrapper for image-in/image-out preprocessors provided by Fannovel16's comfyui_controlnet_aux package. The node exposes preprocessors with IMAGE input, optional shared resolution, IMAGE-only output, and defaultable extra parameters. Special-output nodes should use their native ControlNet Aux nodes instead.
preprocessor_01COMBODISABLEDDynamic multi-slot wrapper for image-in/image-out preprocessors provided by Fannovel16's comfyui_controlnet_aux package. The node exposes preprocessors with IMAGE input, optional shared resolution, IMAGE-only output, and defaultable extra parameters. Special-output nodes should use their native ControlNet Aux nodes instead.
preprocessor_02COMBODISABLEDDynamic multi-slot wrapper for image-in/image-out preprocessors provided by Fannovel16's comfyui_controlnet_aux package. The node exposes preprocessors with IMAGE input, optional shared resolution, IMAGE-only output, and defaultable extra parameters. Special-output nodes should use their native ControlNet Aux nodes instead.
preprocessor_03COMBODISABLEDDynamic multi-slot wrapper for image-in/image-out preprocessors provided by Fannovel16's comfyui_controlnet_aux package. The node exposes preprocessors with IMAGE input, optional shared resolution, IMAGE-only output, and defaultable extra parameters. Special-output nodes should use their native ControlNet Aux nodes instead.
preprocessor_04COMBODISABLEDDynamic multi-slot wrapper for image-in/image-out preprocessors provided by Fannovel16's comfyui_controlnet_aux package. The node exposes preprocessors with IMAGE input, optional shared resolution, IMAGE-only output, and defaultable extra parameters. Special-output nodes should use their native ControlNet Aux nodes instead.
preprocessor_05COMBODISABLEDDynamic multi-slot wrapper for image-in/image-out preprocessors provided by Fannovel16's comfyui_controlnet_aux package. The node exposes preprocessors with IMAGE input, optional shared resolution, IMAGE-only output, and defaultable extra parameters. Special-output nodes should use their native ControlNet Aux nodes instead.
preprocessor_06COMBODISABLEDDynamic multi-slot wrapper for image-in/image-out preprocessors provided by Fannovel16's comfyui_controlnet_aux package. The node exposes preprocessors with IMAGE input, optional shared resolution, IMAGE-only output, and defaultable extra parameters. Special-output nodes should use their native ControlNet Aux nodes instead.
preprocessor_07COMBODISABLEDDynamic multi-slot wrapper for image-in/image-out preprocessors provided by Fannovel16's comfyui_controlnet_aux package. The node exposes preprocessors with IMAGE input, optional shared resolution, IMAGE-only output, and defaultable extra parameters. Special-output nodes should use their native ControlNet Aux nodes instead.
preprocessor_08COMBODISABLEDDynamic multi-slot wrapper for image-in/image-out preprocessors provided by Fannovel16's comfyui_controlnet_aux package. The node exposes preprocessors with IMAGE input, optional shared resolution, IMAGE-only output, and defaultable extra parameters. Special-output nodes should use their native ControlNet Aux nodes instead.
preprocessor_09COMBODISABLEDDynamic multi-slot wrapper for image-in/image-out preprocessors provided by Fannovel16's comfyui_controlnet_aux package. The node exposes preprocessors with IMAGE input, optional shared resolution, IMAGE-only output, and defaultable extra parameters. Special-output nodes should use their native ControlNet Aux nodes instead.
preprocessor_10COMBODISABLEDDynamic multi-slot wrapper for image-in/image-out preprocessors provided by Fannovel16's comfyui_controlnet_aux package. The node exposes preprocessors with IMAGE input, optional shared resolution, IMAGE-only output, and defaultable extra parameters. Special-output nodes should use their native ControlNet Aux nodes instead.

Outputs (10)

NameTypeDescription
image_01IMAGE
image_02IMAGE
image_03IMAGE
image_04IMAGE
image_05IMAGE
image_06IMAGE
image_07IMAGE
image_08IMAGE
image_09IMAGE
image_10IMAGE