Nano Banana Multi-Turn Chat
Edit your Pro generations conversationally
- image_input
- image
- response_text
- metadata
- chat_history
This is the pack's original conversation node, and it's the simplest idea in the whole ru4ls/ComfyUI_Nano_Banana set: generate an image with Google's flagship Nano Banana Pro (gemini-3-pro-image-preview), then keep talking to it. "Make the perfume bottle royal blue." "Now a close-up on the cap." "Crop it tight, weighted left." Each run sends your new instruction plus the previous image back to the model, so you're iterating on an actual object rather than re-rolling the dice.
Compared to the newer NanoBanana2MultiTurnChat, this is the no-frills, high-fidelity version. No search toggles, no 14 reference slots, no extreme aspect ratios or 512px quick-drafts. What it keeps is the Pro model's quality - 4K output, thinking mode, the whole flagship package - in a node whose input list you can count on one hand.
How it works
The mechanism is the same in-memory trick as its NB2 sibling: the node stores last_image_data and a conversation_history on the instance. On each run it takes your prompt, re-attaches the image from the previous turn as a reference, and asks the model to work with it. reset_chat clears both and starts a virgin thread. Feed an image into the single image_input on the first turn and the conversation starts from that instead of a blank generation - handy for editing an image that came from somewhere else entirely.
And the in-memory caveat that bites people: this state lives and dies with the node instance. Restart ComfyUI and the conversation is gone. Copy the node and you've started fresh whether you meant to or not. There's no file-based persistence, so treat the node's current state as short-lived.
The inputs that matter
There aren't many. That's the appeal.
prompt- the instruction for the current turn, building on all prior context.reset_chat- toggle toTrueto wipe history and begin again.image_input- optional single starting image; skip it and the node just generates from text.aspect_ratio- the standard set plusAuto(the pack's v6.0.2 addition lets the model choose).image_size-1K,2K, or4K. The Pro model's native 4K is why this node exists.
Outputs: image (current result), response_text (the model's reply - read this when an edit seems ignored), metadata (finish reason and safety ratings - useful for diagnosing refusals), and chat_history (the whole thread as a string).
Installing
Same pack, same drill. ComfyUI Manager → search "ComfyUI_Nano_Banana", or:
cd ComfyUI/custom_nodes
git clone https://github.com/ru4ls/ComfyUI_Nano_Banana.git
pip install -r ComfyUI_Nano_Banana/requirements.txt
Then credentials in the pack's .env: copy .env.api.template and set GOOGLE_API_KEY, or use .env.vertexai.template with PROJECT_ID and LOCATION for the full experience. The node's other sibling (the NB2 chat) additionally wants pip install google-genai --upgrade, which is harmless to run here too.
Gotchas
- Pro pricing. Multi-turn is a series of paid Pro-tier calls - the KB puts Nano Banana Pro around $0.039–0.24 per image depending on resolution, so a long edit chain is a real line on your bill.
- Volatile memory. Node-instance state only; a ComfyUI restart loses the thread. Use the same node instance for a conversation.
- No search grounding on this node. If you need web citations or image search, that's the NB2 chat node's job.
- Google's filters are the unspoken rule. The Nano Banana family is widely called powerful but heavily censored - a refusal shows up as a non-STOP finish reason in your
metadataoutput.
If you want speed and grounding instead of Pro quality, the pack's NanoBanana2MultiTurnChat is the fast path. This one is for when the edit has to be good.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | gemini-3-pro-image-preview | 1 options: gemini-3-pro-image-preview |
| prompt | STRING | Create an image of a clear perfume bottle sitting on a vanity. | — |
| reset_chat | BOOLEAN | false | — |
| aspect_ratio | COMBO | 1:1 | 11 options: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, +5 |
| image_size | COMBO | 2K | 3 options: 1K, 2K, 4K |
| temperature | FLOAT | 1.00–2 | — |
| image_inputopt | IMAGE | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| response_text | STRING | — |
| metadata | STRING | — |
| chat_history | STRING | — |