Model Details
Nano Banana 2 Lite is the entry tier of the Nano Banana 2 family: it turns a text prompt into a single 1K image (roughly 1 megapixel, 1024x1024 for a square) and is the cheapest way to run this family. Resolution is fixed, so the only shape control is `aspect_ratio` — and it is unusually broad, covering 14 ratios from `1:1` and `16:9` through `21:9` and true banner shapes like `4:1`, `8:1`, `1:4` and `1:8`. Reach for it when you want the family's prompt following and in-image text at high volume: draft passes, thumbnails, social crops and placeholder art.
## Best for - High-volume text-to-image generation where a 1K render is enough - Iterating on a prompt cheaply before committing to a higher-resolution render - Ultra-wide banners and tall skyscraper graphics (`4:1`, `8:1`, `1:4`, `1:8`) - Social formats — `9:16` stories, `4:5` feed posts, `16:9` covers - Blog, app and slide placeholder imagery generated on demand
## Choose another model when - You need a 2K or 4K render — this model only produces 1K; use a higher-resolution text-to-image model - You want to change an existing picture rather than create one — use an image-editing model that accepts a reference image - Your image has to reflect live web information — this model cannot search the web while generating - You need several variations in one call — each run returns exactly one image, so issue multiple runs
## Tips - Give subject, framing and lighting each their own clause; structured sentences beat keyword lists - Choose the aspect ratio first: at `8:1` or `1:8` describe a scene that genuinely spans the frame, or the composition reads as a crop - For legible text inside the image, quote the exact string and keep it short
## Limitations - Fixed 1K output, so dense infographics and large-format prints lose fine detail - Text fidelity drops as the rendered string gets longer - Extreme ratios can stretch or repeat background elements
## Safety & Content Moderation `safety_settings` is API-only and sets a blocking threshold per harm category. Each entry is `{ category, threshold }` where `category` is one of `HARM_CATEGORY_HARASSMENT`, `HARM_CATEGORY_HATE_SPEECH`, `HARM_CATEGORY_SEXUALLY_EXPLICIT` or `HARM_CATEGORY_DANGEROUS_CONTENT`, and `threshold` is one of `OFF`, `BLOCK_NONE`, `BLOCK_ONLY_HIGH`, `BLOCK_MEDIUM_AND_ABOVE` or `BLOCK_LOW_AND_ABOVE`. Omit the field to use the service defaults. A blocked generation returns an error rather than an image.
To run via the ModelRunner JavaScript client: ```js import { modelrunner } from "@modelrunner/client";
const result = await modelrunner.subscribe("google/nano-banana-2-lite", { input: { prompt: "A minimalist banner of mountains at sunset, soft gradient sky, flat vector illustration", aspect_ratio: "4:1", }, }); ```



