Extensions/ComfyUI-ControlNet-Nodes
ComfyUI Extension

ComfyUI-ControlNet-Nodes

πŸ€– ControlNet-aux-style preprocessor nodes for ComfyUI β€” Depth/Normal/Soft-Edge/Line/Pose map estimation, ported as real architecture code (not a thin wrapper) from Fannovel16/comfyui_controlnet_aux.

By ChrisColeTechΒ·Created 3 days agoΒ·Updated 2 days agoΒ· 2
ChrisColeTech/ComfyUI-ControlNet-Nodes
Nodesβ€”
On cloudLocal install
Stars2
Updated2 days ago
Readme

ComfyUI-ControlNet-Nodes

ControlNet-aux-style preprocessor nodes for ComfyUI: image in, structural/identity map image out, for control_image/reference_image inputs on any ControlNet-consuming pipeline, or wired anywhere else a photo needs turning into a depth/edge/normal/line/pose map.

Each node is a from-scratch port of one comfyui_controlnet_aux (Apache-2.0) preprocessor's actual architecture and inference code β€” not a wrapper around that pack, not a transformers.from_pretrained(...) call. This is 11 of that pack's ~15-20 total preprocessor families, picked for having a clean single architecture; the rest (DWPose, Metric3D, UniFormer, Mesh Graphormer, Diffusion Edge, Unimatch, and everything that's really a thin transformers wrapper upstream) are out of scope for this package.

[!IMPORTANT] Two of the eleven nodes β€” CCTech Soft Edge Preprocessor (PiDiNet) and CCTech OpenPose Preprocessor β€” carry license restrictions beyond the rest of this package (research-use / non-commercial). See License notes below before using either commercially.

Installation

To install the custom node normally, git clone this repository into your custom nodes folder (ComfyUI/custom_nodes) and install its dependencies:

git clone https://github.com/ChrisColeTech/ComfyUI-ControlNet-Nodes

To install on a standalone ComfyUI release, open a CMD inside the "ComfyUI_windows_portable" folder (where your run_nvidia_gpu.bat file is) and use the following commands:

git clone https://github.com/ChrisColeTech/ComfyUI-ControlNet-Nodes ComfyUI/custom_nodes/ComfyUI-ControlNet-Nodes
.\python_embeded\python.exe -s -m pip install -r .\ComfyUI\custom_nodes\ComfyUI-ControlNet-Nodes\requirements.txt

No weights are bundled with this package. Every node auto-downloads its own weights from HuggingFace on first use into the real ComfyUI install's models/<family>/ folder β€” nothing is ever vendored as a weight file in this repo.

Nodes

Under πŸ€– CCTech/Preprocessors:

| Node | Detects | Architecture | Extra dependency | |---|---|---|---| | CCTech Depth Map Preprocessor (Depth Anything V2) | Depth | DINOv2 ViT + DPT decoder | β€” | | CCTech Normal Map Preprocessor (BAE) | Surface normals | EfficientNet-B5 encoder + uncertainty-aware BN decoder | timm | | CCTech Normal Map Preprocessor (DSINE) | Surface normals (camera-aware) | EfficientNet-B5 encoder + iterative refinement | timm | | CCTech Soft Edge Preprocessor (HED) | Soft edges | Small VGG-like multi-scale CNN | β€” | | CCTech Soft Edge Preprocessor (PiDiNet) | Soft edges | Pixel Difference Convolution CNN | β€” (see license note) | | CCTech MLSD Lines Preprocessor | Straight line segments | MobileNetV2-based line-segment detector | β€” | | CCTech Lineart Preprocessor | Realistic line drawing | ResNet encoder-decoder generator (fine/coarse checkpoints) | β€” | | CCTech Lineart Anime Preprocessor | Anime-style line drawing | pix2pix-style U-Net generator | β€” | | CCTech Manga Line Preprocessor | Manga-style clean line extraction | res_skip CNN | β€” | | CCTech OpenPose Preprocessor | Body/hand/face keypoints, rendered as a skeleton | Three classic (pre-DWPose) multi-stage CNNs | β€” (see license note) | | CCTech Canny Preprocessor | Edges | Plain cv2.Canny β€” no model, no download | β€” |

timm (pip install timm, already in requirements.txt) is needed only for the two Normal Map nodes, to build their EfficientNet-B5 backbone the same way the source pack does β€” everything else needs nothing beyond this repo's existing dependencies.

License notes

CCTech Soft Edge Preprocessor (PiDiNet): the original PiDiNet authors' LICENSE adds a research-use restriction beyond plain MIT: "It is just for research purpose, and commercial use should be contacted with authors first." This is quoted verbatim in vendor/pidinet.py's header and the node's own docstring β€” read it before using this specific node in a commercial context.

CCTech OpenPose Preprocessor: the underlying body/hand/face architecture and checkpoints trace back to Carnegie Mellon University's own OpenPose license β€” academic or non-profit organization, noncommercial research use only, quoted in full in vendor/openpose.py's header. Same situation as every other ComfyUI pack that ships this detector (including comfyui_controlnet_aux itself, under its own Apache-2.0 wrapper) β€” the wrapper code's license and the underlying architecture/weights' license are separate things. Read the actual restriction before using this node commercially.

Every other node in this package (the code and its weights) is under this package's own Apache-2.0 license (see LICENSE), matching the upstream comfyui_controlnet_aux source it was ported from.

tools/smoke_preprocessors.py covers every node's shape/dtype contract against a faked detector (no download in the offline suite) β€” 13/13, no GPU.

Credits

Ported from Fannovel16/comfyui_controlnet_aux (Apache-2.0). Originally built and verified inside ChrisColeTech/ComfyUI-GGUF-Loader (the CCTech Suite fork of city96/ComfyUI-GGUF) and extracted into this standalone package.