Gemini 3 Pro Image (π)
Nano Banana Pro, without leaving your ComfyUI graph
- image1
- image2
- image3
- image4
- image5
- image6
- Generated Image
You've seen the banana emoji on a leaderboard and wondered what the fuss is. Gemini 3 Pro Image is Nano Banana Pro, the flagship of Google's image generation line - and this node plugs it straight into a ComfyUI graph as a native IMAGE tensor. If you're the kind of person who wants Google-grade text rendering, native 4K output, and multi-image editing without leaving your workflow, this is the one.
What it actually does
Under the hood it's a thin but complete client for the gemini-3-pro-image model on Vertex AI. You type a prompt, optionally attach reference images, and the node sends the request to Google's cloud, waits, and returns the generated image as a torch tensor in ComfyUI's standard IMAGE format. That last bit is the whole point: whatever you produce here can flow straight into your existing nodes - upscalers, img2img, LoRA stacks, save/preview - instead of being stuck in a Google web app.
Inputs and outputs
The output is a single Generated Image (IMAGE) - a batch of one or more images as tensors. On the input side, the ones that matter:
- prompt - the text you're generating from. This model is genuinely good at rendering legible text inside the image, which is its party trick.
- image1 through image6 - optional reference images for editing or compositing. Feed it a photo and say "turn this into a painting" and it follows.
- image_size -
1K,2K, or4K. Native 4K output is the flagship feature; that's a real resolution, not an upscale. - aspect_ratio - a solid range from
1:1through16:9and21:9. - output_mime_type -
PNGorJPEGfor how the API returns the image. - temperature / top_p / top_k - the standard sampling knobs; leave them alone until you have a reason.
- system_instruction - a hidden prompt layer that guides behavior, handy for enforcing a style across runs.
The safety threshold dropdowns (harassment_threshold, hate_speech_threshold, sexually_explicit_threshold, dangerous_content_threshold) are Google's content filters, defaulted to BLOCK_MEDIUM_AND_ABOVE. And gcp_project_id / gcp_region - the region defaults to global, but you still have to fill in a project or it won't authenticate.
Installing it
This ships in the Google GenMedia pack, so installation is shared with every node here:
cd ComfyUI/custom_nodes
git clone https://github.com/GoogleCloudPlatform/comfyui-google-genmedia-custom-nodes
pip install -r comfyui-google-genmedia-custom-nodes/requirements.txt
Or use ComfyUI Manager and search comfyui-google-genmedia-custom-nodes. No model downloads - the requirements are just Google's SDKs. Then authenticate once with gcloud auth application-default login and restart ComfyUI. You'll find it under Google AI/GeminiProImage.
The honest caveats
It's a paid API - every image is a Vertex AI call, billed per image at the resolution you picked, and 4K costs more than 1K. The safety filtering is also aggressive; Google's image models are heavily censored, and while it won't stop most normal art, you'll hit refusals on things that fly fine on an open checkpoint. There's also an invisible SynthID watermark on everything it makes. But for text-in-image quality and coherent multi-image editing, this is genuinely the best closed model in the pack. If you want the same idea cheaper, the Flash variants are right there in the same pack.
Inputs (21)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | GEMINI_3_PRO_IMAGE | 1 options: GEMINI_3_PRO_IMAGE |
| prompt | STRING | A vivid landscape painting of a futuristic city | β |
| aspect_ratio | COMBO | 16:9 | 10 options: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, +4 |
| image_size | COMBO | 1K | 3 options: 1K, 2K, 4K |
| output_mime_type | COMBO | PNG | 2 options: PNG, JPEG |
| temperature | FLOAT | 0.700β1 | β |
| top_p | FLOAT | 1.000β1 | β |
| top_k | INT | 321β64 | β |
| image1opt | IMAGE | β | |
| image2opt | IMAGE | β | |
| image3opt | IMAGE | β | |
| image4opt | IMAGE | β | |
| image5opt | IMAGE | β | |
| image6opt | IMAGE | β | |
| harassment_thresholdopt | COMBO | BLOCK_MEDIUM_AND_ABOVE | 4 options: BLOCK_NONE, BLOCK_ONLY_HIGH, BLOCK_MEDIUM_AND_ABOVE, BLOCK_LOW_AND_ABOVE |
| hate_speech_thresholdopt | COMBO | BLOCK_MEDIUM_AND_ABOVE | 4 options: BLOCK_NONE, BLOCK_ONLY_HIGH, BLOCK_MEDIUM_AND_ABOVE, BLOCK_LOW_AND_ABOVE |
| sexually_explicit_thresholdopt | COMBO | BLOCK_MEDIUM_AND_ABOVE | 4 options: BLOCK_NONE, BLOCK_ONLY_HIGH, BLOCK_MEDIUM_AND_ABOVE, BLOCK_LOW_AND_ABOVE |
| dangerous_content_thresholdopt | COMBO | BLOCK_MEDIUM_AND_ABOVE | 4 options: BLOCK_NONE, BLOCK_ONLY_HIGH, BLOCK_MEDIUM_AND_ABOVE, BLOCK_LOW_AND_ABOVE |
| system_instructionopt | STRING | β | |
| gcp_project_idopt | STRING | GCP project id where Vertex AI API will query Gemini | |
| gcp_regionopt | STRING | global | GCP region for Vertex AI API |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| Generated Image | IMAGE | β |