Skip to main content
TokenCost logoTokenCost
ComparisonAugust 26, 2026ยท12 min read

Three models charge exactly $2.00 per million input tokens. The same 4K screenshot costs $2.24, $9.57 and $19.58 per thousand on them, and the dearest of the three is a default setting you can turn off in one line.

Every pricing page on the internet quotes dollars per million tokens. Almost none of them tell you how many tokens a picture is, and the seven labs here answer that question so differently that the price list stops predicting the bill almost entirely. So we went and got the counting rules, implemented them, and checked them against the vendors' own published examples before letting them near a dollar sign. One lab turned out not to publish a rule at all.

Macro close-up of an LED display panel, its glowing dots forming a dense grid against darkness

Photo by Bernard Hermant on Unsplash

One price, three bills

Gemini 3.1 Pro Preview, Claude Sonnet 5 and GPT-5.6 Terra all charge $2.00 per million input tokens. Here is what each one bills for one thousand 3840x2160 screenshots.

Gemini 3.1 Pro Preview1,120 tok$2.2400
Claude Sonnet 54,784 tok$9.5680
GPT-5.6 Terra, default9,792 tok$19.5840

Identical rate, 8.74x apart. Nothing about the price list explains it. Everything about the token counting does.

Nobody agrees on what a picture is worth

Text pricing is boring because everyone agrees on the unit. A token is a token, the tokenizers differ a bit, and you can compare two numbers on two pages. Images have no such agreement. Each lab invented its own function from pixels to tokens, and the four functions here do not even share a shape.

LabHow an image becomes tokens4K screenshotCeiling
Anthropic28 px patches, then two caps1,560 or 4,784capped by tier
OpenAI32 px patches, times 1.29,792no cap by default
Googleflat allocation per image1,120resolution ignored
DeepSeekresize to an 800x800 budget369resolution ignored

Read the last column first. Three of the four refuse, in one way or another, to let resolution drive the token count past a fixed point. One of them does not. That single design decision is worth more than every price cut we have covered this month put together, and it is invisible on the page where you go to look up prices.

Here is the same idea as a ladder. One 16:9 image, five common capture sizes, six billing regimes, and the bottom row is what happens to your token count when you go from a 720p capture to a 4K one without changing anything else.

CaptureClaude stdClaude 4.7+GPT-5.6 autoGPT-5.6 highGemini 3DeepSeek
1280x7201,1961,1961,1041,1041,120369
1456x8191,5601,5601,4361,4361,120369
1920x10801,5602,6912,4482,4481,120369
2560x14401,5604,7844,3202,7651,120369
3840x21601,5604,7849,7922,7651,120369
4K over 720p1.30x4.00x8.87x2.50x1.00x1.00x

Visual or image tokens per image. Claude std covers Haiku 4.5 and Sonnet 4.6; Claude 4.7+ covers Sonnet 5, Opus 5 and Fable 5.

Anthropic publishes the arithmetic, and it survives being checked

Give Anthropic credit for this: they document the function. An image is cut into 28 by 28 pixel patches and each patch is one visual token, so a picture costs the ceiling of its width over 28 times the ceiling of its height over 28. Before that happens the image is shrunk to the largest aspect-preserving size that fits two limits at once.

TierModelsMax long edgeMax visual tokens
High-resolutionClaude 4.7 and later2576 px4784
StandardAll other models1568 px1568

The second limit is the one that matters and the one everyone misses. Anthropic says so plainly: for nearly all photos and screenshots the visual token limit determines the final size, and the edge limit only takes over for panoramas and tall phone screenshots. They even warn you off the obvious shortcut, noting that a 1920x1080 screenshot resizes to 1456x819 rather than the 1568x882 you would get by scaling to the edge length.

We implemented their published reference algorithm and ran it against their own table. Left number in each pair is ours, right is theirs.

ImageStd, oursStd, theirs4.7+, ours4.7+, theirs
200x20064646464
1000x10001,2961,2961,2961,296
1092x10921,5211,5211,5211,521
1920x10801,5601,5602,6912,691
2000x15001,5641,5643,8883,888
3840x21601,5601,5604,7844,784

