Prices
This page lists every model that has a built-in price. It is generated from the price table in the Spanlight backend, so it is always the table your version of Spanlight uses. The table version is 2026-10-19; a priced span stores it as its pricing_version.
Rates are in US dollars per million tokens, at the providers’ standard rates. They include the prompt-cache read rate, the prompt-cache write rates by cache lifetime (5 minutes and 1 hour; OpenAI bills one 30-minute lifetime from GPT-5.6 on, listed in the 5-minute column) and the higher rates a provider charges for long prompts, where the provider publishes them. Service-tier factors, such as the batch discount, and per-request tool fees, such as web search, apply on top of these rates; when the table has them they are listed below the price table. Regional modifiers, fast mode and taxes are left out. A model that is not listed has an unknown cost, shown as a dash, never as zero. To price such a model, add a price override.
How a model matches a row
Section titled “How a model matches a row”A row is written for a model name. A span’s model matches the row when it is:
- The same name exactly, or
- The name followed by one snapshot suffix:
-YYYYMMDD,-YYYY-MM-DDor-latest.
A plain prefix does not match. Matching is case-sensitive. When the span names a provider, the provider must also equal the row’s provider. The span’s provider is trimmed and lower-cased first, and known aliases are folded onto the provider the table uses: gemini, vertex_ai and the other Google spellings find the google rows, and claude finds the anthropic rows. The row’s provider is folded the same way, so an override saved as gemini matches a span sent as google. azure and azure_openai are not aliases of openai: Azure bills its own rates, and no Azure row is built in. The span keeps the provider it was sent with. A span with no provider can match a row of any provider. When more than one row matches, the longest name wins. Which provider names match which price lists every alias.
A model with a prompt-size tier has one row per tier. The Prompt column says which prompts the row prices: Any size is the base row, and Over N tokens is the row used when the span’s input_tokens is larger than N. The row with the largest size not above the span’s input tokens prices the whole prompt.
When a row has no cached rate (shown as —), cached tokens are billed at the input rate; when it has no cache-write rate, cache writes are billed at the input rate too. How cost is calculated explains the formula and the token convention.
Price table
Section titled “Price table”74 models, 88 rows. Rates are per million tokens. 14 rows price a second tier: the whole prompt is billed at that row’s rates once the prompt is larger than the size in the Prompt column.
| Provider | Model | Prompt | Input | Cached input | Cache write, 5 min | Cache write, 1 h | Output |
|---|---|---|---|---|---|---|---|
| anthropic | claude-haiku-4-5 |
Any size | 1.00 | 0.10 | 1.25 | 2.00 | 5.00 |
| anthropic | claude-sonnet-4-5 |
Any size | 3.00 | 0.30 | 3.75 | 6.00 | 15.00 |
| anthropic | claude-sonnet-4-6 |
Any size | 3.00 | 0.30 | 3.75 | 6.00 | 15.00 |
| anthropic | claude-opus-4-5 |
Any size | 5.00 | 0.50 | 6.25 | 10.00 | 25.00 |
| anthropic | claude-opus-4-6 |
Any size | 5.00 | 0.50 | 6.25 | 10.00 | 25.00 |
| anthropic | claude-opus-4-7 |
Any size | 5.00 | 0.50 | 6.25 | 10.00 | 25.00 |
| anthropic | claude-opus-4-8 |
Any size | 5.00 | 0.50 | 6.25 | 10.00 | 25.00 |
| anthropic | claude-opus-5 |
Any size | 5.00 | 0.50 | 6.25 | 10.00 | 25.00 |
| anthropic | claude-opus-5-5 |
Any size | 4.00 | 0.20 | 5.00 | 8.00 | 20.00 |
| anthropic | claude-sonnet-5 |
Any size | 2.00 | 0.20 | 2.50 | 4.00 | 10.00 |
| anthropic | claude-sonnet-5-5 |
Any size | 2.00 | 0.10 | 2.50 | 4.00 | 10.00 |
| anthropic | claude-haiku-5-5 |
Any size | 0.10 | 0.01 | 0.125 | 0.20 | 0.50 |
| anthropic | claude-haiku-5-5 |
Over 100,000 tokens | 0.50 | 0.05 | 0.625 | 1.00 | 2.50 |
| anthropic | claude-fable-5-1 |
Any size | 10.00 | 0.25 | 12.50 | 20.00 | 50.00 |
| anthropic | claude-mythos-5-1 |
Any size | 10.00 | 0.25 | 12.50 | 20.00 | 50.00 |
| anthropic | claude-fable-5 |
Any size | 10.00 | 1.00 | 12.50 | 20.00 | 50.00 |
| anthropic | claude-mythos-5 |
Any size | 10.00 | 1.00 | 12.50 | 20.00 | 50.00 |
| anthropic | claude-opus-4-1 |
Any size | 15.00 | 1.50 | 18.75 | 30.00 | 75.00 |
| anthropic | claude-opus-4 |
Any size | 15.00 | 1.50 | 18.75 | 30.00 | 75.00 |
| anthropic | claude-sonnet-4 |
Any size | 3.00 | 0.30 | 3.75 | 6.00 | 15.00 |
| anthropic | claude-3-5-haiku |
Any size | 0.80 | 0.08 | 1.00 | 1.60 | 4.00 |
| openai | gpt-6-astra |
Any size | 10.00 | 1.00 | 12.50 | — | 50.00 |
| openai | gpt-6-astra |
Over 272,000 tokens | 20.00 | 2.00 | 25.00 | — | 75.00 |
| openai | gpt-6.1-sol |
Any size | 2.00 | 0.10 | 2.50 | — | 10.00 |
| openai | gpt-6.1-sol |
Over 272,000 tokens | 4.00 | 0.20 | 5.00 | — | 15.00 |
| openai | gpt-6-sol |
Any size | 2.00 | 0.20 | 2.50 | — | 10.00 |
| openai | gpt-6-sol |
Over 272,000 tokens | 4.00 | 0.40 | 5.00 | — | 15.00 |
| openai | gpt-6-luna |
Any size | 0.10 | 0.01 | 0.125 | — | 0.50 |
| openai | gpt-6-luna |
Over 272,000 tokens | 0.20 | 0.02 | 0.25 | — | 0.75 |
| openai | gpt-5.6-sol |
Any size | 4.00 | 0.40 | 5.00 | — | 20.00 |
| openai | gpt-5.6-sol |
Over 272,000 tokens | 8.00 | 0.80 | 10.00 | — | 30.00 |
| openai | gpt-5.6-terra |
Any size | 2.00 | 0.20 | 2.50 | — | 12.00 |
| openai | gpt-5.6-terra |
Over 272,000 tokens | 4.00 | 0.40 | 5.00 | — | 18.00 |
| openai | gpt-5.6-luna |
Any size | 0.20 | 0.02 | 0.25 | — | 1.20 |
| openai | gpt-5.6-luna |
Over 272,000 tokens | 0.40 | 0.04 | 0.50 | — | 1.80 |
| openai | gpt-5.6-cyber |
Any size | 12.50 | 1.25 | 15.625 | — | 75.00 |
| openai | gpt-5.5 |
Any size | 5.00 | 0.50 | — | — | 30.00 |
| openai | gpt-5.5 |
Over 272,000 tokens | 10.00 | 1.00 | — | — | 45.00 |
| openai | gpt-5.5-pro |
Any size | 30.00 | — | — | — | 180.00 |
| openai | gpt-5.5-pro |
Over 272,000 tokens | 60.00 | — | — | — | 270.00 |
| openai | gpt-5.4 |
Any size | 2.50 | 0.25 | — | — | 15.00 |
| openai | gpt-5.4 |
Over 272,000 tokens | 5.00 | 0.50 | — | — | 22.50 |
| openai | gpt-5.4-pro |
Any size | 30.00 | — | — | — | 180.00 |
| openai | gpt-5.4-pro |
Over 272,000 tokens | 60.00 | — | — | — | 270.00 |
| openai | gpt-5.4-mini |
Any size | 0.75 | 0.075 | — | — | 4.50 |
| openai | gpt-5.4-nano |
Any size | 0.20 | 0.02 | — | — | 1.25 |
| openai | gpt-5.3-codex |
Any size | 1.75 | 0.175 | — | — | 14.00 |
| openai | gpt-5.2 |
Any size | 1.75 | 0.175 | — | — | 14.00 |
| openai | gpt-5.2-pro |
Any size | 21.00 | — | — | — | 168.00 |
| openai | gpt-5.1 |
Any size | 1.25 | 0.125 | — | — | 10.00 |
| openai | gpt-5 |
Any size | 1.25 | 0.125 | — | — | 10.00 |
| openai | gpt-5-mini |
Any size | 0.25 | 0.025 | — | — | 2.00 |
| openai | gpt-5-nano |
Any size | 0.05 | 0.005 | — | — | 0.40 |
| openai | gpt-5-pro |
Any size | 15.00 | — | — | — | 120.00 |
| openai | chat-latest |
Any size | 5.00 | 0.50 | — | — | 30.00 |
| openai | gpt-rosalind-research |
Any size | 5.00 | 0.50 | — | — | 25.00 |
| openai | gpt-rosalind-discovery |
Any size | 5.00 | 0.50 | — | — | 25.00 |
| openai | gpt-4.1 |
Any size | 2.00 | 0.50 | — | — | 8.00 |
| openai | gpt-4.1-mini |
Any size | 0.40 | 0.10 | — | — | 1.60 |
| openai | gpt-4.1-nano |
Any size | 0.10 | 0.025 | — | — | 0.40 |
| openai | gpt-4o |
Any size | 2.50 | 1.25 | — | — | 10.00 |
| openai | gpt-4o-2024-05-13 |
Any size | 5.00 | — | — | — | 15.00 |
| openai | gpt-4o-mini |
Any size | 0.15 | 0.075 | — | — | 0.60 |
| openai | o4-mini |
Any size | 1.10 | 0.275 | — | — | 4.40 |
| openai | o3 |
Any size | 2.00 | 0.50 | — | — | 8.00 |
| openai | o3-mini |
Any size | 1.10 | 0.55 | — | — | 4.40 |
| openai | o3-pro |
Any size | 20.00 | — | — | — | 80.00 |
| openai | o1 |
Any size | 15.00 | 7.50 | — | — | 60.00 |
| openai | o1-pro |
Any size | 150.00 | — | — | — | 600.00 |
| openai | gpt-4-turbo-2024-04-09 |
Any size | 10.00 | — | — | — | 30.00 |
| openai | gpt-4-0613 |
Any size | 30.00 | — | — | — | 60.00 |
| openai | gpt-3.5-turbo |
Any size | 0.50 | — | — | — | 1.50 |
| openai | gpt-3.5-turbo-0125 |
Any size | 0.50 | — | — | — | 1.50 |
| openai | gpt-3.5-turbo-1106 |
Any size | 1.00 | — | — | — | 2.00 |
| openai | gpt-3.5-turbo-instruct |
Any size | 1.50 | — | — | — | 2.00 |
| openai | davinci-002 |
Any size | 2.00 | — | — | — | 2.00 |
| openai | babbage-002 |
Any size | 0.40 | — | — | — | 0.40 |
gemini-2.5-pro |
Any size | 1.25 | 0.125 | — | — | 10.00 | |
gemini-2.5-pro |
Over 200,000 tokens | 2.50 | 0.25 | — | — | 15.00 | |
gemini-2.5-flash |
Any size | 0.30 | 0.03 | — | — | 2.50 | |
gemini-2.5-flash-lite |
Any size | 0.10 | 0.01 | — | — | 0.40 | |
gemini-3-flash-preview |
Any size | 0.50 | 0.05 | — | — | 3.00 | |
gemini-3.1-pro-preview |
Any size | 2.00 | 0.20 | — | — | 12.00 | |
gemini-3.1-pro-preview |
Over 200,000 tokens | 4.00 | 0.40 | — | — | 18.00 | |
gemini-3.1-flash-lite |
Any size | 0.25 | 0.025 | — | — | 1.50 | |
gemini-3.5-flash-lite |
Any size | 0.30 | 0.03 | — | — | 2.50 | |
gemini-3.6-flash |
Any size | 0.75 | 0.075 | — | — | 3.75 | |
gemini-3.8-flash |
Any size | 0.75 | 0.075 | — | — | 3.75 |
Service tiers
Section titled “Service tiers”A span that reports the service tier the provider billed has its token cost multiplied by the factor of that tier. Standard calls, calls that report no tier and any tier not listed here are priced at the standard rate (factor 1); a tier with no factor is marked as unmodelled in the span’s cost explanation. The factor never applies to a fee. Service tiers explains where the tier comes from.
| Provider | Tier | Factor | Note |
|---|---|---|---|
| anthropic | batch |
0.5 | |
| anthropic | priority |
1.0 | Billed as a commitment, outside the per-token rate; priced at the standard rate |
| openai | batch |
0.5 | |
| openai | flex |
0.5 | |
batch |
0.5 |
Web search and other tool fees
Section titled “Web search and other tool fees”A provider bills some server-side tools per request, apart from the tokens. The fee is added to the span’s cost and reported again in its fee_usd. Fees (web search) explains how the request count is read.
| Provider | Tool | USD per 1,000 requests |
|---|---|---|
| anthropic | web_search |
10.00 |
| openai | web_search |
10.00 |
Related pages
Section titled “Related pages”- How cost is calculated: the formula, the token convention and when a cost is unknown.
- Prices endpoints: read the table and manage price overrides for your organization.
- OTLP attribute mapping: which attributes give a span its model and token counts.