Nodes/ComfyUI-Alimama-ControlNet-compatible/Alimama SD3 Inpaint ControlNet Loader
ComfyUI Node

Alimama SD3 Inpaint ControlNet Loader

The Alimama SD3 loader that was obsolete within a day

By zhiselfly·Created 2 years ago·Updated 2 years ago· 18
Alimama SD3 Inpaint ControlNet Loader
    • CONTROL_NET
    control_net_name

    The name sounds like something from an official SDK, but this is a ~60-line shim that one community dev wrote in September 2024 so that Alibaba's Alimama SD3 inpainting ControlNet would load inside ComfyUI. And the awkward part, up front: ComfyUI's core absorbed this job the same day the pack shipped. The pack's own README - two lines long - opens by pointing you at the ComfyUI commit that made it redundant.

    So why are you here? Probably because some SD3 workflow you downloaded references "Alimama SD3 Inpaint ControlNet Loader" by name. Fine. Here's what it does and whether you actually need it.

    What it is

    Alimama (Alibaba's marketing/AI unit) dropped alimama-creative/SD3-Controlnet-Inpainting on HuggingFace in mid-2024 - a ControlNet that makes Stable Diffusion 3 mask-aware for inpainting. It shipped as a diffusers demo, and the demo's file layout wasn't what ComfyUI's loader expected at the time. This node bridges that gap, which is the entire reason it exists.

    How it works

    It reads a file from ComfyUI/models/controlnet, checks the tensor keys to make sure you actually handed it the Alimama inpaint model (wrong file → "Not a Alimama SD3 Inpaint ControlNet"), converts the diffusers-format MMDiT state dict, and builds a custom ControlNet whose patch embedding accepts one extra channel - the mask that the Apply node appends to the latent. It also sets SD3's latent shift_factor to 0, which the author dryly labels "SD3 controlnet weirdness." There's a version-compat dance in there too: it tolerates ComfyUI's internal controlnet_config() returning 5, 6, or more args, because that signature was changing at the time.

    The one input and the one output

    You get a single dropdown, control_net_name, listing every file in your models/controlnet folder. Pick the Alimama SD3 inpaint file. The node returns one CONTROL_NET object, which wires straight into the Apply node - this pack's SD3AlimamaInpaintControlNetApplyAdvanced, or core ComfyUI's ControlNetInpaintingAliMamaApply, which expects the same thing.

    Install and model

    No requirements.txt, no Python deps beyond what ComfyUI already ships - just ComfyUI Manager (search "ComfyUI-Alimama-ControlNet-compatible") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/zhiselfly/ComfyUI-Alimama-ControlNet-compatible
    

    Restart ComfyUI. Then grab the actual model - this is the step people skip:

    # from alimama-creative/SD3-Controlnet-Inpainting on HuggingFace
    # download diffusion_pytorch_model.safetensors (~1.9 GB)
    mv diffusion_pytorch_model.safetensors ComfyUI/models/controlnet/alimama_sd3_inpaint.safetensors
    

    The honest take

    On a current ComfyUI, skip this pack. Core's ControlNetLoader loads the same file, and ControlNetInpaintingAliMamaApply (in core since September 14, 2024) applies it - you get the whole job with zero custom nodes. This loader still earns its keep in two narrow situations: installs stuck on an old ComfyUI you can't update, and workflows hard-coded to these node names. Its key-checking is also a genuinely nice guard - it refuses to silently load the wrong ControlNet, which core's loader doesn't.

    If you hit "Your version of ComfyUI is either too old or too new," that's the compatibility check refusing a ComfyUI it doesn't recognize. Update ComfyUI and the problem usually disappears - as does your reason for this pack.

    CategoryAlimamaInpaintControlNetCompatible/loader

    Inputs (1)

    NameTypeDefaultDescription
    control_net_nameCOMBO0 options:

    Outputs (1)

    NameTypeDescription
    CONTROL_NETCONTROL_NET