zhenzhen-pixelcut-video-background-removal-fal
Pixelcut background removal
- video
- video
- video_url
- response
Video background removal is the hard end of a commodity job - per-frame segmentation across motion, hair, and transparency, which is exactly the kind of thing you'd rather not babysit on your own GPU. Comfly_pixelcut_video_background_removal_fal ("zhenzhen-pixelcut-video-background-removal-fal") offloads it to Pixelcut's cloud service: you feed it a video, it comes back with the subject cut out, and you even pick the replacement background - transparent, black, white, green, blue, magenta, or a custom RGB.
It's a FAL-class node in the T8mars/Comfyui-zhenzhen pack, the "Comfly" API-wrapper family that calls the author's paid reseller service. Key goes into api_key directly; FAL billing is pre-deduct and settles after. Submit → poll → download, with the result coming back as a VIDEO tensor.
The inputs that matter
video_url- required, but ignored when you connect aVIDEOinput. So the normal flow is: generate or load a video upstream, wire it in.video- theVIDEOinput that takes precedence.background- what to replace the background with.transparentis the default and the usual answer (composite the cutout in ComfyUI yourself); pick a solid color if you want a ready-made keyable or clean fill.custom_r/custom_g/custom_b- the RGB values whenbackgroundiscustom.output_format- the useful part.auto(default) or a real codec menu: webm_vp9, mp4_h264, mp4_h265, mov_proresks, mov_h265, mkv_h264, mkv_h265, mkv_vp9, or gif. If you're compositing later, pick something with an alpha-friendly container; if it's going straight to social, h264 is fine.video_way-upload(default) orvideo_url, mirroring how you hand over the file.poll_interval/max_poll_attempts- default 6s × 600 = a one-hour timeout ceiling.skip_error- fail soft for batch runs.
Outputs
video- the result as aVIDEOtensor, ready for a save or a composite.video_url- the hosted result as a string.response- the raw payload.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-zhenzhen
# restart ComfyUI
Or ComfyUI Manager → "Comfyui-zhenzhen", then a key from the author's site into api_key.
The honest part
This is the node that saves you from the worst part of video work: per-frame masking with wobbly hair edges. Cloud processing means your source video - possibly long - leaves your machine and crosses a reseller's server, so this isn't the tool for anything under embargo. And video jobs are the expensive end of any API, so the per-call cost is real; check what a minute of footage runs before you batch an entire edit. For a short clip that needs a clean cutout today, it's hard to beat. For a whole project's worth of footage, your local BiRefNet-class tools are still the volume answer.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| video_url | STRING | Public video URL. Ignored when video input is connected. | |
| videoopt | VIDEO | — | |
| api_keyopt | STRING | — | |
| backgroundopt | COMBO | transparent | 7 options: transparent, black, white, green, blue, magenta, +1 |
| output_formatopt | COMBO | auto | 10 options: auto, webm_vp9, mp4_h264, mp4_h265, mov_proresks, mov_h265, +4 |
| custom_ropt | INT | 00–255 | — |
| custom_gopt | INT | 00–255 | — |
| custom_bopt | INT | 00–255 | — |
| video_wayopt | COMBO | upload | 2 options: upload, video_url |
| poll_intervalopt | INT | 61–60 | — |
| max_poll_attemptsopt | INT | 60010–3600 | Default 600*6s = 3600s timeout. |
| skip_erroropt | BOOLEAN | false | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| video_url | STRING | — |
| response | STRING | — |