Concurrent Submit | Zhenzhen_Flux_2_Flex
Flux 2 Flex, but you can fire 30 of them at once
- input_image
- input_image_2
- input_image_3
- input_image_4
- input_image_5
- input_image_6
- input_image_7
- input_image_8
- task
Flux 2 is the model line where Black Forest Labs went API-first: Dev is a 32B monster most people can't run, and the practical quality tiers - Flex, Pro, Max - live behind BFL's paid endpoints. This node is the Flex tier, wrapped by the Comfyui-zhenzhen pack, which resells those official API calls with a key of its own. Flex is the cheap-and-cheerful one: fast, low-cost, and still doing multi-image editing that would melt your local card. The "Concurrent Submit" part means you can queue a whole batch of them at once instead of babysitting one image at a time.
If you've read the KB's flux-2 essay, you know the local story is "great model, nobody can run it." This is the other door: don't run it at all, just call it. The pack handles the queueing, polling, and download - you get a ComfyUI IMAGE out the other side as if a sampler had made it.
How the concurrent bit works
The regular Comfly_Flux_2_Flex node blocks until BFL's server answers. This Submit node runs it in a background thread pool - 30 workers for image nodes - and returns a task handle immediately. You then wire that handle into the pack's Concurrent Collect Images (30) node, alongside as many other tasks as you want, and that collector waits for the whole batch and hands back the images in slot order plus a status string. failure_mode on the collector picks fail-fast vs. placeholder-on-error.
Practical effect: set up one Flex Submit node, click "run" on 15 or 20 different prompts, and they all process in parallel rather than queuing serially.
The inputs that matter
prompt- the only required input. Flex understands long, descriptive prompts well, so don't be shy.input_image…input_image_8- up to eight reference images. That's the Flux 2 party trick: multi-image editing, character consistency, "change the outfit to match this" style work. Connect none and it's text-to-image.width/height- up to 6000px in steps of 8. Bigger costs more credits.prompt_upsampling(default on) - lets BFL expand your prompt. Usually a win on Flex; turn it off if you want strict control.guidance(default 5) andsteps(max 50) - you get real sampler knobs here, unlike Max/Pro. Lower steps = faster and cheaper.safety_tolerance- 0–5, higher means more permissive. Flex sits on BFL's moderation rails.
Output is a single task (type COMFLY_IMAGE_FUTURE) → Collector. That's it.
Installing it
Part of the Comfyui-zhenzhen pack:
- ComfyUI Manager → search "Comfyui-zhenzhen" → install → restart.
- Or
cd ComfyUI/custom_nodes && git clone https://github.com/T8mars/Comfyui-zhenzhenand restart.
No model downloads, no VRAM pressure - the whole pack is an API wrapper. You need a paid token from the author's shop (ai.t8star.org for the overseas storefront), pasted into the node's api_key field. Leave it blank and you'll just get auth errors.
Gotchas
The overseas endpoint needs a proxy if you're in mainland China - the author's own README says as much, 443 errors included. And a 500 on a BFL-adjacent call is often upstream load, not your config; the pack's standing advice is retry. One more thing worth knowing: the seed input only controls ComfyUI's cache - if you set it Fixed, you get the cached result back, not a new render.
Inputs (19)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| api_keyopt | STRING | — | |
| input_imageopt | IMAGE | — | |
| input_image_2opt | IMAGE | — | |
| input_image_3opt | IMAGE | — | |
| input_image_4opt | IMAGE | — | |
| input_image_5opt | IMAGE | — | |
| input_image_6opt | IMAGE | — | |
| input_image_7opt | IMAGE | — | |
| input_image_8opt | IMAGE | — | |
| prompt_upsamplingopt | BOOLEAN | true | — |
| seedopt | INT | -1-1–2147483647 | — |
| widthopt | INT | 102464–6000 | — |
| heightopt | INT | 102464–6000 | — |
| guidanceopt | FLOAT | 5.01.5–10 | — |
| stepsopt | INT | 501–50 | — |
| safety_toleranceopt | INT | 20–5 | — |
| output_formatopt | COMBO | png | 2 options: jpeg, png |
| skip_erroropt | BOOLEAN | false | 开启后,节点失败时不报错、按旧行为返回默认空结果;关闭时(默认)失败直接抛出错误。 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| task | COMFLY_IMAGE_FUTURE | — |