Zhenzhen_nano_banana
One node, seven Gemini image models
- image1
- image2
- image3
- image4
- image
- response
- image_url
Nano Banana is Google's image generation line - the rebranded Gemini image models - and the name stuck because it's genuinely good at following instructions. Comfly_nano_banana ("Zhenzhen_nano_banana") is the pack's general-purpose node for it: one node, a model dropdown with seven options, and up to four reference images. Type a description, optionally drop in images to edit from, and the result comes back as an IMAGE.
The model list is the interesting part, because it spans the whole Banana family plus the underlying Gemini image models: nano-banana, nano-banana-hd, nano-banana-pro, nano-banana-2, gemini-2.5-flash-image, gemini-2.5-flash-image-preview, and gemini-3-pro-image. In practice you'll mostly toggle between the banana models, and nano-banana-pro is the default for a reason - it's the flagship, with 4K output and the "thinking before generating" behavior that makes its edits feel intentional.
It's a Google-class node in the T8mars/Comfyui-zhenzhen pack, the "Comfly" API-wrapper family that calls the author's paid reseller service. This family takes the key directly in an apikey field on the node - no shared settings node. Everything else is the standard submit → poll → download machinery, and the README's changelog is a running diary of Google's rate-limit wars (default group vs "premium group", 4K white-image incidents, and so on).
The inputs that matter
text- required, your instruction. These models are excellent with natural language, so edit-heavy jobs read like "change the jacket to leather and keep everything else."model- required, the seven-way dropdown.image1–image4- reference images for editing. More than one reference is where the "banana" magic shows.temperature(default 1) andtop_p(default 0.95) - the sampling knobs; lower temperature for stricter adherence.max_tokens- default 32768, plenty.seed,skip_error, andapikeyround it out.
Outputs
image- the result as anIMAGE.image_url- the hosted result as a string.response- the raw API payload.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-zhenzhen
# restart ComfyUI
Or ComfyUI Manager → "Comfyui-zhenzhen". Then paste a key from the author's site into apikey. No model downloads - this is a cloud call.
The honest part
This is the pack's bread-and-butter node, and it's where most of the author's changelog pain lives, because Google's rate limits are the real enemy. The README's recurring theme: the default token group gets congested, 4K output can come back as a white image, and errors 429/500 are Google load limits that don't charge you. When that happens, the fix is usually to edit your token on the site and add the "premium group" (优质分组), not to reinstall anything. And yes - every prompt and reference image you send goes through a reseller's server to reach Google. For a closed model you can't run locally, that's the deal, but it's worth being deliberate about what you put in.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — | |
| model | COMBO | nano-banana-pro | 7 options: nano-banana-2, nano-banana-pro, gemini-3-pro-image, gemini-2.5-flash-image, nano-banana, nano-banana-hd, +1 |
| image1opt | IMAGE | — | |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — | |
| image4opt | IMAGE | — | |
| temperatureopt | FLOAT | 1.000–2 | — |
| top_popt | FLOAT | 0.950–1 | — |
| apikeyopt | STRING | — | |
| seedopt | INT | 00–2147483647 | — |
| max_tokensopt | INT | 327681–32768 | — |
| skip_erroropt | BOOLEAN | false | 开启后,节点失败时不报错、按旧行为返回默认空结果;关闭时(默认)失败直接抛出错误。 |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| response | STRING | — |
| image_url | STRING | — |