ComfyUI Node Runs on cloud

BiRefNet

The background remover that feeds image-to-multiview

By huanngzh·Created 2 years ago·Updated about a year ago· 472
BiRefNet
    • FUNCTION
    ckpt_namebriaai/RMBG-2.0

    First thing to clear up: this node doesn't cut out your image. It loads a background-removal model and hands you a function - a little callable that the Image Preprocessor node then uses to strip the background off your reference photo. On its own it produces nothing you can look at. It's step one of a two-node setup, and it only exists because MV-Adapter's image-to-multiview path needs a clean, background-free subject before it can spin that subject around into six consistent views.

    That's the whole reason it's in a 3D-asset pack. If you feed MV-Adapter a photo of a product sitting on a desk, the desk confuses the geometry. Remove the background first and the model has a clean subject to reason about.

    What it actually loads

    The one input is ckpt_name, a string, and the default is briaai/RMBG-2.0. Worth knowing what that is: RMBG-2.0 is BRIA's background remover, and under the hood it's built on the same BiRefNet architecture the node is named after - a bilateral-reference segmentation network that got adopted across this whole ecosystem because it holds up on hair, fur, and fabric mesh where the older u2net-style removers always smeared. So the node name isn't lying about the family, even if the default weights are BRIA's fine-tune rather than Peng Zheng's original.

    You can point ckpt_name at other Hugging Face segmentation repos, but honestly the default is fine for this job. You're removing the background from one clean reference image, not doing production cutouts of flyaway hair.

    The single output is FUNCTION - that callable. It wires straight into the remove_bg_fn slot on Image Preprocessor. Nowhere else. This is the entirety of the node's public surface: one string in, one function out.

    Installing the pack

    ComfyUI Manager, search ComfyUI-MVAdapter, install, restart. Or the manual way:

    cd ComfyUI/custom_nodes
    git clone https://github.com/huanngzh/ComfyUI-MVAdapter
    pip install -r requirements.txt
    

    then restart. The pack leans on diffusers and pulls model weights from Hugging Face on first run, so the first time you queue an image-to-multiview graph it'll pause to download the background-removal model plus the SDXL base and the adapter. Have a connection and some patience.

    Where people get burned

    The BRIA license. briaai/RMBG-2.0 is a gated Hugging Face repo - you may need to be logged in and to have accepted BRIA's terms before the download works, and BRIA's commercial terms are stricter than the MIT/Apache licenses most background removers ship under. For hobby use it's a non-issue. If you're building something you'll sell, read BRIA's license before you wire this in, or swap ckpt_name for an MIT-licensed BiRefNet repo like ZhengPeng7/BiRefNet instead. The original BiRefNet weights are MIT throughout - the author literally had to say so on Reddit because people kept assuming otherwise - so they're the safer commercial default.

    Second: this node is useless by itself. If you dropped it on the canvas expecting a cutout, you want a dedicated background-removal node (ComfyUI even ships BiRefNet in core now). This one only makes sense paired with Image Preprocessor inside an MV-Adapter image-to-multiview graph.

    Third, a general segmentation limit, not a bug: if your subject has genuinely semi-transparent bits - glass, a veil, smoke - a hard-mask remover clips them wrong no matter which checkpoint you load. That rarely matters here, because you're prepping a solid object for 3D, but it's the reason a cutout can look clean on grey and fall apart on color.

    CategoryMV-Adapter

    Inputs (1)

    NameTypeDefaultDescription
    ckpt_nameSTRINGbriaai/RMBG-2.0

    Outputs (1)

    NameTypeDescription
    FUNCTIONFUNCTION