Six rows, twelve figures, no disagreement. The A4 example checks out too: a page scanned at 130 DPI is 1075x1520, costs 2,145 tokens raw, and gets shrunk to 924x1307 on a standard-tier model while a 4.7-or-later model leaves it alone, because 2,145 fits inside 4,784. One tiny thing does not reconcile. Anthropic's table says a 2000x1500 image downsizes to 1269x952, and their own reference implementation returns 1270x952. Both land on 1,564 tokens, so nobody is billed differently, but if you are pre-resizing from that table to keep bounding boxes aligned you are one pixel off.

The upgrade that triples the cost of a screenshot you already had

Look again at the reproduction table, at the 4K row. A standard-tier model bills 1,560 visual tokens. A 4.7-or-later model bills 4,784 for the identical file. That is 3.07 times more, and no line on any price page moved.

The standard tier has a stranger property that is worth pausing on. A 1080p screenshot, a 1440p screenshot and a 4K screenshot all cost exactly 1,560 tokens on Haiku 4.5, because all three get shrunk to the same 1456x819. Above roughly 1456 pixels wide, extra resolution on a standard-tier model is not expensive. It is free, and it is also pointless, because the model never sees it. Every one of those pixels was uploaded, paid for in bandwidth, and thrown away before inference.

Move to a 4.7-or-later model and resolution starts mattering again, up to a ceiling of 4,784. So the tier change does two things at once: it raises the cap, and it makes your capture resolution a billing decision for the first time. If you upgraded from Sonnet 4.6 to Sonnet 5 and your screenshot pipeline kept sending 4K, your visual token bill tripled on the day of the switch.

There is a second increase riding along with it, and the two are unrelated in mechanism while being identical in timing. Anthropic notes that 4.7-and-later models use a newer tokenizer producing roughly 30% more tokens for the same text. That is text, not images; the 28-pixel patch rule is unchanged across tiers. But if your agent sends a screenshot and a paragraph of instructions on every turn, one upgrade raised both halves of the request at the same time, by different amounts, for different reasons.

OpenAI removed the ceiling and left it out of the price table

OpenAI counts in 32 pixel patches and multiplies by 1.2 on all three GPT-5.6 models. Their worked example is a 1024x1024 image: 1,024 patches, billed as 1,229 tokens. Our implementation returns 1,229, so the rule is not in doubt. What is in doubt is where it stops, and the answer is that on the default setting it does not.

The documentation states it outright: GPT-5.6 Sol, Terra and Luna have no patch-budget limit for the detail settings original and auto. And if you omit the detail parameter, it defaults to auto. Here is what that does to a 3840x2160 screenshot.

detailFits withinPatchesBilled tokensvs default
low512 x 512144173-98.2%
high2048 x 2048, 2,500 patches2,3042,765-71.8%
original65,535 x 65,535, no patch budget8,1609,7920.0%
auto (the default)same as original8,1609,7920.0%

One parameter, 71.8% off. OpenAI is not hiding this, either: the same paragraph that admits there is no budget tells you that large images can therefore use more tokens than with earlier models, and advises resizing or picking low or high. The problem is not candour. The problem is that the expensive branch is the one you get by writing nothing, and the place people look for cost information is the pricing page, where none of this appears.

It is worth naming what makes this an unforced error rather than a trade-off. Anthropic and OpenAI both raised image fidelity in their newest generation and both made it the default. Anthropic capped it at 4,784 tokens. OpenAI capped it at nothing. That is the entire difference between $23.92 and $39.17 per thousand 4K screenshots, and Sol is the more expensive of the two despite charging less per token than Opus 5.

The same knob, set the other way, and one lab that stopped explaining

Three more labs are worth adding, because two of them show the OpenAI decision was a choice rather than an inevitability, and the third does something worse than either.

Alibaba ships exactly the feature OpenAI ships. Qwen3-VL counts in 32-pixel tokens plus two markers for the start and end of the image, and it has a flag called vl_high_resolution_images that lifts the per-image budget from 2,560 tokens to 16,384. On a 4K screenshot that flag is the difference between 2,481 tokens and 8,162, so turning it on more than triples what the picture costs. The flag defaults to off. Same capability, same magnitude, opposite default, and the result is that Qwen3-VL Plus bills $0.4962 per thousand 4K screenshots where GPT-5.6 Luna, at the identical $0.20 per million, bills $1.9584.

