ComfyUI Node

Pixelcut Remove Background

The paid cutout that makes your free ones look lazy

By pixelcutai·Created 2 months ago·Updated 2 months ago· 1
Pixelcut Remove Background
  • image
  • image
  • mask
api_key
cropfalse
shadowfalse
shadow_opacity0.50
invert_maskfalse

The name is honest about the result, but the mechanism is the opposite of what you probably assume. Pixelcut Remove Background doesn't run a local model - it's a thin ComfyUI wrapper around Pixelcut's proprietary cloud cutout API. You feed it an IMAGE, it uploads that image to Pixelcut's servers, and hands back a transparent cutout plus an alpha MASK. No model file, no VRAM hit, no GPU needed. There's also a bill: every call costs credits, and your image leaves your machine.

So why reach for it, when the whole background-removal space has gone free and local? Because "free and local" has a quality ceiling. BiRefNet (now baked into ComfyUI core) handles the easy 90% of cases for nothing - but the hard 10%, flyaway hair, fur, fabric mesh, is where open models still visibly fail. There's a recurring community thread asking what tech Pixelcut and Adobe use, because people try SAM, GroundingDINO and rembg and can't match that edge accuracy on hair. This node is the official tap into that model. If a client's product shot needs a cutout that doesn't look scissored in 2010, this is the one that doesn't need you to babysit it.

How it works

The node converts your tensor to PNG bytes and uploads them via multipart/form-data to POST /v1/remove-background (that's https://api.developer.pixelcut.ai by default), with your key in an X-API-KEY header. It requests the raw binary back - no intermediate URL hosting - and the returned PNG's alpha channel becomes the ComfyUI MASK, where 1 marks the subject.

Batches are supported, one API call per frame. That matters for crop: cropped frames can come back at different sizes, and the node refuses to stack them into one batch with a clear error. Process those one at a time.

The inputs that matter

Only image is required. Everything else is optional with sensible defaults:

  • image - any IMAGE tensor, from Load Image or your sampler's output.
  • crop (bool, default false) - crop the result tight to the subject, server-side.
  • shadow (bool, default false) - adds an AI drop shadow, nice for product shots, but it costs an extra +3 credits per image. Keep it off unless you want it.
  • shadow_opacity (float, 0–1, default 0.5) - only consulted when shadow is on.
  • invert_mask (bool, default false) - flips the mask so 1 marks the background instead of the subject, matching ComfyUI's Load Image alpha convention. Leave it off unless something downstream acts like your mask is backwards.
  • api_key - only if you're not using the env var (more below).

The outputs

Two, and both are useful: image (the RGB cutout on transparent) and mask (the subject alpha). Wire the image into compositing or a Preview Image; the mask feeds Set Latent Noise Mask, inpainting, or any mask-consuming node.

Installation

Via ComfyUI Manager, search for "Pixelcut" and install. Manual route:

cd ComfyUI/custom_nodes
git clone https://github.com/pixelcutai/comfyui-pixelcut
cd comfyui-pixelcut
pip install -r requirements.txt

Then restart ComfyUI - the nodes appear under the Pixelcut category. The dependency list is refreshingly tiny: just requests, pillow and numpy. No torch download, no model files, no VRAM - the heavy lifting lives on Pixelcut's side.

You do need an API key from pixelcut.ai/api. The recommended setup is an env var, set before ComfyUI launches:

export PIXELCUT_API_KEY="sk-..."

You can also type the key into the node's api_key widget, which overrides the env var. The catch, stated in the README: a key typed into the widget is saved into the workflow JSON and embedded in saved-image metadata. Don't share those files - the env var never touches your saved workflows.

Gotchas & troubleshooting

Where people get burned:

  • No key at all - the node raises a clear error telling you to set PIXELCUT_API_KEY or fill the widget.
  • HTTP 401 - invalid or missing key. 403 - insufficient credits. 429 - you're rate-limited. The error message appends which one you hit.
  • crop=True on a batch - the "frames of different sizes" ValueError, the node refusing to produce garbage. Split the batch.
  • Image limits - 25 MB max, 64×64 minimum, 6000×6000 maximum. A 4K texture is fine; a 100-megapixel stitched panorama is not.
  • Privacy and cost - your images go to a third-party server and every call deducts credits, with a 120-second timeout per call. Check your balance with the pack's Pixelcut Credits node before a big run - that's the one that keeps you from discovering a 403 halfway through batch 47.

It's not a replacement for free local BiRefNet - it's the paid step-up for the images where free isn't good enough. And when you need that, this is the one you'd reach for.

CategoryPixelcut

Inputs (6)

NameTypeDefaultDescription
imageIMAGE
api_keyoptSTRINGOverrides the PIXELCUT_API_KEY env var. Note: a key typed here is saved into the workflow.
cropoptBOOLEANfalseCrop the result tight to the subject.
shadowoptBOOLEANfalseAdd an AI drop shadow (+3 credits).
shadow_opacityoptFLOAT0.500–1
invert_maskoptBOOLEANfalseWhich region the mask marks. Default marks the subject.

Outputs (2)

NameTypeDescription
imageIMAGE
maskMASK