Nodes/GrsAI api in ComfyUI/🍌 GrsAI Nano Banana - Text/Image
ComfyUI Node

🍌 GrsAI Nano Banana - Text/Image

Google's Nano Banana as a pay-per-image ComfyUI node

By 31702160136·Created about a year ago·Updated about a month ago· 126
🍌 GrsAI Nano Banana - Text/Image
  • image_1
  • image_2
  • image_3
  • image_4
  • image_5
  • image_6
  • image
  • status
promptCreate a high-quality studio shot of a ripe banana on a matte surface, soft shadows, natural lighting.
apikey请输入您的APIKEY: sk-xxxxxxx
modelnano-banana-fast
num_images1
aspect_ratioauto

The cheapest way to touch a Gemini image model

🍌 GrsAI Nano Banana is the entry point of the ComfyUI-GrsAI pack: a thin wrapper that turns Google's Nano Banana (the consumer Gemini 2.5 Flash Image model) into a ComfyUI node you pay for per image. If you just want to poke at Google's image model without signing up for a Gemini API key or opening ImageFX in a browser, this is the least-committed on-ramp in the pack. It defaults to nano-banana-fast, which is the budget pick - roughly ¥0.022 per image, about a third of a cent. At that price it's cheap enough to use for iteration and throwaway drafts.

The honest caveat from the community is that "cheap" and "compliant" come together here. Nano Banana is technically impressive - excellent prompt adherence, real image editing - but the KB's corpus work on closed models is blunt about it: "Powerful, unimaginative, massive hidden biasing." It has aggressive, opaque safety filtering, and every output carries Google's invisible SynthID watermark. If you hit a filter wall, that's the model, not this node. Use it for fast drafts and Google-style output, not for anything you need unfiltered.

How it works

Same machinery as the rest of the pack. The node reads your GrsAI key from its own apikey field, sends your prompt (plus any reference images as base64 PNG data URIs) to the GrsAI relay endpoint, downloads the returned image, and hands you a normal IMAGE tensor. Wire nothing into the image inputs and it's text-to-image; wire in one image and it becomes an editor; wire in several and you get multi-image fusion. num_images spawns that many concurrent API calls - each is a separate paid request, so the "batch" is parallel, not batched.

The inputs that matter

  • apikey - your GrsAI key, pasted right into the field. This is what the code reads for this node (see the install section below for the gotcha).
  • prompt - the text. Nano Banana follows prompts well but stays inside Google's guardrails.
  • model - nano-banana-fast (default, cheapest) or nano-banana.
  • num_images - 1–12, each a concurrent request.
  • aspect_ratio - auto plus the ten usual ratios (1:1, 16:9, 9:16, 4:3 … 21:9). Note there's no image_size input on this node - 1K/2K/4K is reserved for the Pro and 2 variants in the pack.
  • image_1image_6 - up to six reference images for editing/fusion.

Outputs: image (tensor → SaveImage) and status (a STRING that reports model, reference-image count, and how many images succeeded - genuinely useful, wire it to a text preview node).

Installing it

It's the pack install, nothing node-specific:

cd ComfyUI/custom_nodes
git clone https://github.com/31702160136/ComfyUI-GrsAI.git
cd ComfyUI-GrsAI
pip install -r requirements.txt

Then restart ComfyUI. Dependencies are just requests, httpx, python-dotenv, Pillow and torch - no model files to download, nothing heavy. Windows portable users should install with .\python_embeded\python.exe -m pip install --force-reinstall -r .\ComfyUI\custom_nodes\ComfyUI-GrsAI\requirements.txt. ComfyUI Manager works too, via "Install via Git URL" - if it refuses the install, the pack's README documents flipping the Manager security_level to weak in config.ini.

Where people get burned

  • Key placement. The README's official flow is a .env file with GRSAI_API_KEY, and that does serve the pack's Flux nodes - but this node reads the apikey field on the widget. Paste the key there and skip the .env ceremony.
  • Filters are the model, not the node. Google's IMAGE_SAFETY filtering got stronger in January 2026, and there's no "safety" toggle on this node to soften it. If the output refuses, rephrase or use a different model.
  • Every run is paid and uncached. IS_CHANGED is pinned to always re-fire, so hitting Queue again re-bills you. A failed call returns a black tensor plus a 失败: ... status string rather than throwing - check the status output.
  • Check your balance when everything comes back failed at once; that's the first thing the relay's error handling trips over.

If you find yourself wanting more headroom than fast gives, the same pack has the Nano Banana 2 and Pro nodes - this one is best as the cheap workhorse.

CategoryGrsAI/Nano Banana

Inputs (11)

NameTypeDefaultDescription
promptSTRINGCreate a high-quality studio shot of a ripe banana on a matte surface, soft shadows, natural lighting.
apikeySTRING请输入您的APIKEY: sk-xxxxxxx
modelCOMBOnano-banana-fast2 options: nano-banana-fast, nano-banana
num_imagesCOMBO112 options: 1, 2, 3, 4, 5, 6, +6
aspect_ratiooptCOMBOauto11 options: auto, 1:1, 16:9, 9:16, 4:3, 3:4, +5
image_1optIMAGE
image_2optIMAGE
image_3optIMAGE
image_4optIMAGE
image_5optIMAGE
image_6optIMAGE

Outputs (2)

NameTypeDescription
imageIMAGE
statusSTRING