Nano Banana Pro
Nano Banana Pro in ComfyUI — minus the official API
- image_1
- image_2
- image_3
- image_4
- image_5
- image_6
- image_7
- image_8
- image_9
- image_10
- image_11
- image_12
- image_13
- image_14
- image
- text
The name is only half a lie
"Nano Banana Pro" is Google's flagship closed-source image model - Gemini 3 Pro Image, the one that does native 4K, chews on up to 14 reference images, and renders text in images better than anything in the open-source world. It lives entirely in Google's cloud, so the only way to use it from ComfyUI is through an API. This node is a single-box gateway to it: type a prompt, wire in a few reference images, get back an image and text right inside your graph. No local weights, no model downloads, no VRAM.
Here's the half that's a lie. The name suggests you're talking to Google, but this node doesn't call Google's API. It POSTs to https://api.yoboxapp.com/gemini/v1beta/models/gemini-3-pro-image-preview:generateContent?key=<your key> - a third-party proxy. That's not necessarily a dealbreaker. ComfyUI now has native Nano Banana Pro support (routed through Comfy's Fal-backed paid API), and a whole crop of reseller-proxy nodes exist because they're 40-60% cheaper per image. The catch is that yoboxapp has essentially zero community footprint - no reddit signal, no track record. You're trusting an unknown middleman with your API key and your prompts. Fine for experiments; think hard before you pipe real client work through it.
How it works
The node is a faithful re-implementation of Gemini's generateContent request shape, just pointed at the proxy. Your input images get converted to tensors, scaled to 0-255, and base64-encoded into inlineData parts; the prompt becomes a text part. It then builds a contents payload with responseModalities: ["TEXT", "IMAGE"] and an imageConfig block, and reads whatever comes back - collecting text and inline images from candidates[0].content.parts. It's a clean port, which is the nice part: if the proxy ever dies, the same code talks to the official endpoint if you change one URL in gemini_node.py.
The inputs that matter
Only five required fields, and you'll actually touch most of them:
prompt- your generation prompt or analysis instruction. Multiline, so go ahead and write a paragraph.api_key- required. Leave it empty and the node just hands you an error stub.aspect_ratio- eleven choices from 1:1 to 21:9, plusNoneto let the API pick. Defaults to 16:9.image_size-1K,2K, or4K. Default 2K is the sane middle; 4K is the Pro flagship feature but slower and pricier.timeout- API timeout in seconds, 1-300, default 120. Bump it toward the ceiling for 4K or when you've wired in several reference images.
Then there are image_1 through image_14, all optional IMAGE inputs. That's Nano Banana Pro's up-to-14-reference-images capability exposed as sockets - feed them for style transfer, subject consistency, or visual analysis. Plug any ComfyUI output (Load Image, a VAE decode, a workflow result) into whichever slots you need.
Outputs
Two of them, and both matter: image (an IMAGE tensor, wires into everything downstream like any other image) and text (a STRING). Use the text output when your prompt is an analysis or captioning instruction rather than a generation; it's also where errors land, which is your troubleshooting lifeline.
Installing it
Easiest via ComfyUI Manager: search "Nano Banana Pro" and hit install. Or manually:
cd ComfyUI/custom_nodes/
git clone https://github.com/yohji-yohji/comfyui-nanobanana-pro
Restart ComfyUI. That's the whole install - the README lists requests, pillow, numpy, torch as dependencies, but ComfyUI already ships all four, so there's nothing heavy to pull and no model files. Note the README's own clone URL is a placeholder (your-repo) - use the real one above.
Where people get burned
- Black 64×64 image. That's not a render failure, it's the error path. The node returns a black stub plus an error string in
textrather than crashing. Check the text output first - usually a missing key or a dead endpoint. - The key goes to yoboxapp, not Google. Anyone with that URL and your key can spend your credits. Don't paste a shared/company key in.
- Censorship. Nano Banana Pro is one of the most filtered image models around - famous IP and celebrities get refused hard. The node can't fix that; it's upstream.
- The model ID is
gemini-3-pro-image-preview. Preview IDs churn. If requests start failing for no obvious reason, the model name may have rotated - check the source and the proxy's docs.
Honest verdict: it's a competent wrapper around a model you otherwise need Comfy's pricier native integration or a Google API key to reach. Just go in knowing the middleman is the product.
Inputs (19)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| api_key | STRING | — | |
| aspect_ratio | COMBO | 16:9 | 11 options: None, 1:1, 2:3, 3:2, 3:4, 4:3, +5 |
| image_size | COMBO | 2K | 3 options: 1K, 2K, 4K |
| timeout | INT | 1201–300 | — |
| image_1opt | IMAGE | — | |
| image_2opt | IMAGE | — | |
| image_3opt | IMAGE | — | |
| image_4opt | IMAGE | — | |
| image_5opt | IMAGE | — | |
| image_6opt | IMAGE | — | |
| image_7opt | IMAGE | — | |
| image_8opt | IMAGE | — | |
| image_9opt | IMAGE | — | |
| image_10opt | IMAGE | — | |
| image_11opt | IMAGE | — | |
| image_12opt | IMAGE | — | |
| image_13opt | IMAGE | — | |
| image_14opt | IMAGE | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| text | STRING | — |