CatsAPI Nano Banana Pro
The 4K, thinking-mode flagship behind a paywall
- reference_image
- images
- file_paths
- cost_coins
- task_id
- metadata
Google's flagship image model - Nano Banana Pro, built on Gemini 3 Pro Image - is the one people call "powerful but unimaginative" and then keep coming back to, because it does things no open model matches. It thinks about the prompt before generating, renders multi-language text cleanly, and outputs 4K natively. It's also, obviously, closed: no weights, no download, no local route. CatsAPINanoBananaPro is one of seven nodes in the ComfyUI_Catsapi pack that reach such models through a paid endpoint at catsapi.com and hand the result back as a normal ComfyUI tensor.
The inputs
prompt- multiline text. Pro's "thinking mode" means you can get away with a looser prompt and let the model reason through it - that's the headline feature, and it's automatic on this node, not a toggle.resolution-1K,2K, or4K. Note the missing512px: Pro starts at 1K. There's no cheap draft tier here, which is a deliberate signal about what this node is for.aspect_ratio- ten presets,1:1through21:9,16:9, the standard set, down to9:16. No extreme banner ratios like its little sibling Nano Banana 2.num_images- 1 to 4 per run.max_coins- spending cap;0= uncapped. At Pro's per-image price, set this before you batch.reference_image(optional) - up to fourIMAGEtensors. Pro is famous for taking many references and holding identity across them; four is plenty for real composition work.api_key_override(optional) - leave blank locally.
Outputs are the pack standard: images (a real IMAGE tensor → Preview Image), file_paths, cost_coins, task_id, metadata. Results land in ComfyUI/output/catsapi/.
Why you'd pick Pro over its sibling
The two Nano Banana nodes in this pack make a clean pair. Nano Banana 2 is the speed/price hybrid - 512px drafts, cheap iteration, extreme aspect ratios. Pro is the "when it has to be good" button: 4K native, thinking mode, the best text rendering of the family. If a deliverable is going to be looked at closely, this is the one. Just don't use it for the fifty-variant exploration phase; that's what the hybrid and a 512px draft are for. The per-image cost difference is exactly why Google tiers them this way, and resellers undercut Google's $0.039–0.24 pricing but don't eliminate it.
How it works
Identical skeleton to every node in the pack: preview cost, check max_coins, submit, poll every three seconds (15-minute timeout), download with browser headers and a curl fallback for CDN bot checks. The node is a thin HTTP client; all the "thinking" happens on Google's servers.
Install and the key
cd ComfyUI/custom_nodes
git clone https://github.com/maodeyu180/ComfyUI_Catsapi.git
# restart ComfyUI
No extra Python dependencies - urllib plus numpy/PIL/torch that ComfyUI already bundles. You need a paid CatsAPI key from catsapi.com (starts with cats-):
export CATSAPI_API_KEY=cats-your-key
python main.py
Shell env not inherited? Use a .env or ~/.catsapi.env file; the node reads both.
Where people get burned
Same trio as the rest of the pack: inputs leave the machine (Google's filter rides along no matter the reseller), don't share a workflow with api_key_override filled in, and the provider - catsapi.com - is a young Chinese reseller with no English-community footprint, so confirm pricing in cat-coins before you run a 4K batch. And the "unimaginative" critique is worth respecting: Pro follows instructions to the letter, so if your output feels stiff, that's not a settings problem - it's a prompt problem. Start at 1K, one image, and check cost_coins before you scale up to the expensive stuff.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| resolution | COMBO | 2K | 3 options: 1K, 2K, 4K |
| aspect_ratio | COMBO | 1:1 | 10 options: 1:1, 21:9, 16:9, 3:2, 4:3, 5:4, +4 |
| num_images | INT | 11–4 | — |
| max_coins | INT | 00–100000 | — |
| reference_imageopt | IMAGE | — | |
| api_key_overrideopt | STRING | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| file_paths | STRING | — |
| cost_coins | INT | — |
| task_id | STRING | — |
| metadata | STRING | — |