Nodes/comfyui-art-venture/ControlNet Loader
ComfyUI Node Runs on cloud

ControlNet Loader

One node instead of three

By sipherxyz·Created 3 years ago·Updated 4 months ago· 352
ControlNet Loader
  • conditioning
  • image
  • timestep_keyframe
  • CONDITIONING
control_net_name
strength1.00
preprocessor
control_net_overrideNone
resolution512
enabledtrue

The normal way to add a ControlNet in ComfyUI is a little chain of three nodes: a Load ControlNet Model, a preprocessor to turn your reference into an edge/depth/pose map, and an Apply ControlNet to fold that into your conditioning. It works, but if you've got two or three of them stacked your graph turns into spaghetti fast. This node from the art-venture pack collapses that whole chain into a single box. You feed it a conditioning and an image, pick a model and a preprocessor, and it does the rest.

It's the same idea behind the Efficiency Nodes everybody uses to keep workflows readable - fewer boxes, same result. If you've ever squinted at a shared workflow trying to trace which preprocessor feeds which Apply node, you get why this exists.

How it works

Under the hood there's no magic. It loads the ControlNet checkpoint you named, runs your image through the chosen preprocessor to build the control map, and applies that to the conditioning you passed in at the strength you set. What comes out the other side is a CONDITIONING you wire straight into your KSampler's positive input. This is the single-conditioning variant - one conditioning in, one out. If you want positive and negative handled together plus step scheduling, that's the Advanced sibling.

ControlNet itself is the biggest lever in the toolbox after text-to-image. It conditions generation on spatial structure pulled from a reference - edges, depth, pose - so you control what with the prompt and where with the map. This node is just a tidier front door to it.

The inputs that matter

  • control_net_name - the dropdown reads from your models/controlnet folder. If it only shows None, you have no ControlNet models installed for your base. Match the model to your checkpoint's architecture: an SDXL union won't load on Flux, and vice versa.
  • strength - how hard the condition pushes (0 to 10, default 1). Here's the thing the default gets wrong for modern models: the 2025-26 union ControlNets publish lower recommended weights, usually 0.65 to 0.8. Starting at 1.0 on a Flux or Qwen union tends to overcook it. On old SD 1.5 gear, 1.0 is fine.
  • preprocessor - which map to extract (canny, depth, openpose, and so on). This dropdown is populated by comfyui_controlnet_aux; if that pack isn't installed you'll only see None and you'll have to preprocess your image with a separate node.

There's also resolution for the preprocessing pass, an enabled toggle to mute the node without deleting it (genuinely handy for A/B tests), a control_net_override string to feed a model name programmatically, and a timestep_keyframe input for people driving this from Kosinkadink's Advanced-ControlNet scheduling. Most beginners touch none of those.

Installing it

Easiest path is ComfyUI Manager: open Manager, search comfyui-art-venture (or "ArtVenture"), install, restart. Manual works too:

cd ComfyUI/custom_nodes
git clone https://github.com/sipherxyz/comfyui-art-venture

then restart ComfyUI. The pack pip-installs its own requirements on first load. On comfy.icu it's already baked into the shared image, so there's nothing to install.

Common issues

The number one problem with this whole pack is that its nodes show up red and "missing" when you load someone else's workflow - art-venture is one of those quiet dependencies a lot of shared graphs lean on without saying so. If you see a red AV_ControlNetEfficientLoader, run Manager's "Install Missing Custom Nodes" and it'll sort it.

Second: an empty preprocessor list. That's the controlnet_aux dependency not being installed, not a bug here. Install it and restart. Note the pack's own README flags that its old AV_controlnetPreprocessor wrapper is deprecated in favor of the AIO_Preprocessor node that ships in controlnet_aux - same deal, that's where preprocessing lives now.

And the classic ControlNet trap that isn't this node's fault: nothing happens because you loaded a model for the wrong base. Structure feels ignored? Check the architecture match first, strength second.

CategoryArtVenture/Loaders

Inputs (9)

NameTypeDefaultDescription
control_net_nameCOMBO1 options: None
conditioningCONDITIONING
imageIMAGE
strengthFLOAT1.000–10
preprocessorCOMBO1 options: None
control_net_overrideoptSTRINGNone
timestep_keyframeoptTIMESTEP_KEYFRAME
resolutionoptINT51264–2048
enabledoptBOOLEANtrue

Outputs (1)

NameTypeDescription
CONDITIONINGCONDITIONING