Concurrent Submit | zhenzhen-boogu-image-fal
30 parallel calls, results in order
- image
- task
Boogu is the pack's dependable hosted image model - text-to-image and editing in one node, no hype, no queues. Its one weakness is the same as every other blocking node in ComfyUI: one image at a time, one wait at a time. This submit node is the parallel version of zhenzhen-boogu-image-fal. Same inputs, same fal-ai/boogu-image endpoints, but each call goes into the shared image pool and you get a task back immediately instead of a finished image.
Where this shines is prompting experiments and batch variations: you want five different prompts at square_hd, or the same prompt at four aspect ratios, and you'd rather fire them all at once than serially. That's exactly what this node (plus the collector) is for. The pool runs 30 image jobs in parallel, which for a fast model like Boogu means a whole grid of variations lands in roughly the time of one blocking call.
How it works
The concurrent machinery is auto-generated per node: the submit class inherits the base node's entire input list at import time, wraps its process() in a bounded ThreadPoolExecutor (30 image workers by default, tunable via COMFLY_IMAGE_CONCURRENCY), and returns a COMFLY_IMAGE_FUTURE. You collect with ComflyConcurrent_Image_Await ("Concurrent Collect Images (30)"), which waits for the batch and hands back IMAGE tensors in their original slot order.
Inputs are identical to the base node: prompt, mode (text_to_image / edit), image/image_url, api_key, negative_prompt, image_size (including custom with custom_width/custom_height), num_inference_steps, guidance_scale, image_guidance_scale (edit mode), num_images, seed (FAL max 65535), enable_safety_checker, output_format, sync_mode, image_way, and the poll settings. skip_error is what you flip on if you want a partial failure to leave the rest of the batch alive.
Installing it
The whole pack, one clone:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-zhenzhen
Restart ComfyUI, or install "Comfyui-zhenzhen" via ComfyUI Manager. No models to download - generation runs on hosted Boogu through the Zhenzhen proxy.
Common issues
Standard pack gotchas: you need a Zhenzhen account with credit, 443 errors from some networks mean VPN with TUN mode, and first-run 500s are usually upstream - re-run. Concurrency-specific: remember num_images multiplies the meter, so 30 concurrent submits each generating 4 images is 120 paid calls - the pool is your parallelism, not a discount. And if the collector seems stalled, check whether a long video job is hogging shared resources; image and video have separate pools, so in practice this one only queues against other images.
Inputs (23)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| modeopt | COMBO | text_to_image | 2 options: text_to_image, edit |
| imageopt | IMAGE | — | |
| image_urlopt | STRING | — | |
| api_keyopt | STRING | — | |
| negative_promptopt | STRING | — | |
| image_sizeopt | COMBO | square_hd | 8 options: auto, square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, +2 |
| custom_widthopt | INT | 1024256–2048 | — |
| custom_heightopt | INT | 1024256–2048 | — |
| num_inference_stepsopt | INT | 3020–100 | — |
| guidance_scaleopt | FLOAT | 4.00–20 | — |
| image_guidance_scaleopt | FLOAT | 1.00–20 | Edit mode only. |
| cfg_range_startopt | FLOAT | 0.000–1 | — |
| cfg_range_endopt | FLOAT | 1.000–1 | — |
| num_imagesopt | INT | 11–4 | — |
| seedopt | INT | 00–65535 | 0 = random seed. FAL seed max is 65535. |
| enable_safety_checkeropt | BOOLEAN | true | — |
| output_formatopt | COMBO | jpeg | 2 options: jpeg, png |
| sync_modeopt | BOOLEAN | false | — |
| image_wayopt | COMBO | base64 | 2 options: base64, image_url |
| poll_intervalopt | INT | 61–60 | — |
| max_poll_attemptsopt | INT | 60010–3600 | Default 600*6s = 3600s timeout. |
| skip_erroropt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| task | COMFLY_IMAGE_FUTURE | — |