Nano Banana Text-to-Image (fal)
Generate with Google's Gemini image model
- IMAGE
Nano Banana - Google's Gemini image model - mostly makes its name as an editor, but it generates from scratch too. NanoBananaTextToImage is the plain text-to-image node for it: type a prompt, get a native ComfyUI IMAGE back. It's strong at prompt-following and legible text, and it offers a wide range of aspect ratios out of the box. It runs through fal in gokayfem's ComfyUI-fal-API pack, so there's no local model and no VRAM - just a per-image bill.
Reach for it when you want Google's image quality and instruction-following without leaving your ComfyUI graph, and when you don't have a source image to edit (for that, use NanoBananaEdit in the same pack).
How it works
The node sends your prompt to fal, Gemini generates the image on Google's side, and it comes back as a native IMAGE ready to preview or save. No sampler, no scheduler, no local weights - the model handles all of that server-side; you're steering with words and a couple of format choices.
The inputs and outputs that matter
prompt- the whole show. Nano Banana reads natural-language instructions well and renders text more reliably than most, so write clearly and quote any words you want to appear.aspect_ratio- an unusually wide menu:1:1,4:3,3:2,2:3,5:4,4:5,3:4,16:9,9:16,21:9. Pick the shape you actually need instead of cropping later.num_images(1–4) - batch a few and choose the best.
There's also output_format (png / jpeg) and sync_mode. The single output is an IMAGE.
How to install it
Via ComfyUI Manager: search ComfyUI-fal-API, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/gokayfem/ComfyUI-fal-API.git
pip install -r ComfyUI-fal-API/requirements.txt
No models download. Add a fal API key to config.ini under [API] (from config.ini.example) or export FAL_KEY=your_key, restart, and find it under FAL.
Common issues & troubleshooting
- Auth error.
FAL_KEYnot set. Fix and restart. - Text came out garbled. Quote the exact words and keep them short. Even a strong model degrades on long strings of text.
- A prompt gets refused. Google's content filtering runs server-side; the pack surfaces fal's real error, so a policy rejection will tell you so. Rephrase.
- Cost. Each image is a paid API call, and
num_images > 1multiplies it. The result cache serves repeat identical calls free (force_rerunbypasses); the spend guard caps a session. - Windows Portable. Missing
fal-client?python_embeded\python.exe -m pip install fal-client.
It's a clean, capable text-to-image button with better text rendering and more aspect ratios than most. For high-volume, unlimited work your local models still win on cost - but when you want Google's quality and prompt adherence on tap, this is the node.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| aspect_ratioopt | COMBO | 1:1 | 10 options: 21:9, 1:1, 4:3, 3:2, 2:3, 5:4, +4 |
| num_imagesopt | INT | 11–4 | — |
| output_formatopt | COMBO | png | 2 options: jpeg, png |
| sync_modeopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |