per 1M tokens
OpenAI: GPT-4.1
openai/gpt-4.1
GPT-4.1 is a flagship large language model optimized for advanced instruction following, real-world software engineering, and long-context reasoning. It supports a 1 million token context window and outperforms GPT-4o and...
Price
per 1M tokens
Cheaper on Azure (−50%) versus the lab price
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 |
|---|---|---|---|---|---|---|---|---|
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
batch | — | $1/1M | $4/1M | — | — | Listed | azure-retail |
| Azure | azure | — | $2/1M | $8/1M | 1.0M | 100% | Live | openrouter-endpoints |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Azure | global | — | $2/1M | $8/1M | — | — | Listed | azure-retail |
| Inference.net | — | — | $2/1M | $8/1M | 1.0M | — | Listed | inferencenet |
| NEAR AI | — | — | $2/1M | $8/1M | 1M | — | Listed | nearai |
| OpenAI | openai | — | $2/1M | $8/1M | 1.0M | 100% | Live | openrouter-endpoints |
| Phala | — | — | $2/1M | $8/1M | 1.0M | — | Listed | phala |
| Azure | azure/swedencentral | — | $2.2/1M | $8.8/1M | 1.0M | — | Live | openrouter-endpoints |
| Azure | regional | — | $2.2/1M | $8.8/1M | — | — | Listed | azure-retail |
| Azure | regional | — | $2.2/1M | $8.8/1M | — | — | Listed | azure-retail |
| Azure | regional | — | $2.2/1M | $8.8/1M | — | — | Listed | azure-retail |
| Azure | regional | — | $2.2/1M | $8.8/1M | — | — | Listed | azure-retail |
| Azure | regional | — | $2.2/1M | $8.8/1M | — | — | Listed | azure-retail |
| Azure | regional | — | $2.2/1M | $8.8/1M | — | — | Listed | azure-retail |
| Azure | regional | — | $2.2/1M | $8.8/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
regional | — | $2.42/1M | $9.68/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
regional | — | $2.42/1M | $9.68/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
regional | — | $2.64/1M | $10.56/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
regional | — | $2.75/1M | $11/1M | — | — | Listed | azure-retail |
| Azure Price differs from OpenRouter |
regional | — | $2.75/1M | $11/1M | — | — | Listed | azure-retail |
Monthly bill
Token models use the token counts. Image, video, and audio models use units times the flat rate.
$10.00 at list price for this workload
Cache
per 1M tokens
Tiers
- Web search
- $0.01 per request
Every rate
| Unit | Input | Output | Flat | Confidence |
|---|---|---|---|---|
| token | $2/1M | $8/1M | Not published— | official |
Price history
input or flat output
Daily snapshots
| UTC date | Unit | Input | Output | Flat |
|---|---|---|---|---|
| 2026-09-15 | token | $2 | $8 | Not published— |
| 2026-09-16 | token | $2 | $8 | Not published— |
| 2026-09-17 | token | $2 | $8 | Not published— |
| 2026-09-18 | token | $2 | $8 | Not published— |
| 2026-09-19 | token | $2 | $8 | Not published— |
| 2026-09-20 | token | $2 | $8 | Not published— |
| 2026-09-21 | token | $2 | $8 | Not published— |
| 2026-09-22 | token | $2 | $8 | Not published— |
| 2026-09-23 | token | $2 | $8 | Not published— |
| 2026-09-24 | token | $2 | $8 | Not published— |
| 2026-09-25 | token | $2 | $8 | Not published— |
| 2026-09-26 | token | $2 | $8 | Not published— |
| 2026-09-27 | token | $2 | $8 | Not published— |
| 2026-09-28 | token | $2 | $8 | Not published— |
| 2026-09-29 | token | $2 | $8 | Not published— |
| 2026-09-30 | token | $2 | $8 | Not published— |
| 2026-10-01 | token | $2 | $8 | Not published— |
| 2026-10-02 | token | $2 | $8 | Not published— |
| 2026-10-03 | token | $2 | $8 | Not published— |
| 2026-10-04 | token | $2 | $8 | Not published— |
| 2026-10-05 | token | $2 | $8 | Not published— |
| 2026-10-06 | token | $2 | $8 | Not published— |
| 2026-10-07 | token | $2 | $8 | Not published— |
| 2026-10-08 | token | $2 | $8 | Not published— |
| 2026-10-09 | token | $2 | $8 | Not published— |
| 2026-10-10 | token | $2 | $8 | Not published— |
| 2026-10-11 | token | $2 | $8 | Not published— |
| 2026-10-12 | token | $2 | $8 | Not published— |
| 2026-10-13 | token | $2 | $8 | Not published— |
| 2026-10-14 | token | $2 | $8 | Not published— |
| 2026-10-15 | token | $2 | $8 | Not published— |
| 2026-10-16 | token | $2 | $8 | Not published— |
| 2026-10-17 | token | $2 | $8 | Not published— |
| 2026-10-18 | token | $2 | $8 | Not published— |
| 2026-10-19 | token | $2 | $8 | Not published— |
| 2026-10-20 | token | $2 | $8 | Not published— |
| 2026-10-21 | token | $2 | $8 | Not published— |
| 2026-10-22 | token | $2 | $8 | Not published— |
| 2026-10-23 | token | $2 | $8 | Not published— |
| 2026-10-24 | token | $2 | $8 | Not published— |
| 2026-10-25 | token | $2 | $8 | Not published— |
| 2026-10-26 | token | $2 | $8 | Not published— |
| 2026-10-27 | token | $2 | $8 | Not published— |
| 2026-10-28 | token | $2 | $8 | Not published— |
| 2026-10-29 | token | $2 | $8 | Not published— |
| 2026-10-30 | token | $2 | $8 | Not published— |
Alternatives
Parameters (9)
max_completion_tokensmax_tokensresponse_formatseedstructured_outputstemperaturetool_choicetoolstop_p
Call this model
OpenRouter id openai/gpt-4.1. 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":"openai/gpt-4.1","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: "openai/gpt-4.1",
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": "openai/gpt-4.1", "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())