A code review of about 500 lines costs 1.4 cents at the median of the 326 models I priced. The cheapest run in my test cost 0.31 cents and the most expensive cost 40 cents. Cost depends less on list price per token than on how many reasoning tokens a model spends, and some models burn the whole 16,000-token cap and return no review at all.
What I measured
Each model reviewed the same input: CPython's textwrap.py, 497 lines. I ran one pass per model with default settings through OpenRouter, with output capped at 16,000 tokens. Reasoning tokens are billed as output tokens, so a model that thinks for a long time costs more even when its visible answer is short.
Twelve models were measured directly. The rest are estimated from the same task and token profile, so treat those numbers as approximations, not observed invoices. My methodology page explains the difference.
Cheapest models per review
| Model | Cost per review | Per 1,000 reviews | Tokens in / out / reasoning | Basis |
|---|---|---|---|---|
| GPT-6 Luna | 0.31¢ | $3.08 | 4,557 / 337 / 4,921 | Measured |
| MiMo-V2.6-Pro | 0.44¢ | $4.36 | 4,805 / 2,611 / 0 | Estimated |
| Gemini 3.1 Flash Lite | 0.44¢ | $4.41 | 5,207 / 2,074 / 0 | Estimated |
| MiniMax M3 | 0.45¢ | $4.53 | 4,762 / 2,588 / 0 | Measured |
| Command A+ | 0.53¢ | $5.33 | 4,776 / 2,595 / 0 | Estimated |
GPT-6 Luna is the cheapest run. It used 4,921 reasoning tokens and wrote 337 visible output tokens. Check the quality of its review on your own code before switching, since this test measures cost, not review quality.
MiniMax M3 and the estimated Gemini 3.1 Flash Lite and MiMo-V2.6-Pro profiles use no reasoning tokens and write visible output of roughly 2,000 to 2,600 tokens. Their low cost comes from modest output prices.
Models that hit the cap with no answer
Seven runs hit the 16,000-token cap with little or no visible text. You pay for the full run and get nothing to post on a pull request.
| Model | Cost per review | Visible output tokens | Reasoning tokens | Basis |
|---|---|---|---|---|
| Qwen3.8 Flash | 0.83¢ | 0 | 16,000 | Measured |
| GLM 5.3 Flash | 0.87¢ | 2 | 15,998 | Measured |
| Llama 4 Maverick | 1.1¢ | 0 | 16,000 | Estimated |
| DeepSeek V4.1 Flash | 2.1¢ | 0 | 16,000 | Measured |
| DeepSeek V4 Pro 0813 | 3.5¢ | 0 | 16,000 | Estimated |
| GLM 5.3 | 7.7¢ | 2 | 15,998 | Estimated |
| Qwen3.8 Max Prime | 21¢ | 0 | 16,000 | Estimated |
Low list prices do not protect you here. Qwen3.8 Flash lists at $0.15 input and $0.47 output per 1M tokens, yet a capped run still costs 0.83 cents because 16,000 reasoning tokens are billed at the output rate. Qwen3.8 Max Prime, at $4.00 input and $12.00 output, costs 21 cents for the same empty result.
GLM 5.3 Flash and GLM 5.3 returned only 2 visible tokens, which is effectively no review. A cap failure looks like a successful call in your logs while delivering nothing to the developer. In a CI job, add a check for empty output, plus a timeout and a retry rule, so a single pull request cannot burn budget without posting a comment.
The expensive end
The top of the table is mostly reasoning-heavy frontier models:
- Claude Fable 5.1: 40¢ per review, $398.32 per 1,000 (estimated).
- GPT-6 Astra: 24¢, $244.47 per 1,000 (estimated).
- Grok 4.7: 22¢, $220.98 per 1,000 (measured), with 33,199 reasoning tokens.
- Claude Opus 5.5: 16¢, $159.33 per 1,000 (estimated).
Grok 4.3 (estimated) shows the same 33,199 reasoning tokens as Grok 4.7. At 9.5¢ it costs far less per review because its list price is lower: $1.25 input and $2.50 output, against $2.00 and $6.00.
Claude models also count more tokens for the same file. Anthropic's tokenizer ratio is 1.39 against 1.00 for OpenAI on the same English text, and Claude Haiku 5.5 and Claude Sonnet 5.5 show 7,117 input tokens where GPT-6 Luna shows 4,557. Compare per-task cost, not per-token price.
Claude Sonnet 5.5 is measured at 8.0 cents per review ($79.66 per 1,000), with 3,067 output tokens and 3,476 reasoning tokens. GPT-6.1 Sol has the same list price ($2.00 input, $10.00 output) and is measured at 4.9 cents ($48.89 per 1,000). It used fewer input and output tokens.
Cost per 1,000 reviews
Here is a spread of measured models, from cheapest to most expensive:
| Model | Per 1,000 reviews |
|---|---|
| GPT-6 Luna | $3.08 |
| MiniMax M3 | $4.53 |
| Claude Haiku 5.5 | $6.61 |
| Gemini 3.8 Flash | $11.68 |
| Mistral Large 4 | $22.22 |
| GPT-6.1 Sol | $48.89 |
| Claude Sonnet 5.5 | $79.66 |
| Gemini 3.1 Pro Preview | $113.90 |
| Grok 4.7 | $220.98 |
For a rough budget, multiply your monthly volume by the per-1,000 figure and divide by 1,000. Your own volume will move the total, and the calculator does this for you.
Adjusting for your own workload
- Your diffs will differ from my test file. This is one 497-line file, and larger pull requests increase input tokens.
- Failed runs cost money. A capped run is billed in full, so retries and empty outputs add to the bill.
- One run per model. Reasoning length can vary between runs, so treat each figure as a single observation.
The calculator lets you enter your own token counts and volumes. The code review task page has the current data for every model.
FAQ
What is the cheapest model for AI code review in this test?
GPT-6 Luna was the cheapest at 0.31 cents per review, or $3.08 per 1,000 reviews. It was a measured run with 337 visible output tokens and 4,921 reasoning tokens.
Why do some models cost money and return nothing?
Some reasoning models spend the whole 16,000-token output budget on reasoning and never write a visible review. Reasoning tokens are billed as output, so you pay for the full run. Seven models in my table hit the cap this way.
Does a lower list price mean a cheaper code review?
Not always. Reasoning token counts and tokenizer differences can outweigh list price, as the Qwen3.8 Flash cap run and the Claude input counts show. Compare the cost per task, not the per-token rate.