per 1M tokens
Google: Gemini 3.1 Pro Preview
google/gemini-3.1-pro-preview
Gemini 3.1 Pro Preview is Google’s frontier reasoning model, delivering enhanced software engineering performance, improved agentic reliability, and more efficient token usage across complex workflows. Building on the multimodal foundation...
Price
per 1M tokens
Providers
Each row is one seller. Prices are the published rate from that source. A dash means that source did not publish the amount. Sorted by a 3:1 blend of input and output.
| Provider | Tag | Quant | Input | Output | Context | Uptime | Status | Source |
|---|---|---|---|---|---|---|---|---|
| google-vertex/global/flex | — | $1/1M | $6/1M | 1.0M | — | Live | openrouter-endpoints | |
| Google AI Studio | google-ai-studio/flex | — | $1/1M | $6/1M | 1.0M | 100% | Live | openrouter-endpoints |
| AtlasCloud | — | fp8 | $2/1M | $12/1M | 1M | — | Listed | atlascloud |
| google-vertex/global | — | $2/1M | $12/1M | 1.0M | 100% | Live | openrouter-endpoints | |
| Google AI Studio | google-ai-studio | — | $2/1M | $12/1M | 1.0M | 100% | Live | openrouter-endpoints |
| Inference.net | — | — | $2/1M | $12/1M | 1.0M | — | Listed | inferencenet |
| Phala | — | — | $4/1M | $18/1M | 1.0M | — | Listed | phala |
| google-vertex/global/priority | — | $3.6/1M | $21.6/1M | 1.0M | — | Live | openrouter-endpoints | |
| Google AI Studio | google-ai-studio/priority | — | $3.6/1M | $21.6/1M | 1.0M | — | Live | openrouter-endpoints |
Monthly bill
Token models use the token counts. Image, video, and audio models use units times the flat rate.
$14.00 at list price for this workload
Cache
per 1M tokens
per 1M tokens
Tiers
- Web search
- $0.014 per request
- Image input
- $2 per 1M tokens
- Audio
- $2 per 1M tokens
- Audio cache
- $0.2 per 1M tokens
- Reasoning
- $12 per 1M tokens
- Above 200,000 prompt tokens
- in $4 · out $18 · cache read $0.4 · audio $4
Every rate
| Unit | Input | Output | Flat | Confidence |
|---|---|---|---|---|
| token | $2/1M | $12/1M | Not published— | official |
Price history
input or flat output
Daily snapshots
| UTC date | Unit | Input | Output | Flat |
|---|---|---|---|---|
| 2026-09-15 | token | $2 | $12 | Not published— |
| 2026-09-16 | token | $2 | $12 | Not published— |
| 2026-09-17 | token | $2 | $12 | Not published— |
| 2026-09-18 | token | $2 | $12 | Not published— |
| 2026-09-19 | token | $2 | $12 | Not published— |
| 2026-09-20 | token | $2 | $12 | Not published— |
| 2026-09-21 | token | $2 | $12 | Not published— |
| 2026-09-22 | token | $2 | $12 | Not published— |
| 2026-09-23 | token | $2 | $12 | Not published— |
| 2026-09-24 | token | $2 | $12 | Not published— |
| 2026-09-25 | token | $2 | $12 | Not published— |
| 2026-09-26 | token | $2 | $12 | Not published— |
| 2026-09-27 | token | $2 | $12 | Not published— |
| 2026-09-28 | token | $2 | $12 | Not published— |
| 2026-09-29 | token | $2 | $12 | Not published— |
| 2026-09-30 | token | $2 | $12 | Not published— |
| 2026-10-01 | token | $2 | $12 | Not published— |
| 2026-10-02 | token | $2 | $12 | Not published— |
| 2026-10-03 | token | $2 | $12 | Not published— |
| 2026-10-04 | token | $2 | $12 | Not published— |
| 2026-10-05 | token | $2 | $12 | Not published— |
| 2026-10-06 | token | $2 | $12 | Not published— |
| 2026-10-07 | token | $2 | $12 | Not published— |
| 2026-10-08 | token | $2 | $12 | Not published— |
| 2026-10-09 | token | $2 | $12 | Not published— |
| 2026-10-10 | token | $2 | $12 | Not published— |
| 2026-10-11 | token | $2 | $12 | Not published— |
| 2026-10-12 | token | $2 | $12 | Not published— |
| 2026-10-13 | token | $2 | $12 | Not published— |
| 2026-10-14 | token | $2 | $12 | Not published— |
| 2026-10-15 | token | $2 | $12 | Not published— |
| 2026-10-16 | token | $2 | $12 | Not published— |
| 2026-10-17 | token | $2 | $12 | Not published— |
| 2026-10-18 | token | $2 | $12 | Not published— |
| 2026-10-19 | token | $2 | $12 | Not published— |
| 2026-10-20 | token | $2 | $12 | Not published— |
| 2026-10-21 | token | $2 | $12 | Not published— |
| 2026-10-22 | token | $2 | $12 | Not published— |
| 2026-10-23 | token | $2 | $12 | Not published— |
| 2026-10-24 | token | $2 | $12 | Not published— |
| 2026-10-25 | token | $2 | $12 | Not published— |
| 2026-10-26 | token | $2 | $12 | Not published— |
| 2026-10-27 | token | $2 | $12 | Not published— |
| 2026-10-28 | token | $2 | $12 | Not published— |
| 2026-10-29 | token | $2 | $12 | Not published— |
| 2026-10-30 | token | $2 | $12 | Not published— |
Alternatives
- Google: Gemini 3.1 Pro Preview Custom Tools$2/1M · Compare
- Google: Gemini 3.5 Transcribe$2/1M · Compare
- Google: Gemini 4 Argon$2/1M · Compare
- Google: Gemini Pro Latest$2/1M · Compare
- Gemini 4 Argon$1.6/1M · Compare
- Gemini 3.5 Flash$1.5/1M · Compare
Parameters (12)
Call this model
OpenRouter id google/gemini-3.1-pro-preview. InferenceList does not send the request.
curl
curl https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"google/gemini-3.1-pro-preview","messages":[{"role":"user","content":"Hello"}]}'
JavaScript
await fetch("https://openrouter.ai/api/v1/chat/completions", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.OPENROUTER_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "google/gemini-3.1-pro-preview",
messages: [{ role: "user", content: "Hello" }],
}),
});
Python
import os, json, urllib.request
req = urllib.request.Request(
"https://openrouter.ai/api/v1/chat/completions",
data=json.dumps({"model": "google/gemini-3.1-pro-preview", "messages": [{"role": "user", "content": "Hello"}]}).encode(),
headers={"Authorization": "Bearer " + os.environ["OPENROUTER_API_KEY"], "Content-Type": "application/json"},
)
print(urllib.request.urlopen(req).read().decode())