Nodes/Comfyui-zhenzhen/Concurrent Submit | zhenzhen-bria-video-background-removal-v3-fal
ComfyUI Node

Concurrent Submit | zhenzhen-bria-video-background-removal-v3-fal

Concurrent BRIA video background removal

By T8mars·Created about a year ago·Updated 2 days ago· 740
Concurrent Submit | zhenzhen-bria-video-background-removal-v3-fal
  • video
  • task
video_url
api_key
background_colorBlack
preserve_audiotrue
output_container_and_codecwebm_vp9
video_wayupload
poll_interval6
max_poll_attempts600
skip_errorfalse

Video background removal is exactly the kind of job you don't want to run one clip at a time. Ten short clips, each a different talking head on a different background, each needing a temporally-stable cutout - done serially that's ten separate waits, and on hosted matting each one takes as long as the model takes. This submit node is the concurrent wrapper around zhenzhen-bria-video-background-removal-v3-fal: same bria/video/background-removal/v3 endpoint, same transparent-or-solid-color output, but the clips go into the shared video pool and you get task handles back while they process in parallel.

Important framing before you get excited: video concurrency is 10, not 30. The pack runs 30 images in parallel but deliberately only 10 videos, because video jobs are long and heavy. Ten parallel cutouts is still a big speedup over ten serial ones - it just isn't the full image-pool party.

How it works

Auto-generated concurrent machinery, same as every submit node here: the class inherits the base node's inputs at import time, wraps its process() in a bounded ThreadPoolExecutor (video workers default to 10, set by COMFLY_VIDEO_CONCURRENCY), and returns a COMFLY_VIDEO_FUTURE. Collect with ComflyConcurrent_Video_Await ("Concurrent Collect Videos (10)"), which waits for the batch and returns VIDEO tensors in slot order.

Inputs mirror the base node: video_url (required, ignored when video is connected), video, api_key, background_color (default Black - pick Transparent for actual alpha), preserve_audio, output_container_and_codec (default webm_vp9, which is what carries alpha), video_way, poll settings, and skip_error.

Installing it

One clone, whole pack:

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-zhenzhen

Restart ComfyUI, or install "Comfyui-zhenzhen" via ComfyUI Manager. No model downloads - matting runs on BRIA's servers.

Common issues

Pack-level: account + credit required, 443 errors need VPN with TUN mode, 500s are usually upstream - re-run. For this node, remember alpha needs the right container: mp4_h264/h265 can't carry transparency, so if your cutouts come back with a black background, you either picked Black as the color or a container that can't hold alpha. And since ten videos is ten paid renders, do a single-clip sanity check on background_color and codec before you fire the whole batch - a batch-wide mistake is an expensive one to learn from.

Categoryzhenzhen/FAL/Concurrent Submit

Inputs (10)

NameTypeDefaultDescription
video_urlSTRINGPublic video URL. Ignored when video input is connected.
videooptVIDEO
api_keyoptSTRING
background_coloroptCOMBOBlack11 options: Transparent, Black, White, Gray, Red, Green, +5
preserve_audiooptBOOLEANtrue
output_container_and_codecoptCOMBOwebm_vp910 options: mp4_h265, mp4_h264, webm_vp9, mov_h265, mov_proresks, mkv_h265, +4
video_wayoptCOMBOupload2 options: upload, video_url
poll_intervaloptINT61–60
max_poll_attemptsoptINT60010–3600Default 600*6s = 3600s timeout.
skip_erroroptBOOLEANfalse

Outputs (1)

NameTypeDescription
taskCOMFLY_VIDEO_FUTURE