AIO Aux Preprocessor
Every ControlNet preprocessor behind one dropdown
- image
- IMAGE
One node, a dropdown, and nearly every preprocessor in the pack behind it. AIO ("all-in-one") is the Swiss-army-knife node: instead of dragging in a separate Canny node, a separate Depth node, a separate OpenPose node, you drop one AIO node and pick the preprocessor from a menu. It's the fastest way to A/B a canny map against a depth map against a lineart map without rewiring your graph. For prototyping and for anyone who's still learning which preprocessor does what, it's genuinely handy.
What it is, and the catch that matters
Here's the honest framing straight from the pack author: AIO gives you quick access to a preprocessor, but you can't set that preprocessor's own threshold parameters through it. Every preprocessor except Inpaint is folded into AIO, but folded in with all its knobs hidden. Pick CannyEdgePreprocessor from the AIO menu and you get Canny at its defaults - you don't get the low/high threshold sliders. Pick a depth model and you don't get to choose the checkpoint size.
So the rule is simple. Exploring? Use AIO - flip through preprocessors until one looks right. Dialing it in? The moment you need to tune a threshold, drop the standalone node for that specific preprocessor (there's a dedicated one for each) and set its parameters directly. AIO gets you to the right preprocessor; the standalone node gets it working well.
The inputs and outputs that matter
Three fields, and really only one you touch:
preprocessor- the dropdown, defaulting tonone. This is the whole node. It lists 47 options: the line extractors (LineartStandardPreprocessor,AnyLineArtPreprocessor_aux,Manga2Anime_LineArt_Preprocessor,PiDiNetPreprocessor…), depth and normal estimators, pose estimators (DensePosePreprocessorand friends), the segmentors (SemSegPreprocessor,UniFormer-SemSegPreprocessor,SAMPreprocessor), plus recolor and shuffle. Withnoneselected it passes the image through untouched, which is occasionally useful as a bypass.resolution(default 512) - the working resolution for whichever preprocessor you picked. Match it to your generation size for a clean map.
The output is a single IMAGE - the hint map produced by your chosen preprocessor. It wires into a ControlNet Apply node exactly like any dedicated preprocessor's output would. And, as always with this pack: you still need the matching ControlNet model loaded separately. AIO makes the hint image, not the conditioning.
Installing it
ComfyUI Manager: search ComfyUI's ControlNet Auxiliary Preprocessors, install, restart. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/Fannovel16/comfyui_controlnet_aux
pip install -r requirements.txt
Restart ComfyUI. Because AIO can invoke any preprocessor, the relevant model weight downloads from HuggingFace the first time you use that particular preprocessor - so switching to, say, a depth model for the first time triggers a one-time download and a pause.
Where people get burned
The big one is expecting quality control you gave up by using AIO. If your Canny map is too busy or too sparse and you can't figure out why you can't fix it - it's because AIO doesn't expose the thresholds. Switch to the standalone CannyEdgePreprocessor and the sliders appear. Second, a smaller gotcha: this pack skips any node it can't import rather than crashing, so if a preprocessor you expect is missing from the AIO dropdown, a dependency for it failed to install - check the ComfyUI console log on startup for the import error. Treat AIO as the scout, not the sniper: it finds you the right preprocessor fast, then you graduate to the real node to make it good.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| preprocessoropt | COMBO | none | 47 options: none, AnimeFace_SemSegPreprocessor, LineartStandardPreprocessor, AnyLineArtPreprocessor_aux, Manga2Anime_LineArt_Preprocessor, UniFormer-SemSegPreprocessor, +41 |
| resolutionopt | INT | 51264–16384 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |