uttapen

Gemini 3 Flash Preview vs Nano Banana 2 (Gemini 3.1 Flash Image)

Both sit behind the same key and the same code on uttapen — the only thing that changes is the model string, so you can run each of them against your own workload without touching anything else.

FeatureGemini 3 Flash PreviewNano Banana 2 (Gemini 3.1 Flash Image)
ProviderGoogleGoogle
Model idgoogle/gemini-3-flash-previewgoogle/gemini-3.1-flash-image
Context1,048,576 tokens131,072 tokens
Max output65,536 tokens32,768 tokens
Input / 1M tokens145,063 toman145,063 toman
Output / 1M tokens870,375 toman870,375 toman
≈ one 1,000-word request1,320 toman1,320 toman
Input caching14,506 toman / 1MNo
Image inputYesYes
File inputYesNo
Tool callingYesNo
JSON outputYesYes
Reasoning modeYesYes

Which one for what?

Gemini 3 Flash Preview

  • Multi-step problems, maths, and tracking down a bug
  • Whole documents or a codebase in a single request
  • Reading screenshots, invoices, and scanned forms
  • Agents that call your own APIs and database
1,320 toman per 1,000 words · Model page

Nano Banana 2 (Gemini 3.1 Flash Image)

  • Multi-step problems, maths, and tracking down a bug
  • Reading screenshots, invoices, and scanned forms
1,320 toman per 1,000 words · Model page

Run both with the same code

Swap the model value between the two ids and send the same request twice; what each answer cost comes back in the X-Uttapen-Cost-Toman header.

curl https://api.uttapen.ir/v1/chat/completions \
  -H "Authorization: Bearer sk-up-…" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/gemini-3-flash-preview",
    "messages": [{"role": "user", "content": "Introduce yourself in one sentence."}],
    "stream": true
  }'

model = "google/gemini-3.1-flash-image"

More comparisons: all pairs · model rankings · full catalogue

base_url = https://api.uttapen.ir/v1