Nodes/Comfyui-zhenzhen/Concurrent Submit | zhenzhen-bria-fibo-edit-fal
ComfyUI Node

Concurrent Submit | zhenzhen-bria-fibo-edit-fal

Mask-aware instruction editing at 30 jobs at once

By T8mars·Created about a year ago·Updated 2 days ago· 740
Concurrent Submit | zhenzhen-bria-fibo-edit-fal
  • image
  • mask
  • task
instructionchange lighting to starlight nighttime
image_url
mask_url
api_key
seed5555
steps_num30
negative_prompt
guidance_scale5.0
sync_modefalse
image_waybase64
poll_interval6
max_poll_attempts600
skip_errorfalse

The blocking zhenzhen-bria-fibo-edit-fal is the node you reach for when you want BRIA's instruction editing with an optional mask to keep the untouched parts bit-for-bit intact. It's also, one edit at a time. If you're restyling a product line - twenty shots, same "change lighting to starlight nighttime" instruction, same mask shape - the serial version turns an afternoon into a day. This submit node is the parallel version: same bria/fibo-edit/edit calls, same mask support, but each job goes into the shared image pool and returns a task handle instead of a finished image.

The killer use case is exactly the masked one. Because Fibo confines its edit to the mask, you can batch over a whole folder where each image carries its own mask, fire them all into the 30-worker pool, and get results back in input order - which is the batch-retouch workflow that would otherwise take forever serially.

How it works

Every concurrent node in this pack is auto-generated from its base node's inputs at import time. This one wraps Fibo's process() in a bounded ThreadPoolExecutor (30 image workers by default, set by COMFLY_IMAGE_CONCURRENCY), and returns a COMFLY_IMAGE_FUTURE - a promise, not a picture. The ComflyConcurrent_Image_Await collector ("Concurrent Collect Images (30)") waits for the whole batch and returns real IMAGE tensors in slot order.

Inputs mirror the base node: instruction (required), image/image_url, mask/mask_url, api_key, guidance_scale, steps_num, negative_prompt, seed (default 5555 here, FAL max 65535), sync_mode, image_way, poll settings, and skip_error. Remember the mask input is an IMAGE, not a MASK tensor - convert before wiring, or use mask_url.

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 - BRIA's editor runs hosted.

Common issues

Pack-level: Zhenzhen account + credit required; 443 errors need a VPN with TUN mode; 500s on first run are usually upstream - re-run. Batch-specific: if a whole batch comes back over-edited, drop guidance_scale before you retry all of it - it's cheaper to tune one blocking call first than to burn 30 concurrent ones. And skip_error is your batch-saver: with it off (default), one bad mask kills the queue; with it on, the failure logs and the rest continue. Watch the meter too - 30 concurrent Fibo edits are 30 paid calls.

Categoryzhenzhen/FAL/Concurrent Submit

Inputs (15)

NameTypeDefaultDescription
instructionSTRINGchange lighting to starlight nighttime
imageoptIMAGE
maskoptIMAGE
image_urloptSTRING
mask_urloptSTRING
api_keyoptSTRING
seedoptINT55550–655350 = random seed. FAL seed max is 65535.
steps_numoptINT3020–100
negative_promptoptSTRING
guidance_scaleoptFLOAT5.00–30
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