Nodes/Eric Qwen-Edit & Qwen-Image Nodes/Eric Qwen-Image ControlNet Loader
ComfyUI Node

Eric Qwen-Image ControlNet Loader

The one loader behind all of Qwen-Image's structure control

By EricRollei·Created 6 months ago·Updated 4 months ago· 20
Eric Qwen-Image ControlNet Loader
    • controlnet
    model_path
    precisionbf16
    devicecuda
    keep_in_vramtrue

    Eric Qwen-Image ControlNet Loader is the gatekeeper for every ControlNet feature in the generation half of this pack. It loads one of InstantX's Qwen-Image ControlNet models and hands it out as a QWEN_IMAGE_CONTROLNET wire that Eric Qwen-Image UltraGen CN and Eric Qwen-Image Harmonize both consume. No ControlNet loader, no structure-guided generation - so this is where that whole feature area starts.

    The models it supports are the two InstantX Qwen-Image ControlNets from HuggingFace:

    • InstantX/Qwen-Image-ControlNet-Union (~2.3 GB) - the one you want for generation. A single union model covering Canny, SoftEdge, Depth, and Pose modes. The KB's controlnet doc confirms the landscape: the union recipe arrived ~2 weeks after Qwen-Image itself, and InstantX is the go-to supplier for this architecture.
    • InstantX/Qwen-Image-ControlNet-Inpainting - mask-based inpainting/outpainting. The README flags this whole inpainting branch as experimental - the ControlNet inpaint nodes exist but the author says they produce halos and ghosting at mask boundaries, and the alternative Qwen-Edit inpaint approach currently works better. Download it if you want to play; don't build production work on it yet.

    The input that matters

    • model_path - HuggingFace model ID or a local path. The default is the Union model ID (InstantX/Qwen-Image-ControlNet-Union), and on first load the node downloads it from HuggingFace into your HF cache. You can also download it manually and point at the folder. The tooltip accepts either Union or Inpainting paths.
    • precision - bf16 (default), float16, float32. bf16 is right.
    • device - cuda default; the node keeps the model on CPU and moves it to GPU on demand when UltraGen CN calls it, so a CPU-resident ControlNet doesn't eat your VRAM between runs.
    • keep_in_vram (True) - cache between runs.

    Output is controlnet (QWEN_IMAGE_CONTROLNET), which is only understood by this pack's own generation nodes - you can't feed it into a stock ComfyUI ControlNet-apply node, and vice versa. The pack uses the diffusers loading path, not ComfyUI's ControlNet abstraction, so keep all the CN wiring inside this pack's nodes.

    Practical notes

    • The CN type (canny vs pose vs depth vs soft_edge) is not chosen here - you pick it on the UltraGen CN node's cn_type input. The loader just loads the model; the type selector is downstream. A common first-run confusion.
    • You only need one loader for all four modes, since the Union model handles canny/soft_edge/depth/pose. Load once, use everywhere.
    • If you're using Harmonize (composite harmonization), it wants the Union model too, and can generate its control maps automatically (auto-Canny) - so the loader + Harmonize pair replaces manual map extraction for that workflow.

    Install is the shared pack route: ComfyUI Manager search "Eric Qwen Edit", or git clone https://github.com/EricRollei/Eric_Qwen_Edit_Experiments into custom_nodes/ and restart. First run pulls ~2.3 GB from HuggingFace, so have disk and patience ready. And don't forget the pack's diffusers/transformers version pins - an upgraded diffusers elsewhere can break these from_pretrained loads.

    CategoryEric Qwen-Image

    Inputs (4)

    NameTypeDefaultDescription
    model_pathSTRINGPath to ControlNet model directory. Supports InstantX/Qwen-Image-ControlNet-Union (canny, soft edge, depth, pose) and InstantX/Qwen-Image-ControlNet-Inpainting (mask-based inpainting and outpainting). Both use QwenImageControlNetModel.
    precisionoptCOMBObf16Model precision (bf16 recommended)
    deviceoptCOMBOcudaDevice to load model on
    keep_in_vramoptBOOLEANtrueCache model between runs

    Outputs (1)

    NameTypeDescription
    controlnetQWEN_IMAGE_CONTROLNET