BiRefNet General
Hair-level background removal, no VRAM spent
- image
- image
BiRefNet is the current default answer to "how do I cut this subject out cleanly," and it got there because it survives the things u2net and rembg always mangled: hair, fur, glass, semi-transparent fabric. The general checkpoint is the everyday variant - the one rembg absorbed and ComfyUI now even ships in core. So what's the cloud version for? The same reason every other node in this pack exists: you want BiRefNet's output without a local install, a model download, or VRAM.
The catch that matters: this is a one-way cutout node. You feed it an IMAGE and you get the removed-background result back as an IMAGE. There's no mask output socket, no "return the alpha channel" toggle - the API runs the removeBackground task and hands you the finished subject. If you specifically need the raw mask to do inpainting or compositing yourself, the pack's not exposing that here; use this for "I need a clean cutout on a transparent background, now."
Inputs and the one setting to change
image is required, and it's the only real input. The rest are the standard pack tail (ttl, outputFormat, outputQuality) - which is where the one thing you should actually touch lives: outputFormat defaults to JPG, and JPG can't store transparency. If you're cutting out a subject to composite over something else, set it to PNG or you'll get a subject on a flat white (or black) box and wonder why the "transparency" is missing. This is the single most common "broken" report on this node, and it's just a dropdown.
For quality, the same rule from local BiRefNet applies: resolution matters more than the checkpoint. The general weights are a 1024×1024 model. Feed a 4K photo and the server downscales it, throwing away exactly the hair detail you were cutting out for. If your source is huge, downscale it to ~1024–1500px before sending, or accept the edge hit.
How it works
The node fires runware:112@5 as a removeBackground task through the Runware SDK, the server runs BiRefNet, and the returned image URL becomes a native IMAGE tensor in your graph. Wire the output to Preview, Save, or straight into another Runware node as a seedImage. Cost prints on the title bar - for a segmentation pass, it should be one of the cheaper runs you do.
Install and gotchas
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Restart, drop in your Runware API key (Settings → "Runware API key", or RUNWARE_API_KEY, or runware auth login). Paid per call, minimum top-up.
The honest advice: if you have any GPU at all, the local BiRefNet in core ComfyUI is free and fast and you should probably just use that - a 4090 does 1024px in under 100ms. This node earns its place when you're GPU-less, on a laptop, or batch-processing through an existing cloud workflow. And remember it's the general cutout model: for the portrait-tuned or matting variants you'd want a different weight, which this specific node doesn't offer - it's BiRefNet General, full stop.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| ttlopt | BOOLEAN | false | Enable to set ttl. Off uses the model's default. |
| ttl_valueopt | INT | 60 | Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`. |
| outputFormatopt | COMBO | JPG | File format for the generated image. |
| outputQualityopt | INT | 9520–99 | Compression quality of the output. Higher values preserve quality but increase file size. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |