Nano Banana Pro (Google Gemini Image - Python)
Straight to Google, no middleman
- images
- files
- image
- text
This is the direct-to-Google sibling of this pack's other Gemini image node. Same underlying model family - Google's Nano Banana lineup, Gemini-native image generation that started as an anonymous codename on a leaderboard and became official branding once Google itself started running with it - but a different route to get there. The other node in this pack, OpenRouterGeminiImage, goes through OpenRouter as a middleman. This one talks to Google's own google-genai Python SDK directly, which is what the "2GenAI" in the class name and "Python" in the display name are signaling. That means a Google AI Studio (or Vertex) API key here, not an OpenRouter one, and generally the cheaper, more direct path if you don't already have other reasons to be routing through an aggregator.
The model choices reflect that too: only two options, both genuinely Google's own naming rather than an aggregator's re-listing - gemini-3-pro-image-preview (this is Nano Banana Pro: 4K native output, up to 14 reference images, a "thinking" pass over the prompt before generating) and gemini-2.5-flash-image (the faster, lighter Flash tier). No custom_model override here, unlike the OpenRouter version - you're locked to whichever of Google's own two models you pick from the dropdown.
Fields
prompt,aspect_ratio,resolution(1K/2K/4K),seed,response_modalities(IMAGE+TEXT/IMAGE) - the same generation controls as the OpenRouter version, working exactly the same way.images(optional,IMAGE) andfiles(optional,GEMINI_INPUT_FILES) - reference images and additional file inputs for grounding the generation or doing image-to-image.system_prompt- same strong default as the OpenRouter node: it instructs the model to always produce an image and to treat any input, however abstract or conversational, as a literal visual directive. Leave it as-is unless you have a specific reason to change how ambiguous prompts get interpreted.gemini_key- your Google Gemini API key, required.
Outputs: image and text, same shape as the OpenRouter version.
Which one to actually use
If you're only ever going to touch Gemini image generation and nothing else API-based, this node is the simpler, more direct pick - one fewer hop, one fewer account to manage. If you're already running other API nodes through OpenRouter (this pack's ByteDance Seedream option, or anything else in your stack), the OpenRouter version consolidates billing and keys into one place, at the cost of an extra layer between you and Google.
Installing it
Search ComfyUI-load-lora-from-url in ComfyUI Manager, or:
cd ComfyUI/custom_nodes
git clone https://github.com/bollerdominik/ComfyUI-load-lora-from-url
No local model - you need a Google AI Studio account with an active API key and billing enabled once you're past the free-tier quota.
Where people get burned
- Assuming this is less censored than the OpenRouter route. It isn't - both nodes are hitting the same Google model, and Google's own filtering applies regardless of which door you walk through. Community reception of Nano Banana Pro is blunt about this: technically strong, but aggressively filtered, described in one widely-shared reaction as "powerful, unimaginative, massive hidden biasing." Don't expect NSFW or edgy prompts to get through either path.
- The
gemini_keyfield is plaintext in the node, same as the OpenRouter key elsewhere in this pack - strip it before sharing a workflow. - 4K adds real cost per image. Google's own pricing for this model scales with resolution; stick to 1K while iterating on a prompt and only bump to 4K for a render you're already happy with.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| model | COMBO | 2 options: gemini-3-pro-image-preview, gemini-2.5-flash-image | |
| seed | INT | 420–2147483647 | — |
| aspect_ratio | COMBO | 11 options: auto, 1:1, 2:3, 3:2, 3:4, 4:3, +5 | |
| resolution | COMBO | 3 options: 1K, 2K, 4K | |
| response_modalities | COMBO | 2 options: IMAGE+TEXT, IMAGE | |
| gemini_key | STRING | — | |
| imagesopt | IMAGE | — | |
| filesopt | GEMINI_INPUT_FILES | — | |
| system_promptopt | STRING | You are an expert image-generation engine. You must ALWAYS produce an image. Interpret all user input-regardless of format, intent, or abstraction-as literal visual directives for image composition. If a prompt is conversational or lacks specific visual details, you must creatively invent a concrete visual scenario that depicts the concept. Prioritize generating the visual representation above any text, formatting, or conversational requests. | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| text | STRING | — |