Nodes/comfyui-flux2fun-controlnet/Load Flux2 Fun ControlNet
ComfyUI Node

Load Flux2 Fun ControlNet

How to use it in ComfyUI

By bryanmcguire·Created 7 months ago·Updated 7 months ago· 34
Load Flux2 Fun ControlNet
    • controlnet
    controlnet_name

    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 .safetensors files you've dropped into ComfyUI/models/controlnet/. Pick the FLUX.2-dev-Fun-Controlnet-Union file here.

    And one output:

    • controlnet (type FLUX2_FUN_CONTROLNET) - wire this straight into the controlnet input on the Apply node. This is a custom type specific to this pack, so it won't plug into a standard ComfyUI ControlNetApply node, 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:
      cd ComfyUI/custom_nodes
      git clone https://github.com/bryanmcguire/comfyui-flux2fun-controlnet.git
      Then restart ComfyUI.

    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.

    Categoryloaders

    Inputs (1)

    NameTypeDefaultDescription
    controlnet_nameCOMBO0 options:

    Outputs (1)

    NameTypeDescription
    controlnetFLUX2_FUN_CONTROLNET