Load Flux ControlNet
Pick your base model and your condition type
- ControlNet
Every ControlNet workflow in this pack starts here. Load Flux ControlNet doesn't do anything to an image itself - it just reads a checkpoint off disk and hands you a FluxControlNet object to feed into Apply Flux ControlNet or Apply Advanced Flux ControlNet. But there are two choices on this node worth getting right before you go further, because getting either wrong wastes a generation rather than throwing an obvious error.
model_name picks which Flux base variant the ControlNet is set up for: flux-dev, flux-dev-fp8, or flux-schnell. Match this to whatever Flux checkpoint you're actually running downstream in the same workflow - Flux's three tiers (the full non-commercial Dev model, its fp8-quantized cousin, and the Apache-licensed, step-distilled Schnell) don't behave identically, and XLabs built this dropdown specifically so the ControlNet path lines up with the base you loaded rather than assuming one universal setting. If you're on the fp8 build of Dev to save VRAM, pick flux-dev-fp8 here, not plain flux-dev.
controlnet_path is the actual checkpoint file - which condition type you loaded (canny, depth, or HED, depending what you downloaded), pulled from your ControlNet model folder. XLabs shipped these as separate per-type checkpoints rather than one combined "union" model that handles every condition through a single file, which was fairly standard for the earliest Flux ControlNet releases - Flux's more capable union-style ControlNets came from other teams later. Practically this means you load a different checkpoint for canny work than for depth work, rather than one file with a mode switch.
The output is a single ControlNet (type FluxControlNet) that plugs directly into the controlnet input on either Apply node downstream - nowhere else needs it.
Installing it: ComfyUI Manager, search "x-flux-comfyui" and install, or the manual route - cd ComfyUI/custom_nodes && git clone https://github.com/XLabs-AI/x-flux-comfyui then restart ComfyUI, running python setup.py once if you're not going through Manager. The pack auto-creates ComfyUI/models/xlabs/controlnets on first launch, and that's where controlnet_path looks - download the ControlNet checkpoints you want (Canny, Depth, HED variants are what XLabs published on HuggingFace under their Flux ControlNet collection) and drop the .safetensors files in there. If controlnet_path shows nothing to select, that folder is empty - the node reads its list straight off disk, it won't fetch anything for you.
One dependency to know about before you start: if you're generating your own condition maps from a plain photo (turning a portrait into a canny edge map or a depth map, say) rather than supplying an already-processed image, you need Fannovel16's comfyui_controlnet_aux pack installed alongside this one - XLabs' own documentation calls it out as a separate requirement rather than something bundled in. Without it you can still load and apply ControlNets here, you just need to be handing this node's downstream Apply node a pre-processed image from somewhere else.
Troubleshooting: an import failure citing No module named 'comfy.ldm.flux' means your ComfyUI core is out of date relative to what this pack expects - update ComfyUI itself, not just the node pack, and that tends to clear it.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | 3 options: flux-dev, flux-dev-fp8, flux-schnell | |
| controlnet_path | COMBO | 0 options: |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| ControlNet | FluxControlNet | — |