Nodes/Comfyui-zhenzhen/Concurrent Submit | zhenzhen-bria-genfill-v2-fal
ComfyUI Node

Concurrent Submit | zhenzhen-bria-genfill-v2-fal

30 mask-guided inpaints, one pool

By T8mars·Created about a year ago·Updated 2 days ago· 740
Concurrent Submit | zhenzhen-bria-genfill-v2-fal
  • image
  • mask
  • task
instructionA beautiful colorful butterfly
image_url
mask_url
api_key
seed5555
steps_num30
sync_modefalse
image_waybase64
poll_interval6
max_poll_attempts600
skip_errorfalse

BRIA GenFill v2 is the masked-inpaint specialist: only the region inside your mask gets regenerated, everything else stays bit-for-bit intact - the property that whole-frame instruction editors can't give you. Its blocking sibling, zhenzhen-bria-genfill-v2-fal, does one fill at a time. This submit node is the parallel version: same bria/genfill/v2 endpoint, same image-plus-mask contract, but each job drops into the shared 30-worker image pool and hands you a task instead of a picture.

If you've ever fixed the same defect across a folder - an errant logo, a watermark, a recurring background blemish on product shots - you know the serial pain. This is the workflow that makes the fix a single submit loop: image + mask pairs go into the pool, and the collector hands back all the fixed images in the same order. It's the most obvious "concurrent" win in the pack, because the masks make each job independent in a way text generation isn't.

How it works

The concurrent system auto-generates a submit class for every image node in the pack. This one wraps GenFill's process() in a bounded ThreadPoolExecutor (30 workers by default, set via COMFLY_IMAGE_CONCURRENCY) and returns a COMFLY_IMAGE_FUTURE. You collect with ComflyConcurrent_Image_Await ("Concurrent Collect Images (30)"), which waits for the whole batch and returns IMAGE tensors in slot order.

Inputs are identical to the base node: instruction (required - describe what appears in the masked area), image/image_url, mask/mask_url, api_key, steps_num (20-50 here), seed (default 5555), sync_mode, image_way, poll settings, and skip_error. Same trap as the base node: the mask slot takes an IMAGE, so convert MASK tensors first.

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 - the fills run on BRIA's servers.

Common issues

Pack-level: account + credit required, 443 errors mean VPN with TUN mode, first-run 500s are usually upstream - re-run. Batch-specific: masks are authoritative, so if ten of your thirty fills come back wrong, the odds are your masks are the problem, not the model - inspect one result before re-firing the batch. Soft mask edges give soft fills; for hard-edged product swaps, erode masks deliberately. And skip_error on means one bad pair doesn't torch the other 29. The meter note applies as always: 30 concurrent fills are 30 paid calls.

Categoryzhenzhen/FAL/Concurrent Submit

Inputs (13)

NameTypeDefaultDescription
instructionSTRINGA beautiful colorful butterfly
imageoptIMAGE
maskoptIMAGE
image_urloptSTRING
mask_urloptSTRING
api_keyoptSTRING
seedoptINT55550–655350 = random seed. FAL seed max is 65535.
steps_numoptINT3020–50
sync_modeoptBOOLEANfalse
image_wayoptCOMBObase642 options: base64, image_url
poll_intervaloptINT61–60
max_poll_attemptsoptINT60010–3600Default 600*6s = 3600s timeout.
skip_erroroptBOOLEANfalse

Outputs (1)

NameTypeDescription
taskCOMFLY_IMAGE_FUTURE