Nano Banana 2
The cheap, fast one — and it has a demo prompt baked in
- image_input
- image
- url
- all_urls_json
- task_id
- raw_json
- credits_consumed
- credits_left
What it is
Nano Banana 2 is Google's Gemini 3.1 Flash Image model - the speed-and-price sibling of Nano Banana Pro. There are no weights, so it can never run locally at any VRAM; the only way it enters a ComfyUI graph is through a node that calls a server. This is that node, pointed at KIE's API.
Why route through KIE rather than Comfy's own native Nano Banana nodes? Price, mostly. Community comparisons through reseller access put Nano Banana 2 around 8 credits (~$0.04) at 1K and 18 (~$0.09) at 4K, against roughly double that for Pro on the same marketplace - and higher again on the Fal-backed first-party route. If you generate grids or iterate a lot, that gap shows up fast. The other reasons people pick a reseller are billing simplicity, region access, and not wanting a Google Cloud project (all catalogued in docs/knowledge/external-api-nodes.md).
The catch is the same as every API node: per-call cost, your prompts and images leaving the machine, and Google's filtering riding along inside the model with no way to ablate it out.
How it works
The node is generated from KIE's published request schema for the Nano Banana 2 endpoint, which is why the widget set is small and fixed: prompt, an optional image input, ratio, resolution, format. image_input is a native IMAGE socket - the pack uploads it to KIE's storage and swaps in the URL, so you never paste links. The job is submitted as a task, polled until it finishes or timeout_seconds expires, and the result is downloaded as a ComfyUI IMAGE.
Inputs and outputs
Required:
- prompt (STRING, up to 20,000 characters) - the author ships this pre-filled with a demo prompt about a comic-poster banana hero. Clear it first; you'll otherwise spend a credit generating someone else's advertising copy.
Optional:
- image_input (IMAGE) - an image to work from. This is where the model earns its reputation: edit an existing picture, blend references, or keep a character roughly on-model.
- aspect_ratio -
autoby default, plus fifteen values including the weird ones (1:8,8:1,1:4,4:1).autolets the system choose; set it when you're matching a layout. - resolution -
1K,2K,4K. This is your cost dial, and 4K is roughly three times the 2K price on this model. Decide before you queue, not after. - output_format -
pngorjpg. - timeout_seconds (1200 default), callback_url (leave empty).
Outputs: image (native tensor, wire it onward), url, all_urls_json, task_id, raw_json, credits_consumed, credits_left. The credits-left socket is the one to wire into a text node if you're running loops.
Install
Manager: search KIE-Nodes-Next, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
Then set the key: Settings → KIE.ai Nodes Next → Connection → Paste / replace KIE.ai API key. The pack validates it against KIE before overwriting anything and shows a masked fingerprint plus your live balance - the balance screen is the fastest way to confirm you have credits before blaming the node. KIE_API_KEY as an environment variable overrides the saved key, which is the headless-server path.
requirements.txt is just requests, Pillow, numpy, PyYAML. Note that this pack is the auto-generated from KIE's docs one - there are several KIE node packs in the Manager with similar names, so make sure you're installing felipederosilva's (the repo URL above) rather than a hand-built one.
Where people get burned
The prefilled demo prompt. Covered above, but it's the most common "why does my output look like a Google ad" moment in this pack. Clear it.
Google's filter is the model's, not the node's. You can't patch it, prompt around it reliably, or abliterate it. Whatever the model refuses, the node refuses, because there are no weights to edit.
auto isn't neutral. If you're assembling a grid or feeding a fixed-size downstream node, an auto ratio will hand you a surprise aspect ratio. Pin it.
Model churn is real. KIE's catalog moves as providers add and retire endpoints - one community thread on a sibling KIE pack has a user reporting a model quietly disappearing. If a node that worked last week starts erroring, hit KIE • Refresh Model Catalog; the pack rebuilds its library from KIE's live docs.
Cost per image, not per session. Cheap per call is exactly what makes it easy to spend $20 in an afternoon of grid tests. Use credits_consumed on the node's own readout as your speedometer.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Comic poster: cool banana hero in shades leaps from sci-fi pad. Six panels: 1) 4K mountain landscape, 2) banana holds page of long multilingual text with auto translation, 3) Gemini 3 hologram for search/knowledge/reasoning, 4) camera UI sliders for angle focus color, 5) frame trio 1:1-9:16, 6) consistent banana poses. Footer shows Google icons. Tagline: Nano Banana Pro now on Kie AI. | A text description of the image you want to generate (Max length: 20000 characters) |
| image_inputopt | IMAGE | — | |
| aspect_ratioopt | COMBO | auto | Aspect ratio of the generated image |
| resolutionopt | COMBO | 1K | Resolution of the generated image |
| output_formatopt | COMBO | png | Format of the output image |
| timeout_secondsopt | INT | 120030–7200 | — |
| callback_urlopt | STRING | Optional KIE callback URL. Leave empty for normal ComfyUI use. |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| url | STRING | — |
| all_urls_json | STRING | — |
| task_id | STRING | — |
| raw_json | STRING | — |
| credits_consumed | FLOAT | — |
| credits_left | FLOAT | — |