Google Nano Banana 2 Text To Image (Official Edition)
Seed and web search included
- api_config
- image
- request_id
- urls
Nano Banana is Google's Gemini image model - closed weights, no local checkpoint, but genuinely one of the best text-and-edit image models around. If you've been eyeballing it from the r/comfyui and r/StableDiffusion threads while your GPU chokes, the BizyAir nodes are the sanctioned way to run it inside ComfyUI without renting a cloud GPU or leaving the app. This particular one is the Official Edition of Nano Banana 2 text-to-image, which means it talks to the vendor's official API surface through BizyAir - and that shows up as a much richer parameter list than the Channel Edition's.
Official vs Channel, in one paragraph
Both editions use the same BizyAir key and the same api.bizyair.ai gateway. The difference is which endpoint path the request lands on: nano-banana-2-official/text-to-image here, versus the trimmed nano-banana-2-base channel on the other node. Official mirrors what Google's own API exposes, so you get seed, web_search, and the full resolution/aspect dropdowns. The Channel node is the simplified, cheaper-defaults cousin. Reach for this one when reproducibility or the vendor's exact behavior matters - e.g. you're building a workflow you want to tune and lock down.
How it works
The node is a thin client over BizyAir's cloud: it uploads your inputs, POSTs to the endpoint, polls until the job lands, then downloads the result back into ComfyUI as a native IMAGE. No model downloads, no VRAM. The cost is that your prompt is processed remotely and every job is metered on your BizyAir credits.
Inputs worth knowing
- prompt - the whole thing. Natural language beats tag soup here; Nano Banana is built for instructions.
- resolution - defaults to
2K; drop it while iterating and bump up for finals. - aspect_ratio - defaults to
16:9. - seed - an integer, default
0. Set it and you can reproduce a result; the tooltip's honest about the range being0–2147483647. - web_search - defaults to on. This is the interesting one: it lets the model pull real-world context (brands, landmarks, references) during generation. Leave it on unless you want strictly model-internal output.
- api_config / skip_error - the pack-wide optional pair: per-request base_url/key override, and the switch that turns errors into placeholder images instead of workflow-killing exceptions.
Outputs: image (into a preview or save node), plus request_id and urls for support and direct file links.
Install and key
Install via ComfyUI Manager (search "BizyAirPlus") or:
cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/siliconflow/BizyAirPlus.git
cd BizyAirPlus
python -m pip install -r requirements.txt
Restart, then grab a key at bizyair.ai and set it in Settings > BizyAirPlus > API Key (or BIZYAIR_API_KEY env var). Flip the BizyAirPlus action-bar button ON - every one of these API nodes stays inert while that toggle is off.
Where people get burned
Mostly at setup: the node looks broken but is actually waiting on a missing key, a still-off cloud toggle, or a firewall blocking api.bizyair.ai. Check the ComfyUI console, confirm python -m pip show bizyair-cloudberry shows the package, and make sure the install landed in ComfyUI's own Python. And remember the privacy trade: this is a hosted, billed service, so your prompts leave the machine.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Prompts | |
| resolution | COMBO | 2K | Resolution |
| aspect_ratioopt | COMBO | 16:9 | Aspect ratio |
| seedopt | INT | 0-1–2147483647 | Input range value: 0-2147483647 seed integer to control randomness of generated content. |
| web_searchopt | BOOLEAN | true | Internet search |
| api_configopt | BIZYAIR_OPENAPI_CONFIG | 单次请求覆盖base_url和api_key | |
| skip_erroropt | BOOLEAN | false | 开启后遇到错误不中断工作流,输出对应类型的错误占位符 |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| request_id | STRING | — |
| urls | STRING | — |