Nodes/PopNow/Nano Banana 2.1 · Edit
ComfyUI Node

Nano Banana 2.1 · Edit

14 reference images, 4K out, and a web search before it draws

By popnow-ai·Created 24 days ago·Updated about 20 hours ago· 0
Nano Banana 2.1 · Edit
  • image_urls
  • images
  • task id
◄prompt►
◄aspect_ratioauto►
◄resolution1k►
◄enable_web_searchfalse►
◄enable_image_searchfalse►
◄output_formatpng►

What Nano Banana editing actually buys you

Nano Banana is Google's rebrand of the Gemini-native image model, and the naming is silly enough that it's easy to miss what it's good at. The Pro variant is the flagship - 4K native output, up to 14 reference images, a "thinking mode" that reasons about the layout before it draws, and text rendering that survives multiple languages inside one image. That last capability is the reason designers keep paying for it: no local checkpoint spells "GRAND OPENING - SATURDAY 10AM" correctly at 4K, and this one usually does.

This node is the edit half of the 2.1 line. You hand it one to fourteen source images plus a prompt, and it hands back an IMAGE your graph can upscale, mask, composite, or just save. Local instruction editors like Qwen-Image-Edit are genuinely good now - but they aren't in this model's class on dense text, and they can't look anything up.

How it runs

An API call with a sampler-shaped wrapper around it. Your image batch is encoded (PNG, or high-quality JPEG if over 10 MiB), uploaded once and cached for twelve hours on the file hash, then referenced by opaque popnow:// links in the request. The node quotes the run, submits it with an idempotency key so retries can't double bill, polls until it settles, downloads the results and decodes them into a tensor.

Two flags are unusual enough to be worth dwelling on. enable_web_search and enable_image_search let the model look up current facts or reference pictures before drawing - so "the current F1 podium lineup" or "our 2026 product packaging" can come back correct instead of hallucinated. They're both off by default, they add latency, and they're the one trick a local workflow simply cannot replicate.

The inputs that matter

  • prompt - the author's tooltip is the best edit advice in the pack: "Say what to change and what must stay the same." Edits go wrong when you only state the intent and leave preservation implicit.
  • image_urls - an autogrowing socket group, one to fourteen sources, ordered. The order is how your prompt refers to them: "the second image" means the second socket. Connect one image and another socket appears.
  • aspect_ratio - default auto, which keeps the shape of the source. Override it and you're asking for a reframe, not an edit.
  • resolution - the output size tier, 1k by default; the 4K tier is the expensive one.
  • output_format - png by default; the reason a text-heavy graphic doesn't come back with JPEG ringing around the lettering.
  • enable_web_search, enable_image_search - off unless you need current or referenced material.

Outputs: images (IMAGE) and task id (STRING).

Install

cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui

Restart, then key: create one at popnow.ai/api/console/keys and paste it in Settings > PopNow, or set POPNOW_API_KEY on a server. Restart once more - the node list is rebuilt from your account's catalog at startup. Nothing downloads, no GPU required, no Python extras.

Budget it: from about 7.2 credits an image at the base tier, quoted before each run, with Max credits per run in settings as a hard stop. This is a closed model with a filter - your images leave the machine, and Google's policy decides what comes back. There is no local edit to the weights that changes that, because there are no weights.

Where it bites

Fourteen references is a lot of rope. Ordering confusion is the number one cause of a bad edit - name your references positionally in the prompt, or don't use more than three. PopNow 400 naming a field means that field's value isn't accepted; 40004 means the combination isn't servable, often resolution against aspect ratio. 40201 is credits. content_rejected means the model said no - refunded, but you still lose the prompt.

Keep the task id output wired to something if you're iterating; it's how you find a specific run in the console when a result looks nothing like what you asked for. And keep the key out of the graph: this pack reads it from settings or the environment, never from a widget, precisely so shared workflows don't leak it.

CategoryPopNow/Image/Google

Inputs (7)

NameTypeDefaultDescription
promptSTRINGSay what to change and what must stay the same.
image_urlsCOMFY_AUTOGROW_V3One to 14 source images, in the order your prompt refers to them.
aspect_ratioCOMBOautoOutput aspect ratio; auto keeps the shape of the source image.
resolutionCOMBO1kOutput size tier.
enable_web_searchBOOLEANfalseLook up current facts on the web before drawing.
enable_image_searchBOOLEANfalseLook up reference pictures on the web before drawing.
output_formatCOMBOpngFile format of the result.

Outputs (2)

NameTypeDescription
imagesIMAGE—
task idSTRINGThe PopNow task id, for the API console logs or support.