Nodes/Protoface/Protoface Ideogram Remove Background · Remove Background
ComfyUI Node

Protoface Ideogram Remove Background · Remove Background

One input, two useful outputs

By protoface-ai·Created 22 days ago·Updated 13 days ago· 0
Protoface Ideogram Remove Background · Remove Background
    • image
    • mask
    • files
    • run id
    ◄image▾►
    ◄generation_id0►
    ◄request_scope►

    The shortest node in the pack

    Two real inputs. That's it. Wire an image in, get a cutout out.

    Matting is the most commoditised operation in this ecosystem - rembg, BiRefNet, InSPyReNet, SAM, ComfyUI shipped BiRefNet in core in May 2026, and the quality frontier moved years ago from "can it find the subject" to "can it survive hair, fur and semi-transparency". Nobody has won that last fight, which is the reason a paid hosted node is even worth discussing: the local options are free and excellent, and they still choke on flyaway hair.

    So the honest framing: use this when the local ones are failing on the specific image in front of you, when you're on a machine without the nodes installed, or when you want it done in one node with no model downloads. Not as your default - your default should be BiRefNet, because it's free and local and good.

    This is the Remove Background task from Ideogram in Protoface, the beta pack of hosted-model nodes for ComfyUI. Paid per run, executed remotely.

    How it works

    The image is uploaded to Protoface's asset store (content-hashed, cached for reruns), the provider segments the subject, and the result comes back as a native IMAGE with the foreground isolated, plus a MASK. The pack's shared adapter handles validation, journaling, submission, polling and download - the same code path every node in this pack uses, which is why the control list here is so short.

    generation_id still applies even on a node this simple. Fixed means "reuse or resume the job I already paid for"; increment to actually re-run it. If you change the input image, you've made a new request anyway.

    The inputs that matter

    image - media input, and it takes the native IMAGE type, so you can wire anything in your graph to it: a Load Image, an upscaler's output, a Nano Banana result. It also has a References mode for a Protoface asset id or a reused result asset, which is the path for chaining remote jobs without re-uploading.

    One catch: the field expects a single asset. If you're feeding it a batch - say, an image list from a generation node - split it first. The pack errors out rather than silently picking one.

    generation_id - the paid-request switch. And request_scope, which the frontend fills in automatically. You only touch request_scope in headless workflows, where you have to supply your own stable unique value; leave it blank in a script and the node refuses to run.

    Outputs

    image is the cutout - a native IMAGE list with the foreground isolated against transparency.

    mask is the same segmentation as a native MASK, with inverted-alpha semantics per the pack's convention. This is the output people ignore and shouldn't: a mask is what you feed into a compositing node, an inpainting pass, or a background-replacement workflow. Same data, much more useful shape.

    files is the original download as PROTOFACE_FILE - and on a matting node specifically, check here. The pack's docs call out that files holds originals "including transparent PNGs", and a transparent PNG that survives as a file is the thing you actually want if you're compositing outside ComfyUI. A GLB-style format caveat applies elsewhere; here it's simpler - the file is the file.

    run id is a string for Protoface Resume Run, in case the job outlived your session.

    Install

    Manager → search Protoface → install protoface-nodes → restart → reload the browser. Manual:

    git clone --branch v0.1.0 --depth 1 https://github.com/protoface-ai/protoface-comfyui.git custom_nodes/protoface
    python -m pip install -r custom_nodes/protoface/requirements.txt
    

    ComfyUI 0.41.0+ and Python 3.10+, with ComfyUI's own interpreter. Pillow and av come with the pack and are what carry images and native media in and out. Then click Protoface in the lower-right and enter your key.

    Where people get burned

    Paying for what a free node does. BiRefNet in core is very good. Try it first; come here when hair, veils, or thin structures come back chewed.

    Feeding a batch. One asset per field. Split the batch, or you'll get an "expects one asset" style validation error.

    Assuming a transparent result survives every path. Keep an eye on files if you need the original alpha, rather than inspecting whatever a downstream preview flattened.

    Re-running by requeueing without bumping generation_id. Same recorded job back. That's deduplication working, not a broken node.

    CategoryProtoface/Image/ideogram-ai

    Inputs (3)

    NameTypeDefaultDescription
    imageCOMBOA public URL, a data URI, or an asset id.
    generation_idINT00–9007199254740991Keep fixed to reuse/resume this paid job. Increment for a fresh paid generation; independent of the model seed.
    request_scopeSTRINGAutomatically assigned per node. Headless clients must supply a stable unique workflow/node ID. This is not a secret.

    Outputs (4)

    NameTypeDescription
    imageIMAGE—
    maskMASK—
    filesPROTOFACE_FILE—
    run idSTRING—