Mistral takes the simplest line of anyone here. Its current models downscale to fit 1540x1540 and count 28-pixel tokens, so a 16:9 image lands on 1540x866 and costs 1,705 tokens whether you sent it at 1080p or 4K. Above 1540 pixels wide, resolution is simply not a billing variable. Worth one caveat: Mistral's tokenizer emits row separators too, so the real sequence is nearer 1,736, and the vision page's table still lists Mistral Medium 3 and Small 3.2 rather than the Medium 3.5 and Small 4 you can actually buy.

Then there is xAI, which is the reason this section exists. Grok bills image tokens. The pricing page lists them as a category, and every vision-capable Grok model advertises image input. What xAI does not publish, anywhere, is how many tokens an image becomes. The current image-understanding page gives a maximum file size, a file type list, and nothing else. The rule used to be there: an archived copy from May 2025 spells out 448-pixel tiles at 256 tokens each, capped at six tiles. It was removed, and nothing replaced it.

That leaves Grok as the only model in this comparison we cannot put a row against, not because the price is secret but because the unit is. You can read xAI's rate, multiply it by a token count you have no way to predict, and get a number that means nothing until the invoice arrives. Every other lab here at least lets you do the arithmetic in advance.

Sorted by what a screenshot actually costs

Eighteen ways to buy one thousand 3840x2160 screenshots, ordered by the bill rather than by the rate. The middle column is the number everyone shops on. Notice how little work it does.

ModelInput /1MTokens/imagePer 1,000
DeepSeek V4-Flash-Vision, off-peak$0.22369$0.0812
Qwen3-VL Flash, default$0.052,481$0.1241
DeepSeek V4-Flash-Vision, peak$0.44369$0.1624
Mistral Small 4$0.151,705$0.2558
Qwen3-VL Plus, default$0.202,481$0.4962
Gemini 3.7 Flash$0.751,120$0.8400
Mistral Large 3$0.501,705$0.8525
Claude Haiku 4.5$1.001,560$1.5600
Qwen3-VL Plus, high-res flag$0.208,162$1.6324
GPT-5.6 Luna, default$0.209,792$1.9584
Gemini 3.1 Pro Preview$2.001,120$2.2400
Claude Sonnet 4.6$3.001,560$4.6800
Claude Sonnet 5$2.004,784$9.5680
GPT-5.6 Sol, detail high$4.002,765$11.0600
GPT-5.6 Terra, default$2.009,792$19.5840
Claude Opus 5$5.004,784$23.9200
GPT-5.6 Sol, default$4.009,792$39.1680
Claude Fable 5$10.004,784$47.8400

Input tokens only, at standard non-batch rates, read on August 26. Two of these rows have dates attached: Gemini 3.7 Flash's $0.75 reverts to $1.50 on January 1, 2027, and GPT-5.6 Sol's $4.00 is promotional at least through November 21, 2026. Gemini 3.1 Pro is still Preview.

Run your eye down the two numeric columns and they disagree constantly. GPT-5.6 Luna undercuts Claude Haiku 4.5 five to one on the rate, $0.20 per million against $1.00, and costs about a quarter more per screenshot, because it bills 9,792 tokens where Haiku bills 1,560. The counting rule reverses a five-fold price advantage and then some. Qwen3-VL Plus and Luna charge the identical $0.20 and land four rows apart. Mistral Large 3 charges $0.50 where Mistral Small 4 charges $0.15, and both send the same 1,705 tokens, which is the one pair in the table where the price list tells the whole story.

Top to bottom, DeepSeek off-peak bills $0.0812 for a thousand of these and Fable 5 bills $47.84. Put differently, the money that buys you one screenshot on Fable 5 buys you the better part of six hundred on DeepSeek, and the file you uploaded was the same file. Decompose the gap and 45.5x of it is the per-token rate, which is the part you can see, and 13.0x is the token count, which is the part you cannot. Those two multiply.

