Nodes/ComfyUI-OpenRouterImage/Wangsu Banana Image Generator
ComfyUI Node

Wangsu Banana Image Generator

The same Gemini image models, minus the OpenRouter middleman

By zuojianghua·Created 6 months ago·Updated 2 months ago· 1
Wangsu Banana Image Generator
  • image1
  • image2
  • image3
  • image4
  • image5
  • image6
  • image7
  • image8
  • image9
  • image10
  • image
  • status
system_promptYou are an expert image generation assistant. Create high-quality, detailed images based on the user's description.
user_promptA beautiful landscape with mountains and a sunset
modelgemini-3-pro-image-preview
resolution1K
aspect_ratio1:1
temperature0.60
seed-1

This is the pack's other Gemini node, and it does the exact same trick as its big sibling - call Google's image models through an API and hand the result back as a ComfyUI tensor - except the request goes to Wangsu instead of OpenRouter. "Banana" is the giveaway: it's the community's shorthand for the Nano Banana / Gemini image stack, and this node only offers the two current members of it, gemini-3-pro-image-preview and gemini-3.1-flash-image-preview.

Why would you use this when the main node exists? Same reason people pick any reseller over first-party: region, billing, and price. Wangsu is a large Chinese CDN and cloud outfit that resells the same Google models on OpenAI-compatible endpoints, which makes this the on-ramp if OpenRouter or Google Cloud isn't payable or reachable where you live. If you already have a Wangsu account, this is a one-line .env change to keep working in ComfyUI. If you don't, honestly, just use the OpenRouter node - there's no quality difference, because it's literally the same model behind both.

How it works

The mechanism is near-identical to the OpenRouter node: the OpenAI SDK, chat.completions.create, and an extra_body with modalities: ["image", "text"], an image_config (plus a mirrored eca_image_config) carrying resolution and aspect ratio. Two real differences. First, your system_prompt is folded into the user message as a text block rather than sent as a real system role - worth knowing if you're porting prompts and wondering why a system instruction feels weaker. Second, the returned image is usually an actual URL (sometimes a data: URL), which the node downloads itself with a 60-second timeout. So you need outbound access to Wangsu's servers, not just the API endpoint.

The inputs that matter

It has two inputs the main node lacks, and they're why you'd pick it for iteration:

  • temperature - 0 to 2, default 0.6. The tooltip says it all: 0 is deterministic, higher is more creative. This is the main way to steer how wild generations get.
  • seed - -1 (random each run) up to a 32-bit max. Set a fixed seed and you can actually reproduce a generation, which is more than the pack's other nodes offer.

Everything else is familiar: system_prompt, user_prompt, model, resolution (0.5K–4K), aspect_ratio (seven ratios), and optional image1image10 for reference images. Outputs are image and status. Same 0.5K restriction as the main node - it's rejected unless the model is the 3.1 Flash.

Install

Same pack, same install: ComfyUI Manager → search OpenRouterImage, or clone and pip install -r requirements.txt. The one extra step is pointing it at Wangsu in the node's .env file:

cd ComfyUI/custom_nodes/ComfyUI-OpenRouterImage
echo 'WANGSU_BASE_URL=https://your-wangsu-endpoint' >> .env
echo 'WANGSU_API_KEY=your-key' >> .env

Restart and it'll appear under image_generation as "Wangsu Banana Image Generator."

Two honest caveats

First, this node is undocumented - the pack README only describes the OpenRouter node; the .env variable names in the code and .env_example are the real documentation. That's a hint about the pack's maturity, not a problem with the node itself, but go in eyes open. Second, the model is still Google's, so everything that's true of Gemini applies: per-call cost, prompts and reference images leaving your machine, content-policy refusals at the source, SynthID watermark. The reseller changes the billing, not the model.

Categoryimage_generation

Inputs (17)

NameTypeDefaultDescription
system_promptSTRINGYou are an expert image generation assistant. Create high-quality, detailed images based on the user's description.
user_promptSTRINGA beautiful landscape with mountains and a sunset
modelCOMBOgemini-3-pro-image-preview2 options: gemini-3-pro-image-preview, gemini-3.1-flash-image-preview
resolutionCOMBO1K4 options: 0.5K, 1K, 2K, 4K
aspect_ratioCOMBO1:17 options: 1:1, 2:3, 3:2, 16:9, 9:16, 4:3, +1
temperatureFLOAT0.600–2Controls randomness: 0 = deterministic, higher = more creative
seedINT-1-1–2147483647Seed for reproducible generation. -1 = random each run
image1optIMAGE
image2optIMAGE
image3optIMAGE
image4optIMAGE
image5optIMAGE
image6optIMAGE
image7optIMAGE
image8optIMAGE
image9optIMAGE
image10optIMAGE

Outputs (2)

NameTypeDescription
imageIMAGE
statusSTRING