Google Nano Banana 2 Text To Image (Channel Edition)
The Channel Edition T2I node
- api_config
- image
- request_id
- urls
"Nano Banana" is what the community calls Google's Gemini image model - the closed-weight one that, the moment it shipped, people were calling "probably the best edit image model" and comparing head-to-head against Qwen-Image-Edit. Nano Banana 2 is the follow-up generation, and this node is how you drive it from inside ComfyUI without ever downloading a checkpoint or burning a kilowatt of VRAM. It is an API node, not a local sampler. Everything runs on SiliconFlow's BizyAir cloud; your machine just sends the prompt and pulls back the finished image.
What this node actually is
This is the Channel Edition of the text-to-image wrapper. Look in the pack and you'll see two flavors of every model - "Channel" (these _Base_ classes) and "Official" (_Official_). Both hit the same BizyAir API with the same key; the difference is the serving path. Channel uses BizyAir's own hosting of the model, which is why the input surface is deliberately small: prompt, resolution, aspect_ratio. No seed, no temperature, no web search. If you want the full vendor knob set, grab the Official Edition node instead. For most "I just want a nice image" work, this pared-down version is the one you'll actually reach for.
How it works
Queuing the workflow doesn't run diffusion locally. The node uploads your inputs to api.bizyair.ai, submits a generation task to the nano-banana-2-base/text-to-image endpoint, then polls until it finishes and downloads the result back into ComfyUI as a native IMAGE tensor. That's why there's no GPU load, no model files, and no models/ folder to fill - the trade is that your prompt leaves your machine and the whole thing is metered and billed through your BizyAir account.
Inputs that matter
- prompt - the whole job lives here. Nano Banana speaks fluent natural-language instruction ("a ceramic banana in a rainy alley, cinematic light"), so don't bother with comma-stacked tags.
- resolution - dropdown, defaults to
2K. Go down a notch if you're iterating. - aspect_ratio - defaults to
4:3on this node; pick the shape you're actually going to use. - api_config - per-request override of the base URL and API key. You can mostly ignore it; it's there for testing a different endpoint or a second key.
- skip_error - flip this on and a failed request returns a placeholder image instead of killing the whole workflow.
You get three outputs: image (wire that to a preview or save node), request_id (a string you can show support when something breaks), and urls (direct links to the generated files).
Installing and getting a key
Install the pack through ComfyUI Manager (search "BizyAirPlus") or manually:
cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/siliconflow/BizyAirPlus.git
cd BizyAirPlus
python -m pip install -r requirements.txt
Restart ComfyUI, then create an account at bizyair.ai and grab an API key. Set it under Settings > BizyAirPlus > API Key, or drop BIZYAIR_API_KEY in your environment before launching. Then click the BizyAirPlus button in the action bar until it reads ON - the node does nothing until that toggle is on.
Gotchas
The common failure is a valid-looking workflow that just hangs - that's usually the API key missing or the cloud toggle still off, not the node being broken. Check the ComfyUI console for the real error, and remember python -m pip show bizyair-cloudberry to confirm the runtime installed into the same Python ComfyUI uses. And since this is a paid, remote service, your prompts are visible to SiliconFlow's servers - don't send anything you wouldn't paste into a cloud API.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Prompts | |
| resolution | COMBO | 2K | Resolution |
| aspect_ratioopt | COMBO | 4:3 | Aspect ratio |
| 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 | — |