SF WaveSpeed Nano Banana Pro Text to Image Multi
It always makes exactly two
- client
- output_images
Nano Banana Pro - Google's Gemini 3 Pro image model - is a frontier model you can't download, so if you want it inside ComfyUI you're going through an API. SF WaveSpeed Nano Banana Pro Text to Image Multi is one of the more unusual ways to do that, because of a single odd design choice: the node always produces exactly two images from one prompt. There's a num_images input, but it's locked between min and max of 2. That's not a bug, it's the feature.
Where this genuinely earns its keep is consistency hunting. Generate two variations in a single call, and you can quickly compare two takes on the same prompt without queuing jobs back-to-back. It's also a neat trick for pick-one-of-two A/B workflows, where one call gives you both options at once.
It's part of the comfyui-stillfront pack, under Stillfront/WaveSpeed - API-backed, no local model.
How it works
The node takes your prompt and calls WaveSpeed's nano-banana-pro/text-to-image-multi endpoint with num_images: 2. It returns both image URLs, which the node downloads and stacks into a single batch IMAGE tensor. From your perspective it's one node producing two images at once - a 2-image batch on one output wire.
The inputs are a short list:
prompt- what to generate.aspect_ratio- 3:2, 2:3, 3:4, or 4:3. Notably no 1:1 or 16:9 here; that's the API's constraint, not something you set wrong.output_format- png or jpeg, and the tooltip flags the real reason to care: use PNG for transparency support. If you're compositing the output over anything, png is the only sane choice.enable_sync_mode- default on. Either way the node waits for both images and returns them as a tensor.
Output is a single output_images output, typed IMAGE but holding two images in a batch. Split them apart with a batch-split node if you need them as separate images, or just save the batch.
Installing it
Standard pack install plus a WaveSpeed key:
cd ComfyUI/custom_nodes
git clone https://github.com/razvanmatei-sf/comfyui-stillfront
cd comfyui-stillfront
pip install -r requirements.txt
Restart, then feed a WaveSpeed key in - via the SF WaveSpeed Client node wired into this one, config.ini, or the WAVESPEED_API_KEY env var.
Troubleshooting
- I wanted more than two images. So did a lot of people; the API this node wraps only does pairs. If you need four candidates, run the node twice and batch the results.
- Backgrounds look wrong or the image has an unwanted alpha edge. You're on
jpeg. Switch topng- transparency support is the whole reason that option exists. - One image good, one broken. It happens with any generative model's two-candidate mode; the good one is right there on the other half of the batch.
- Auth errors. Same WaveSpeed key story as every node in this section - check the client node,
config.ini, orWAVESPEED_API_KEY.
Two things to weigh before you lean on this: Nano Banana output carries Google's SynthID watermark and passes through Google's content filtering even when routed via WaveSpeed, so this is not the node for uncensored work. And it bills per image - a two-image call is two billable images, so the "free" second candidate isn't free. It's a convenience, not a deal.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| client | WAVESPEED_AI_API_CLIENT | — | |
| prompt | STRING | Text description of the images to generate | |
| aspect_ratio | COMBO | 3:2 | Aspect ratio of the generated images |
| num_images | INT | 22–2 | Number of images to generate (fixed at 2) |
| output_format | COMBO | png | Output format - use PNG for transparency support |
| enable_sync_mode | BOOLEAN | true | Wait for generation to complete before returning |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output_images | IMAGE | — |