“A glass cube on a wooden table. Inside the cube is a small blue sphere. On top of the cube sits a red book. A green plant is behind the cube, partially visible through the glass. Soft window light from the left.”
Nano Banana 2 Lite
AI Image Editing Model
The lightweight, low-cost variant of Nano Banana 2 (Gemini 3.1 Flash Image). Ultra-low-latency image generation and editing at a fixed 1K resolution, designed for high-volume interactive use cases.
Capabilities
Details
gemini-3.1-flash-lite-image
Ready to integrate?
Access gemini-3.1-flash-lite-image via our unified API.
Starting from
Batch from $0.017/image via Gemini API, Vertex AI
Prices shown are in USD
See all providersProvider Performance
Fastest generation through gemini at 5,545ms median latency with 55.6% success rate.
Aggregated from real API requests over the last 30 days.
Generation Time
Success Rate
Time to First Byte
Provider Rankings
| # | Provider | p50 Gen Time | p95 Gen Time | Success Rate | TTFB (p50) |
|---|---|---|---|---|---|
| 1 | gemini | 5,545ms | 6,928ms | 55.6% | 5,138ms |
| 2 | vertex | 8,103ms | 9,704ms | 100.0% | 7,789ms |
Providers & Pricing (5)
Nano Banana 2 Lite is available from 5 providers, with per-image pricing starting at $0.0168 through Replicate.
replicate/gemini-3.1-flash-lite-image
Output
Pricing Notes (2)
- • $0.034 per output image
- • Output images are fixed at 1K (~1 megapixel); for 2K/4K use Nano Banana 2
fal/gemini-3.1-flash-lite-image
Output
Pricing Notes (3)
- • fal bills by tokens: image output $37.50 / 1M tokens; text output $1.875 / 1M; text/image input $0.3125 / 1M
- • Output images are fixed at 1K (1024x1024px, 1120 tokens) => $0.042 per output image
- • Billed as a flat per-image rate; incidental input text/image token costs are not itemized
fal/gemini-3.1-flash-lite-image-edit
Output
Pricing Notes (3)
- • fal bills by tokens: image output $37.50 / 1M tokens; text output $1.875 / 1M; text/image input $0.3125 / 1M
- • Output images are fixed at 1K (1024x1024px, 1120 tokens) => $0.042 per output image
- • Billed as a flat per-image rate; incidental input text/image token costs are not itemized
gemini/gemini-3.1-flash-lite-image
Input
Output
Pricing Notes (3)
- • Ultra-low-cost lite variant of Nano Banana 2; output images are fixed at 1K (1024x1024px, 1120 tokens)
- • $0.0336 per output image at 1K (1120 tokens @ $30.00 / 1M image output tokens)
- • Batch mode: $0.0168 per output image at 1K ($15.00 / 1M image output tokens)
vertex/gemini-3.1-flash-lite-image
Input
Output
Pricing Notes (3)
- • Ultra-low-cost lite variant of Nano Banana 2; output images are fixed at 1K (1024x1024px, 1120 tokens)
- • $0.0336 per output image at 1K (1120 tokens @ $30.00 / 1M image output tokens)
- • Batch mode: $0.0168 per output image at 1K ($15.00 / 1M image output tokens)
gemini-3.1-flash-image-lite API OpenAI-compatible
https://api.lumenfall.ai/openai/v1
gemini-3.1-flash-lite-image
Code Examples
Text to Image
/v1/images/generationscurl -X POST \
https://api.lumenfall.ai/openai/v1/images/generations \
-H "Authorization: Bearer $LUMENFALL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3.1-flash-lite-image",
"prompt": "",
"size": "1024x1024"
}'
# Response:
# { "created": 1234567890, "data": [{ "url": "https://...", "revised_prompt": "..." }] }
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.lumenfall.ai/openai/v1'
});
const response = await client.images.generate({
model: 'gemini-3.1-flash-lite-image',
prompt: '',
size: '1024x1024'
});
// { created: 1234567890, data: [{ url: "https://...", revised_prompt: "..." }] }
console.log(response.data[0].url);
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.lumenfall.ai/openai/v1"
)
response = client.images.generate(
model="gemini-3.1-flash-lite-image",
prompt="",
size="1024x1024"
)
# { created: 1234567890, data: [{ url: "https://...", revised_prompt: "..." }] }
print(response.data[0].url)
Image Edit
/v1/images/editscurl -X POST \
https://api.lumenfall.ai/openai/v1/images/edits \
-H "Authorization: Bearer $LUMENFALL_API_KEY" \
-F "model=gemini-3.1-flash-lite-image" \
-F "[email protected]" \
-F "prompt=Add a starry night sky to this image" \
-F "size=1024x1024"
# Response:
# { "created": 1234567890, "data": [{ "url": "https://...", "revised_prompt": "..." }] }
import OpenAI from 'openai';
import fs from 'fs';
const client = new OpenAI({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.lumenfall.ai/openai/v1'
});
const response = await client.images.edit({
model: 'gemini-3.1-flash-lite-image',
image: fs.createReadStream('source.png'),
prompt: 'Add a starry night sky to this image',
size: '1024x1024'
});
// { created: 1234567890, data: [{ url: "https://...", revised_prompt: "..." }] }
console.log(response.data[0].url);
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.lumenfall.ai/openai/v1"
)
response = client.images.edit(
model="gemini-3.1-flash-lite-image",
image=open("source.png", "rb"),
prompt="Add a starry night sky to this image",
size="1024x1024"
)
# { created: 1234567890, data: [{ url: "https://...", revised_prompt: "..." }] }
print(response.data[0].url)
Parameter Normalization
How we handle parameters across different providers
Not every provider speaks the same language. When you send a parameter, we handle it in one of four ways depending on what the model supports:
| Behavior | What happens | Example |
|---|---|---|
passthrough |
Sent as-is to the provider | style, quality |
renamed |
Same value, mapped to the field name the provider expects | prompt |
converted |
Transformed to the provider's native format | size |
emulated |
Works even if the provider has no concept of it | n, response_format |
Parameters we don't recognize pass straight through to the upstream API, so provider-specific options still work.
Nano Banana 2 Lite Benchmarks
Nano Banana 2 Lite is ranked #27 in Text-to-Image with an Elo of 1223 and #17 in Image Editing with an Elo of 1189 on the Lumenfall Arena, where real users pick the better image in blind comparisons. These rankings are based on 1 blind-vote competition.
Text-to-Image Landscape
Elo vs Cost
1 model without pricing omitted.
Elo vs Speed
8 models waiting for enough speed data.
Image Editing Landscape
Elo vs Cost
1 model without pricing omitted.
Elo vs Speed
2 models waiting for enough speed data.
Competition Results
“A glass cube on a wooden table. Inside the cube is a small blue sphere. On top of the cube sits a red book. A green plant is behind the cube, partially visible through the glass. Soft window light from the left.”
“A glass cube on a wooden table. Inside the cube is a small blue sphere. On top of the cube sits a red book. A green plant is behind the cube, partially visible through the glass. Soft window light from the left.”
“A glass cube on a wooden table. Inside the cube is a small blue sphere. On top of the cube sits a red book. A green plant is behind the cube, partially visible through the glass. Soft window light from the left.”
Nano Banana 2 Lite is best for
See all Use CasesGallery
View all 8 imagesNano Banana 2 Lite FAQ
How much does Nano Banana 2 Lite cost?
Nano Banana 2 Lite starts at $0.0168 per image through Lumenfall. Pricing varies by provider. Lumenfall does not add any markup to provider pricing.
What can Nano Banana 2 Lite do?
Nano Banana 2 Lite supports Batch and System prompt. It accepts text and image input and produces text and image output.
How do I use Nano Banana 2 Lite via API?
You can use Nano Banana 2 Lite through Lumenfall's OpenAI-compatible API. Send requests to the unified endpoint with model ID "gemini-3.1-flash-lite-image". Code examples are available in Python, JavaScript, and cURL.
Which providers offer Nano Banana 2 Lite?
Nano Banana 2 Lite is available through Vertex AI, Replicate, Gemini API, and fal.ai on Lumenfall. Lumenfall automatically routes requests to the best available provider.
What is the maximum resolution for Nano Banana 2 Lite?
Nano Banana 2 Lite supports images up to 1024x1024 resolution.
Try Nano Banana 2 Lite in Playground
Generate images with custom prompts — no API key needed.