Load Flux2 Fun ControlNet
How to use it in ComfyUI
- controlnet
What it does
This is the file-loading half of a two-node pack, and by itself it does almost nothing exciting - it just reads a ControlNet checkpoint off disk and hands it to Apply Flux2 Fun ControlNet downstream. But the checkpoint it's built around is worth knowing about: it's Alibaba PAI's FLUX.2-dev-Fun-Controlnet-Union, a union ControlNet for Flux 2. "Union" means one file handles pose, canny edges, depth maps, soft-edge (HED), line detection (MLSD), and tile conditioning all at once - it looks at your control image and figures out which type it's dealing with. No more juggling six separate checkpoints depending on what kind of guide image you have.
That union packaging is the norm for every ControlNet trained since 2024, and Flux 2's version showed up fast - the repo went live six days after Flux 2 Dev itself launched. Alibaba PAI has been doing this same trick (called VideoX-Fun) across CogVideoX, Wan, Z-Image, and now Flux 2, porting the same recipe to each new base as it drops. This node pack is the ComfyUI-side plumbing that lets you actually load and run that checkpoint, since ComfyUI core doesn't ship support for it natively.
Inputs and outputs
There's exactly one input to worry about:
- controlnet_name - a dropdown listing whatever
.safetensorsfiles you've dropped intoComfyUI/models/controlnet/. Pick the FLUX.2-dev-Fun-Controlnet-Union file here.
And one output:
- controlnet (type
FLUX2_FUN_CONTROLNET) - wire this straight into thecontrolnetinput on the Apply node. This is a custom type specific to this pack, so it won't plug into a standard ComfyUIControlNetApplynode, and a standard ControlNet loader won't produce something this pack can use either. The two nodes are a matched pair.
Why split loading from applying at all? It's the same pattern ComfyUI uses everywhere else (checkpoint loaders, VAE loaders, LoRA loaders) - keeping the load separate means the ~8GB file only gets read once even if you reuse it across multiple Apply nodes or reroute it into a more complex graph.
How to install it
Two ways, same as most custom node packs:
- ComfyUI Manager - search for "comfyui-flux2fun-controlnet" and install.
- Manual git clone:
Then restart ComfyUI.cd ComfyUI/custom_nodes git clone https://github.com/bryanmcguire/comfyui-flux2fun-controlnet.git
That gets you the nodes, but not the model. You still need to download the checkpoint separately and drop it in the right folder:
- FLUX.2-dev-Fun-Controlnet-Union.safetensors (~8.3GB) from Hugging Face, placed in
ComfyUI/models/controlnet/.
You'll also need the rest of the Flux 2 stack already set up: ComfyUI with Flux support, the Flux.2-dev base checkpoint, and the Flux VAE (flux2-vae.safetensors or ae.safetensors). If any of those are missing this node will load fine - it's just reading a file - but the Apply node further down the chain will have nothing to work with.
One licensing note worth flagging since it trips people up: the node's own code is Apache 2.0, but the checkpoint itself inherits Flux Dev's non-commercial license. Fine for personal and research use; check the license before you build a paid product on top of it.
Common issues
Dropdown is empty, or your file doesn't show up. The node only scans ComfyUI/models/controlnet/ at startup, so a file you dropped in after ComfyUI was already running won't appear until you restart. Double-check the file actually landed in models/controlnet and not some other models subfolder - it's an easy one to fumble since a lot of newer union ControlNets (like the Z-Image one) expect a models/model_patches folder instead, and habit carries over.
"Module not found" right after installing. The README calls this out directly: restart ComfyUI after cloning or installing via Manager. Custom nodes get picked up on startup, not live.
A totally unrelated Flux workflow starts throwing a timestep_zero_index error. This is a thinner data point - one report on r/comfyui, not a pattern with dozens of confirmations - but it's specific enough to be worth knowing: a user traced a crash on ComfyUI 0.18.1 back to simply having flux2fun-controlnet present in custom_nodes, without any of its nodes even being in the workflow. Other packs (IPAdapter-Flux, Easy-Use) had caused the same symptom before getting patched. If you hit a mystery timestep crash on a Flux graph that has nothing to do with ControlNet, it's cheap to test with this pack's folder temporarily renamed out of custom_nodes to rule it out.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| controlnet_name | COMBO | 0 options: |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| controlnet | FLUX2_FUN_CONTROLNET | — |