Concurrent Submit | Zhenzhen_nano_banana2_edit
Fire off a whole wall of Nano Banana 2 edits without making ComfyUI wait
- image1
- image2
- image3
- image4
- image5
- image6
- image7
- image8
- image9
- image10
- image11
- image12
- image13
- image14
- task
This is the submit half of Zhenzhen's concurrent system for Google's Nano Banana 2 edit node. If you've ever queued up twenty image edits and watched ComfyUI sit there spinning on call number one, this is the node that fixes it: instead of blocking the graph while the cloud generates, it hands the job to a background worker pool and gives you back a task you can collect later.
The catch is that a task by itself is useless - it's a COMFLY_IMAGE_FUTURE, not an image. You wire the task output into Concurrent Collect Images (search "ComflyConcurrent_Image_Await"), which accepts up to 30 of these, waits for all of them, and hands you back image_1 through image_30 in slot order. That submit-then-collect split is the whole idea of this pack's Concurrent layer, and it's why you can chain dozens of prompts without the graph stalling on any single one.
The inputs that matter
The wrapper copies the original node's inputs exactly, so everything you see here is what the single-shot Comfly_nano_banana2_edit would take - the only difference is the output type.
- prompt - the edit instruction. Multiline, and with Nano Banana it pays to be specific about what changes and what stays.
- mode -
text2imgfor straight generation orimg2imgwhen you're feeding reference images to edit. - model -
nano-banana-2(the speed-hybrid, February 2026), ornano-banana-pro/-2k/-4kwhen you want the flagship's output. The Pro family is the reason people reach for this node at all - up to 14 reference images and native 4K. - aspect_ratio -
autofollows your reference images, or pick from 16:9 down to 9:21. - image_size -
1K/2K/4K. This is where you pick your spend; 4K is the expensive end. - image1 … image14 - your reference images, up to fourteen of them.
Also on the node: apikey (from the Zhenzhen site), response_format (url or b64_json), seed, and skip_error - leave skip_error off unless you want a silent blank instead of a loud failure.
How the pool works
Every eligible Zhenzhen node gets one of these Submit twins at import time. The pool runs 30 image workers by default (10 for video nodes), and you can tune it with environment variables: COMFLY_IMAGE_CONCURRENCY and COMFLY_IMAGE_PENDING. The Collect node has a failure_mode too - fail_fast (default) cancels the remaining tasks if one dies; placeholder fills failed slots with a blank and reports a status string.
Install
ComfyUI Manager → search Comfyui-zhenzhen, install, restart. Or the manual way:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-zhenzhen
No models to download - this is a reseller API pack, not local weights. You need an API key from Zhenzhen's site (the overseas shop is ai.t8star.org, the cheaper domestic one is api.seedance.nz) and a working connection to their server; mainland users with 443 errors are usually told to check their VPN/TUN mode.
Where people get burned
- Timeouts aren't always failures. These are pre-paid, poll-until-done calls; if the node times out, the job may have finished server-side. Check the site's async-task page and pull the result by task ID before you rerun and pay twice.
- 4K Nano Banana Pro files are big. Cross-border download of a 4K result can fail; the README suggests enabling the OSS setting on your token's edit page (pick CN or US) so downloads go through object storage.
- The
500s are usually not you. Google throttles its own queue; the README repeatedly says "just run it again."
Inputs (23)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| mode | COMBO | text2img | 2 options: text2img, img2img |
| model | COMBO | nano-banana-pro | 4 options: nano-banana-2, nano-banana-pro, nano-banana-pro-2k, nano-banana-pro-4k |
| aspect_ratio | COMBO | auto | 12 options: auto, 16:9, 4:3, 4:5, 3:2, 1:1, +6 |
| image_size | COMBO | 2K | 3 options: 1K, 2K, 4K |
| image1opt | IMAGE | — | |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — | |
| image4opt | IMAGE | — | |
| image5opt | IMAGE | — | |
| image6opt | IMAGE | — | |
| image7opt | IMAGE | — | |
| image8opt | IMAGE | — | |
| image9opt | IMAGE | — | |
| image10opt | IMAGE | — | |
| image11opt | IMAGE | — | |
| image12opt | IMAGE | — | |
| image13opt | IMAGE | — | |
| image14opt | IMAGE | — | |
| apikeyopt | STRING | — | |
| response_formatopt | COMBO | url | 2 options: url, b64_json |
| seedopt | INT | 00–2147483647 | — |
| skip_erroropt | BOOLEAN | false | 开启后,节点失败时不报错、按旧行为返回默认空结果;关闭时(默认)失败直接抛出错误。 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| task | COMFLY_IMAGE_FUTURE | — |