Price book

How a cost on the chart is calculated.

The cost next to every score on While. is the dollars it would take to answer 1,000 tasks of that eval, at the list prices on this page. As of Sep 21, 2026.

The coding agent posts facts, not dollars: which model and how many input and output tokens it used, or which GPU for how many hours, and how many replies that produced. This page prices the facts. One book for everyone, so any two points on any chart can be compared.

The formula

For an API model: add up the input tokens at the input price and the output tokens at the output price, divide by the number of replies, and multiply by 1,000. No prompt caching, no batch discount.

cost = (input_tokens / 1,000,000 Ă— input_per_M + output_tokens / 1,000,000 Ă— output_per_M) / replies Ă— 1,000

For a served open model: the GPU hours at the hourly rate, divided by the replies served in that time, times 1,000.

cost = gpu_hours Ă— usd_per_hour / replies Ă— 1,000

Worked out on a live experiment: Claude Sonnet 5 answering 1,833 text-to-SQL tasks used 2,148,276 input tokens and 120,552 output tokens, so (2.148 Ă— $2 + 0.121 Ă— $10) / 1,833 Ă— 1,000 = $3.00 per 1,000 tasks. A 9B model on one L40S for 1.98 hours answered 1,836 tasks, so 1.98 Ă— $1.95 / 1,836 Ă— 1,000 = $2.10 per 1,000 tasks.

API models

USD per million tokens at the provider’s list price. A model id posted with a provider prefix or a date suffix (global.anthropic.claude-sonnet-5, claude-haiku-4-5-20251001) matches the row without it.

Anthropicinput $/Moutput $/Msourcechecked
claude-fable-5-1$10$50platform.claude.comSep 21, 2026
claude-fable-5$10$50platform.claude.comSep 21, 2026
claude-opus-5$5$25platform.claude.comSep 21, 2026
claude-opus-4-8$5$25platform.claude.comSep 21, 2026
claude-opus-4-7$5$25platform.claude.comSep 21, 2026
claude-opus-4-6$5$25platform.claude.comSep 21, 2026
claude-opus-4-5$5$25platform.claude.comSep 21, 2026
claude-sonnet-5$2$10platform.claude.comSep 21, 2026
claude-sonnet-4-6$3$15platform.claude.comSep 21, 2026
claude-sonnet-4-5$3$15platform.claude.comSep 21, 2026
claude-haiku-4-5$1$5platform.claude.comSep 21, 2026
OpenAIinput $/Moutput $/Msourcechecked
gpt-6-astra$10$50developers.openai.comSep 21, 2026
gpt-5.6-sol$4$20developers.openai.comSep 21, 2026
gpt-5.6-terra$2$12developers.openai.comSep 21, 2026
gpt-5.6-luna$0.20$1.20developers.openai.comSep 21, 2026
gpt-5.5Prompts under 272K tokens.$5$30developers.openai.comSep 21, 2026
gpt-5.4Prompts under 272K tokens.$2.50$15developers.openai.comSep 21, 2026
gpt-5.4-mini$0.75$4.50developers.openai.comSep 21, 2026
gpt-5.4-nano$0.20$1.25developers.openai.comSep 21, 2026
gpt-5.2$1.75$14developers.openai.comSep 21, 2026
gpt-5.1$1.25$10developers.openai.comSep 21, 2026
gpt-5$1.25$10developers.openai.comSep 21, 2026
gpt-5-mini$0.25$2developers.openai.comSep 21, 2026
gpt-5-nano$0.05$0.40developers.openai.comSep 21, 2026
gpt-4.1$2$8developers.openai.comSep 21, 2026
gpt-4.1-mini$0.40$1.60developers.openai.comSep 21, 2026
gpt-4o$2.50$10developers.openai.comSep 21, 2026
gpt-4o-mini$0.15$0.60developers.openai.comSep 21, 2026
o3$2$8developers.openai.comSep 21, 2026
o4-mini$1.10$4.40developers.openai.comSep 21, 2026
Googleinput $/Moutput $/Msourcechecked
gemini-3.8-flashLaunch price through 2026-12-31; $1.50 and $7.50 from 2027-01-01.$0.75$3.75ai.google.devSep 21, 2026
gemini-3.7-flashLaunch price through 2026-12-31; $1.50 and $7.50 from 2027-01-01.$0.75$3.75ai.google.devSep 21, 2026
gemini-3.5-flash$1.50$9ai.google.devSep 21, 2026
gemini-3.5-flash-lite$0.30$2.50ai.google.devSep 21, 2026
gemini-3.1-pro-previewPrompts of 200K tokens or less; $4 and $18 above that.$2$12ai.google.devSep 21, 2026
gemini-2.5-proPrompts of 200K tokens or less; $2.50 and $15 above that.$1.25$10ai.google.devSep 21, 2026
gemini-2.5-flashText input; audio input is $1.$0.30$2.50ai.google.devSep 21, 2026
gemini-2.5-flash-liteText input; audio input is $0.30.$0.10$0.40ai.google.devSep 21, 2026

GPUs

USD per GPU hour at Modal’s on-demand list price, which is quoted per second; the hourly rate is that times 3,600, to the cent. The platform’s own trainer and serving run on Modal, so this is the rate a served open model is priced at whoever runs it.

GPU$/second$/hoursourcechecked
B200Nvidia B200$0.001736$6.25modal.comSep 21, 2026
H200Nvidia H200 SXM$0.001261$4.54modal.comSep 21, 2026
H100Nvidia H100 SXM5$0.001097$3.95modal.comSep 21, 2026
A100-80GBNvidia A100, 80 GB$0.000694$2.50modal.comSep 21, 2026
A100-40GBNvidia A100, 40 GB$0.000583$2.10modal.comSep 21, 2026
L40SNvidia L40S$0.000542$1.95modal.comSep 21, 2026
A10GNvidia A10$0.000306$1.10modal.comSep 21, 2026
L4Nvidia L4$0.000222$0.80modal.comSep 21, 2026
T4Nvidia T4$0.000164$0.59modal.comSep 21, 2026

What is not in the number

How a coding agent posts the facts

On the eval block of the run record. For an API model, the model id and the token counts the provider returned, summed over the replies. For a served model, the GPU and the hours it was up.

from whileai.platform import track

run = track("text-to-sql-shop").open("run_5cc11826d439")
run.finish(
    record={
        "eval": {
            "model": "claude-sonnet-5",
            "input_tokens": 2_148_276,
            "output_tokens": 120_552,
            "replies": 1833,
        }
    }
)
run = track("text-to-sql-shop").open("run_223dc48d4933")
run.finish(record={"eval": {"gpu": "L40S", "gpu_hours": 1.98, "replies": 1836}})

A run that posts only cost_per_1k still draws, marked “reported by the agent, not priced by the book”. A model or GPU this page does not list falls back the same way. The SDK reference is at docs.while.ai.

The book itself

The prices on this page are read from one JSON file in the site’s repository, so the chart and this page cannot disagree. Every entry carries its source URL and the day it was checked; a check in the build fails if one is missing. Open a pull request to add a model or correct a price.

lib/price-book.json on GitHub · 38 models, 9 GPUs, Sept 2026 book