One caveat on the cheapest row, because it deserves stating rather than burying. DeepSeek publishes no formula in prose; it says images are billed at up to 384 tokens each and that a 2000x2000 and a 5000x5000 image cost the same. The 369 figure comes from the calculator DeepSeek ships on its own documentation site, which reproduces that published example exactly, and which DeepSeek itself labels an estimate while naming the API usage field as the source of truth. Treat it as very good rather than settled.

Fifty turns of a browser agent

Per-image pricing sounds like a rounding error until something starts producing images on a loop. Five days ago we counted what Claude's browser tool costs before it reads a word, and landed on about 6,610 input tokens for the toolset definition. A single 4K screenshot on Opus 5 is 4,784 tokens, which is 0.72 of that entire definition, except the definition is billed once and the screenshot is billed every turn.

Screenshot sizePer turn50 turnsOn Opus 5
3840x2160, as captured4,784239,200$1.1960
1920x10802,691134,550$0.6728
1456x819, pre-resized1,56078,000$0.3900

Fresh screenshot tokens only, at Opus 5's $5.00 per million input. Assumes the conversation history is served from cache; if it is not, a 50-turn loop resends 6,099,600 screenshot tokens rather than 239,200.

The 1456x819 row is the interesting one, and not for the obvious reason. That is not a number we picked for being round. It is the exact size at which the two Claude tiers converge: below it both tiers bill identically, and it is precisely where a standard-tier model would have landed your 4K capture anyway. Pre-resize to 1456x819 on Opus 5 and you pay 1,560 tokens instead of 4,784, a 67.4% cut, for an image a Haiku 4.5 deployment would have been looking at all along.

Whether you should is a real question rather than a rhetorical one. Anthropic built the high-resolution tier for computer use, screenshot understanding and dense documents, which is exactly the workload we are describing, and their own guidance is to downsample only if you do not need the fidelity. Small UI text is where the extra patches earn their money. The point is that keeping the full-resolution capture roughly triples what every frame costs, and almost nobody is making that trade on purpose.

One trap specific to agents, which we did not expect and which will bite somebody. Ordinary oversized images are silently downscaled. Screenshots returned to the computer use and browser use toolsets are not: the API rejects an oversized tool result with a validation error instead of resizing it. So the one workload that generates images fastest is also the one where the safety net is switched off, and you have to do the resizing yourself.

Where every number came from, and the three we could not settle

Three things we could not close

  • Sonnet 5's tier. Anthropic defines the tiers by generation, never by an enumerated list. Opus 5 is stated to be high-resolution and Haiku 4.5 stated to be standard. Sonnet 5 is above the 4.7 threshold so it falls in the high-resolution tier by the stated rule, but no page says its name.
  • Google's two answers. The image-understanding page describes 258-token tiles, which works out to 1,548 tokens for a 16:9 image at any resolution. The media-resolution page caps a Gemini 3 image at 1,120 by default. Those cannot both be right and Google does not reconcile them. We used 1,120 because it is the page that governs the 3.x models.
  • No live billing. Every figure here comes from documentation or from code the vendors publish themselves. We made no API calls. OpenAI warns that floating-point rounding can move a count by one token, and DeepSeek warns its calculator is an estimate.

Resize first, then argue about models

The ordinary advice at the end of a comparison is to pick the cheap one. It is the wrong advice here, because on this axis the model choice is second-order and the capture pipeline is first-order. A 4K screenshot on GPT-5.6 with one parameter set costs less than the same screenshot on the same model with nothing set, and the gap between those two is larger than the gap between most of the models in the table.

So: find out what resolution you are actually sending. Most people are sending whatever their screenshot library hands them, which on a modern laptop is a HiDPI buffer nobody asked for. Then set the one control your provider gives you. On GPT-5.6 that is detail. On Claude it is the size of the image you upload, and 1456x819 is the number worth knowing. On Gemini 3 and DeepSeek there is nothing to set, because they already decided resolution will not move your bill, which in hindsight looks like the more considerate design.

And if you take one habit from this: stop reading a vision model's price per million tokens as though it told you what an image costs. We priced one identical screenshot eighteen ways today and the ranking by rate disagrees with the ranking by bill almost the whole way down. Three models charging the same $2.00 came out 8.74 times apart, and one vendor does not publish enough to be ranked at all.