SF VertexAI Nano Banana Pro
Nano Banana Pro on Vertex AI — the closed Gemini image model, minus the app
- images
- text_response
- thoughts
Nano Banana Pro is Google's flagship closed image model - Gemini 3 Pro Image, to use the boring name - and the community reaction to the Nano Banana line was loud enough that "probably best edit image model" threads were still getting upvotes months after launch. You can't download it; it lives on Google's side. SF VertexAI Nano Banana Pro is the node that puts it inside a ComfyUI graph. You type a prompt, you get an IMAGE tensor back, and the whole thing runs against your GCP project's billing.
How it works
The node calls the Gemini image model through Vertex AI, which means a few things worth internalizing. Location should be global (the tooltip says so explicitly - Gemini/Nano Banana models don't ride the us-central1 train). The SDK handles auth via Application Default Credentials, so there's no key field anywhere in this node. And unlike the WaveSpeed path in this same pack, the result comes back as a real image tensor plus two text outputs: text_response and thoughts. That last one is Nano Banana Pro's thinking mode leaking out - the model reasons about the prompt before generating, and this node gives you a window into that reasoning. It's a genuinely cool debugging feature and a reminder that you're talking to a frontier model, not a diffusion checkpoint.
The inputs that matter
- project_id - your Google Cloud project ID. You'll type this in every VertexAI node, so keep it handy.
- location -
global. Not a suggestion; use it. - prompt - be specific and detailed, per the tooltip. This model rewards description.
- model - default is Nano Banana Pro (
gemini-3-pro-image-preview), but you can switch to plain Nano Banana (faster, 1K only) or Nano Banana Pro Flash (fast, up to 4K). If you just want quick looks, plain Nano Banana is the budget choice. - aspect_ratio - 1:1 and friends.
- image_size - 1K, 2K, or 4K on Pro. Nano Banana is 1K only, enforced.
- seed -
0means random; set a number for reproducibility.
Outputs: images (the tensor), text_response, and thoughts (both strings). Wire images onward; log the strings if you're curious what the model was "thinking."
Installing it
Part of the SF ComfyUI Nodes pack from Stillfront. ComfyUI Manager → "SF ComfyUI Nodes" → Install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/Stillfront/comfyui-sf-nodes.git
cd comfyui-sf-nodes
pip install -r requirements.txt
Requires google-genai (in the pack's requirements) plus a Google Cloud project with Vertex AI enabled and billing on:
gcloud auth application-default login
Common issues
The classic setup failures are auth and billing, same as every VertexAI node. But this model has a second, more interesting trap: it's censored in ways that can be hard to predict. The KB's verdict on the Nano Banana line is "powerful but heavily filtered" - expect refusals or silently bland output on prompts that would be fine locally, and don't waste a whole evening fighting it. For clean photorealistic and illustrative work, the quality is excellent; for anything adjacent to Google's safety policy, you're fighting the model's own weights. Also remember each call costs real money - 4K generations aren't free - so lean on 1K for iteration and save the big sizes for the finals.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| project_id | STRING | Google Cloud project ID | |
| location | STRING | global | Google Cloud region (use 'global' for Gemini/Nano Banana models) |
| prompt | STRING | Text description of the image to generate. Be specific and detailed for best results. | |
| model | COMBO | Nano Banana Pro (gemini-3-pro-image-preview) | Nano Banana: faster, 1K only. Nano Banana Pro: best quality, up to 4K. |
| aspect_ratio | COMBO | 1:1 | Output image aspect ratio |
| image_size | COMBO | 1K | Output image size. Nano Banana only supports 1K. Nano Banana Pro supports 1K/2K/4K. |
| seed | INT | 00–2147483647 | Random seed for reproducible results (0 for random) |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| text_response | STRING | — |
| thoughts | STRING | — |