uttapen

Gemini 3.1 Pro Preview Custom Tools vs Nano Banana Pro (Gemini 3 Pro 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.1 Pro Preview Custom ToolsNano Banana Pro (Gemini 3 Pro Image)
ProviderGoogleGoogle
Model idgoogle/gemini-3.1-pro-preview-customtoolsgoogle/gemini-3-pro-image
Context1,048,576 tokens131,072 tokens
Max output65,536 tokens32,768 tokens
Input / 1M tokens580,250 toman580,250 toman
Output / 1M tokens3,481,500 toman3,481,500 toman
≈ one 1,000-word request5,280 toman5,280 toman
Input caching58,025 toman / 1M58,025 toman / 1M
Image inputYesYes
File inputYesNo
Tool callingYesYes
JSON outputYesYes
Reasoning modeYesYes

Which one for what?

Gemini 3.1 Pro Preview Custom Tools

  • 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
5,280 toman per 1,000 words · Model page

Nano Banana Pro (Gemini 3 Pro Image)

  • Multi-step problems, maths, and tracking down a bug
  • Reading screenshots, invoices, and scanned forms
  • Agents that call your own APIs and database
5,280 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.1-pro-preview-customtools",
    "messages": [{"role": "user", "content": "Introduce yourself in one sentence."}],
    "stream": true
  }'

model = "google/gemini-3-pro-image"

More comparisons: all pairs · model rankings · full catalogue

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