OpenAI · o-series · Reasoning
o3 pricing and limits
OpenAI's high-effort reasoning model. The list price looks moderate, but reasoning tokens are billed as output and can outnumber visible tokens many times over, so cost per answer varies widely.
| Line | Tokens | Rate / 1M | Cost |
|---|---|---|---|
| Input, uncached | 9,000 | $2.00 | $0.0180 |
| Input, cache read | 6,000 | $0.50 | $0.00300 |
| Output | 9,000 | $8.00 | $0.0720 |
- Input / 1M
- $2.00
- Output / 1M
- $8.00
- Cached / 1M
- $0.50
- Cache write / 1M
- n/a
- Blended 3:1
- $3.50
- Context
- 200K
What drives o3 cost
o3 spends output tokens on internal reasoning before producing a response. The usage block reports them as reasoning tokens inside completion tokens, and you pay the output rate for all of them. Hard problems at high effort can produce tens of thousands of reasoning tokens for a short answer.
Because visible output is a poor predictor of cost, budget by observed reasoning tokens per request. PALM SOUQ records reasoning tokens per tenant and per feature so finance sees the real cost of the deliberation, not just the answer length.
Cost of a typical call
Take a analysis request with 15,000 input tokens, 6,000 of them served from cache, and 9,000 output tokens. At o3 list prices ($2.00 input, $0.50 cached input, $8.00 output per 1M) one call costs $0.0930, against $0.1020 with no cache hits. At 30,000 calls a month that is $2,790, or $3,060 uncached.
Blended at a 3:1 input to output ratio, o3 costs $3.50 per 1M tokens. Routing the same call to the fallback in the policy below, o4-mini, costs $0.0512, which is what a tenant pays you in COGS once they cross the hard cap and PALM SOUQ downgrades instead of blocking.
Cost comparison
o3 against three alternatives
The same analysis request priced on o4-mini, GPT-5, DeepSeek V3.2 (reasoner). Move the sliders to match your traffic; models without a cache-read rate bill every input token in full.
Benchmark quality per task before switching. A cheaper model that needs more steps or longer outputs can cost more per finished task than its rate suggests, which is why PALM SOUQ reports cost per feature, not only per token.
o3 this guide
$0.0930 per call
$2,325 / mo
baseline
o4-mini
$0.0512 per call
$1,279 / mo
-45% vs o3
GPT-5
$0.1020 per call
$2,550 / mo
+10% vs o3
DeepSeek V3.2 (reasoner)
$0.00647 per call
$162 / mo
-93% vs o3
List prices from the PALM SOUQ LLM Price Index, computed per call as uncached input + cache reads + output. Reasoning tokens count as output on reasoning models.
Rate limits by usage tier
TPM and RPM per organization and model by usage tier. Long reasoning requests also hold connections open longer, so concurrency limits in your own stack matter as much as provider limits.
Exact limits vary by account tier and change over time, so we do not reprint them here. Check the limits page for your own account in the OpenAI documentation at platform.openai.com/docs. PALM SOUQ enforces your own per-tenant limits in front of the provider's, so a single customer cannot consume the shared allowance that every other tenant depends on.
Circuit-breaker best practices
Set max_completion_tokens (max_output_tokens in the Responses API), which bounds reasoning plus visible output, on every request, and enforce a per-tenant reasoning token ceiling at the gateway so a prompt that triggers runaway deliberation is cut off at a known cost.
For agent loops built on o3, use a low max step cap. Each step is expensive, so a cap of 10 to 12 usually covers legitimate work and limits the cost of a stuck plan.
When a breaker trips, the gateway answers in under 50 ms with HTTP 429 and X-PalmSouq-Reason: circuit_breaker_triggered, before the request reaches OpenAI. Your agent framework sees a normal rate-limit response and stops, and the audit log records which heuristic fired and for which tenant.
# palmsouq.policy.yaml
policy: o3-enterprise
match:
model: o3
tier: enterprise # from X-PalmSouq-Tier
budgets:
monthly_usd: 800 # per tenant
soft_cap_pct: 80 # webhook to your app
on_hard_cap: fallback # or: block (HTTP 429)
fallback:
- o4-mini
breakers:
tool_thrashing: { identical_calls: 3, window_steps: 8 }
token_velocity: { max_tokens_per_s: 50000, window_s: 10 }
semantic_echo: { repeats: 3 }
max_steps: 12
max_reasoning_tokens: 25000 # per request
cache:
meter_reads: true- budgetsPer-tenant monthly dollar cap with an 80% soft-cap webhook, keyed by X-PalmSouq-Tenant.
- fallbackAt the hard cap, requests reroute to o4-mini ($1.93 blended per 1M) instead of failing.
- breakersAll four loop heuristics on, evaluated in the request path with under 5 ms added latency.
Where it fits
Reserve for high-value reasoning: complex analysis, difficult code generation, multi-constraint planning. Route everything else to cheaper models and escalate only when a cheaper attempt fails.
Provider documentation: platform.openai.com/docs
o3 pricing questions
How much does o3 cost per million tokens?
At list price o3 costs $2.00 per 1M input tokens and $8.00 per 1M output tokens, with cached input at $0.50 per 1M. Prices were last reviewed in the PALM SOUQ LLM Price Index and are for the standard tier and shortest context band.
Does o3 support prompt caching?
Yes. Cached input is billed at $0.50 per 1M tokens against $2.00 for uncached input. PALM SOUQ records cached tokens per tenant from the provider's usage data, so cache savings show up in each customer's COGS.
What are the o3 rate limits?
TPM and RPM per organization and model by usage tier. Long reasoning requests also hold connections open longer, so concurrency limits in your own stack matter as much as provider limits. For your account's exact numbers, see the OpenAI documentation at platform.openai.com/docs.
How do I stop runaway o3 agent loops?
Set max_completion_tokens (max_output_tokens in the Responses API), which bounds reasoning plus visible output, on every request, and enforce a per-tenant reasoning token ceiling at the gateway so a prompt that triggers runaway deliberation is cut off at a known cost. The sample policy on this page enables all four PALM SOUQ heuristics with a max step cap of 12 and falls back to o4-mini at the hard cap.
Is there a batch discount for o3?
50% off input and output through the Batch API (24-hour completion window). Batch traffic suits evaluations, backfills and nightly enrichment jobs that do not need a real-time answer.
Govern o3 spend per customer.
Point your OpenAI client at gateway.palmsouqltd.com, pass X-PalmSouq-Tenant, and every o3 token is attributed, capped and protected by circuit breakers.
14-day free production trial · 100k requests included · no card required