Concurrent Submit | zhenzhen-mai-image-2.5-fal
MAI Image 2.5 text-to-image, but you can queue thirty prompts at once
- task
MAI Image 2.5 is Microsoft's closed image model, and this node is the text-to-image flavor of it hosted on fal through the Zhenzhen reseller. The text-to-image variant is the simplest node in the whole pack's image family: a prompt, a ratio, a count, done. Its whole reason to exist as a Concurrent Submit node is volume - when you're iterating on concept art or a character sheet, being able to queue thirty prompts into the shared image pool and collect them as one batch is the difference between a night of babysitting and a single click.
The inputs that matter
- prompt - required, the only required thing.
- num_images - 1 to 4 per job. Remember this is charged per image, so 4 is 4 billings.
- aspect_ratio -
autoplus 1:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3. Good coverage for posters vs social. - output_format - png / jpeg / webp.
- poll_interval / max_poll_attempts - fal polling control.
- api_key - direct key paste.
- seed - ComfyUI cache-control seed (fixed reuses the cached run; randomize forces a new one). Not a native MAI parameter.
- skip_error - on, and failures return an empty placeholder instead of killing the batch.
That's the whole list. No style slot, no references - this is the plain generator, and for once "just a thin wrapper" is a feature.
The concurrent flow
Output is a task (COMFLY_IMAGE_FUTURE), not an image. The pattern is the pack's standard one: line up a stack of these Submit nodes with different prompts (or different seeds), wire every task into ComflyConcurrent_Image_Await (30 slots), and the collector waits for all of them, returns the images in slot order, and gives you a status JSON. Set the collector's failure_mode to placeholder if you'd rather a dead slot return an empty image than throw the batch.
Install and gotchas
It's part of T8mars/Comfyui-zhenzhen - ComfyUI Manager → search "Comfyui-zhenzhen", or git clone https://github.com/T8mars/Comfyui-zhenzhen into custom_nodes, then restart. Nothing local to download; standard deps. Paid Zhenzhen token, overseas servers (proxy needed from China), fal pre-charge-then-settle billing. And because the whole point is running a lot of these, keep an eye on the wallet - thirty parallel generations is a visible line item even at reseller prices.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| api_keyopt | STRING | — | |
| aspect_ratioopt | COMBO | auto | 8 options: auto, 1:1, 4:3, 3:4, 16:9, 9:16, +2 |
| num_imagesopt | INT | 11–4 | — |
| output_formatopt | COMBO | png | 3 options: png, jpeg, webp |
| poll_intervalopt | INT | 61–60 | — |
| max_poll_attemptsopt | INT | 60010–3600 | Default 600*6s = 3600s timeout. |
| skip_erroropt | BOOLEAN | false | — |
| seedopt | INT | 00–18446744073709550000 | Execution seed for ComfyUI cache control. Fixed reuses the cached result; randomize/increment/decrement requests a new run. This compatibility seed is not sent to APIs that do not expose a native seed parameter. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| task | COMFLY_IMAGE_FUTURE | — |