Hormouz AIHormouzSign in

Google: Nano Banana 2 Lite (Gemini 3.1 Flash Lite Image): AI model

Gemini 3.1 Flash Lite Image is Google's fastest, most cost-efficient image model for high-velocity pipelines. Served asynchronously through Hormouz from inside Iran.

Context window:
65,536 tokens
Input:
$0.25/1M tokens
Output:
$1.5/1M tokens
Type:
text, image
  • Vision
  • Streaming

Thinking levels: high · minimal

Gemini 3.1 Flash Lite Image is Google's fastest and most cost-efficient Gemini image model, built for high-velocity developer pipelines and rapid visual exploration. It generates text-to-image results in roughly four seconds while keeping the character consistency and precise editing of the family.

A single flow handles text-to-image, image editing and multi-image composition, with output at 1K resolution across many aspect ratios. Its low cost makes it a fit for prototyping, real-time apps and large-scale visual workflows. It is served through Hormouz behind an asynchronous predictions API.

Pricing is token-based: $0.25 per million input tokens, $1.5 per million output tokens and $30 per million image-output tokens. Hormouz provides stable access to Gemini 3.1 Flash Lite Image from inside Iran, with no foreign credit card or circumvention tooling required.

Nano Banana 2 Lite (Gemini 3.1 Flash Lite Image) is Google's fastest, most cost-efficient Gemini image model, built for high-velocity developer pipelines and rapid-fire visual exploration. It delivers text-to-image generation...

Quickstart

# The image comes back as a data: URI on message.images, not as text.
URL=$(curl -s https://api.hormouz.net/v1/chat/completions \
  -H "Authorization: Bearer ng-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/gemini-3.1-flash-lite-image",
    "modalities": ["image", "text"],
    "messages": [{"role": "user", "content": "A red apple on a wooden table"}]
  }' | jq -r '.choices[0].message.images[0].image_url.url')

# Take the extension from the URI itself — this model may answer png or jpeg.
EXT=$(printf '%s' "$URL" | sed -n 's|^data:image/\([a-z]*\);.*|\1|p')
printf '%s' "$URL" | sed 's/^data:[^,]*,//' | base64 -d > "output.${EXT:-png}"

Specs

VendorGoogle
TypeText, Image
Context window65,536 tokens
Pricing$0.25/M in · $1.50/M out
APIChat Completions
CapabilitiesStreaming · Vision

Code example

cURL
# The image comes back as a data: URI on message.images, not as text.
URL=$(curl -s https://api.hormouz.net/v1/chat/completions \
  -H "Authorization: Bearer ng-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/gemini-3.1-flash-lite-image",
    "modalities": ["image", "text"],
    "messages": [{"role": "user", "content": "A red apple on a wooden table"}]
  }' | jq -r '.choices[0].message.images[0].image_url.url')

# Take the extension from the URI itself — this model may answer png or jpeg.
EXT=$(printf '%s' "$URL" | sed -n 's|^data:image/\([a-z]*\);.*|\1|p')
printf '%s' "$URL" | sed 's/^data:[^,]*,//' | base64 -d > "output.${EXT:-png}"
Python
import base64
from openai import OpenAI

client = OpenAI(api_key="ng-YOUR_API_KEY", base_url="https://api.hormouz.net/v1")
response = client.chat.completions.create(
    model="google/gemini-3.1-flash-lite-image",
    messages=[{"role": "user", "content": "A red apple on a wooden table"}],
    modalities=["image", "text"],
)

# message.content is None on an image reply — the picture is in message.images.
for i, img in enumerate(response.choices[0].message.images or []):
    header, b64 = img["image_url"]["url"].split(",", 1)
    ext = "png" if "image/png" in header else "jpg"
    with open(f"output_{i}.{ext}", "wb") as f:
        f.write(base64.b64decode(b64))
JavaScript
import OpenAI from "openai";
import fs from "node:fs";

const client = new OpenAI({ apiKey: "ng-YOUR_API_KEY", baseURL: "https://api.hormouz.net/v1" });
const response = await client.chat.completions.create({
  model: "google/gemini-3.1-flash-lite-image",
  messages: [{ role: "user", content: "A red apple on a wooden table" }],
  modalities: ["image", "text"],
});

// message.content is null on an image reply — the picture is in message.images.
(response.choices[0].message.images ?? []).forEach((img, i) => {
  const url = img.image_url.url;
  const ext = url.startsWith("data:image/png") ? "png" : "jpg";
  fs.writeFileSync(`output_${i}.${ext}`, Buffer.from(url.slice(url.indexOf(",") + 1), "base64"));
});

Buy the Google: Nano Banana 2 Lite (Gemini 3.1 Flash Lite Image) API, paid in rial

  • Buy credit with an Iranian bank card; no foreign card or account needed.
  • One Hormouz key reaches Google: Nano Banana 2 Lite (Gemini 3.1 Flash Lite Image) and 600+ other models, and you pay only for what you use.
  • No VPN and no risk of a banned account; just change the base URL to api.hormouz.net/v1.
Create an accountBuy Gemini API access, paid in rial

Use via Hormouz

Connect to this model and 600+ others with one API key, then see usage down to each request.

Request company access

FAQ

How much does Gemini 3.1 Flash Lite Image cost?
Billing is token-based: $0.25 per million input tokens, $1.5 per million output tokens and $30 per million image-output tokens. Current rates are shown in the Hormouz dashboard.
How do I access Gemini 3.1 Flash Lite Image from inside Iran?
Create an account on Hormouz and generate an API key. Hormouz provides a stable path to Gemini 3.1 Flash Lite Image from inside Iran, with no foreign credit card or circumvention tooling required.
How is Gemini 3.1 Flash Lite Image served on Hormouz?
On Hormouz, Gemini 3.1 Flash Lite Image is served behind an asynchronous predictions API: submit a prediction, then poll until the result is ready. Point your base URL at Hormouz and use a Hormouz key.
When should I use Gemini 3.1 Flash Lite Image?
Use it when speed and cost matter most: it generates images in about four seconds at low cost, suiting prototyping, real-time apps and large-scale pipelines, while keeping family-level character consistency. It runs on an asynchronous predictions API.

Updated 2026-10-13