WaveSpeedAI Google Nano Banana Edit
Google's edit-anything image model, from inside ComfyUI
- client
- image
"Nano Banana" is what the internet renamed Google's Gemini 2.5 Flash Image model after it landed in August 2025 and immediately became the image model of the year. Its party trick is editing: give it an image and a sentence and it redraws the thing with remarkably few hallucinations - text, hands, logos, reflections, the usual image-model kryptonite. This node from razvanmatei-sf/razv-wavespeed puts that model inside ComfyUI as a hosted API call to WaveSpeed AI.
If you've seen people casually editing product photos or fixing a generated image's text and thought "how are they doing that," this is how. And it's the one Google-image node where the edit model genuinely outshines the text-to-image version - Nano Banana was built to edit, not just to generate.
How it works
Standard pack anatomy: a WaveSpeedAI Client node feeds the connection, you supply prompt and an image_url, and the node hits the /api/v3/google/nano-banana/edit endpoint. The output is an IMAGE tensor (image), ready for preview or save.
One implementation detail worth knowing: in async mode this node polls a task endpoint every 30 seconds rather than the tight 2-second loop the other pack nodes use. So a hung async job can sit there for a while before it errors - if a Nano Banana edit feels frozen, it's probably just that long poll cycle, not a dead graph.
output_format is the interesting dial: png or jpeg, and the tooltip says it plainly - use PNG for transparency support. Nano Banana can output transparent backgrounds, which is huge for logos, stickers, and compositing. Set it to jpeg and you throw that away.
The inputs that matter
- prompt - the edit instruction. "Change the can to red" beats "a red can," same as everywhere.
- image_url - the image to edit. Hosted URL; the tooltip's "Upload Image node" doesn't exist in the current build, so paste a public URL.
- output_format - png if you want transparency, jpeg if size matters more.
- additional_images - optional, one URL per line, up to nine extra images. This is the multi-image edit path: give Nano Banana several reference shots and ask it to do something across them.
enable_sync_mode defaults on, which is right for a single edit.
Install
Shared pack:
cd ComfyUI/custom_nodes
git clone https://github.com/razvanmatei-sf/razv-wavespeed
# restart ComfyUI
Or ComfyUI Manager → search "razv-wavespeed" → Install. Add a WaveSpeed AI key through the WaveSpeedAI Client node, config.ini (copy from config.ini.tmp, [API]), or a WAVESPEED_API_KEY env var.
Common issues
- It's a paid API. Nano Banana is a flagship model; edits are billable and popular enough that queue times happen. Don't fire off a hundred-edit batch blind.
- URL-only input. No upload node in this build - paste publicly reachable URLs into
image_urlandadditional_images. - Async feels slow. The 30-second poll cadence means failures surface late. For debugging, flip sync mode on so errors come back immediately.
- Transparency requires png. If your edit comes back with a baked background, check
output_formatbefore blaming the model.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| client | WAVESPEED_AI_API_CLIENT | — | |
| prompt | STRING | The positive prompt for image generation | |
| image_url | STRING | URL of input image for editing (or connect from Upload Image node) | |
| output_format | COMBO | png | Output format - use PNG for transparency support |
| enable_sync_mode | BOOLEAN | true | Wait for image generation to complete before returning |
| additional_imagesopt | STRING | Additional image URLs (one per line, max 9 additional) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |