Guides / image token cost
What an image actually costs, and why it moved when you changed model
An image is billed as input tokens rather than a flat per-image fee. Claude converts it into visual tokens on a published formula, and newer models allow three times more of them for the same picture. Culpa, a local-first LLM cost, margin, and forecast ledger, prices every call from the tokens the provider reports, images included.
Why this happens
The first surprise is that there's no image line to look for. Providers convert a picture into input tokens and charge the ordinary input rate, so a vision call looks like a text call with a large prompt. Anthropic publishes the conversion: an image is divided into 28-pixel patches and each patch is one visual token, so the count is the width in patches times the height in patches. That makes image cost a function of resolution, which is the second surprise, because resolution is usually set by whatever produced the file rather than by anyone thinking about money. The third is the one that moves bills. Models sit in one of two resolution tiers, and the newer tier permits roughly three times the visual tokens for the same image before downscaling kicks in. Upgrade the model and your image costs rise sharply with no change to your code, your prompts or your pictures.
What this usually looks like
- Your bill rose after a model upgrade and the prompts didn't change.
- You looked for a per-image charge and couldn't find one.
- Screenshots go to the model at whatever size the screen happened to be.
- Nobody knows the average resolution of the images you send.
- A vision feature costs more than a text feature doing similar work.
Free, no card, no account
Run the free Cost Leak Scan
It shows your most expensive conversation before you install anything.
Mistakes that cost the most
| Mistake | Why it hurts | Do instead |
|---|---|---|
| Looking for a per-image price. | There isn't one on the models most people use, so the search ends with the wrong conclusion that images are free. | Convert resolution to visual tokens, then price them at the input rate. |
| Sending images at whatever size they arrive. | Cost scales with pixels, so an unresized screenshot can cost several times a resized one. | Downscale before sending, to the smallest size the task still works at. |
| Assuming a model upgrade keeps image costs flat. | The newer resolution tier allows about three times the visual tokens for the same image. | Re-price your image workload against the new tier before you migrate. |
| Treating image cost as fixed per call. | Two calls with one image each can differ by an order of magnitude on resolution alone. | Record the token count per call, which already carries the image cost inside it. |
Run this check tonight
- Take a typical image you send and work out its visual tokens from its dimensions.
- Multiply by your model's input rate and by your monthly image volume.
- Check which resolution tier your model sits in, and what the other tier would cost.
- Find the largest image your product will accept and price that as your worst case.
The same picture, priced three ways
Anthropic's vision documentation, read 2026-08-05, publishes the formula, a token table and worked per-thousand figures. A 1000x1000 image costs ceil(1000/28) x ceil(1000/28) visual tokens. A 4K image at 3840x2160 downscales to 1,560 visual tokens on the standard tier and 4,784 on the high-resolution tier, which covers Claude 4.7 and later. Rates are the price book's real $1.00 per million for Haiku 4.5 and $5.00 for Opus 5. Every figure below is published rather than assumed.
Anthropic states all three dollar figures in its own prose, and re-deriving them from the formula reproduces each one exactly. That's worth noticing: the arithmetic here isn't an interpretation of the pricing page, it agrees with it to the cent. The 3.07x tier difference is the part that arrives unannounced, because a model upgrade changes it without touching a line of your code.
Every number, with its confidence and source
| Figure | What it means | Confidence | Source |
|---|---|---|---|
| $1.30, $6.48 and $23.92 per thousand images | published cost of a 1000x1000 image on two models, and a 4K image on the high-resolution tier | provider-reported | Anthropic's vision documentation at platform.claude.com/docs/en/build-with-claude/vision, read 2026-08-05, states each figure in its own prose. The same page publishes the formula and the token table, and re-deriving from them reproduces all three exactly: 1,296 visual tokens at $1.00 and $5.00 per million, and 4,784 tokens at $5.00 per million, each times 1,000 images. Rates match this price book's Haiku 4.5 and Opus 5 rows. |
| 3.07x | visual-token cost of one 4K image on the high-resolution tier against the standard tier | calculated | Anthropic's published token table gives 4,784 visual tokens for a 3840x2160 image on the high-resolution tier and 1,560 on the standard tier. 4,784 / 1,560 = 3.07, matching the same page's statement that high-resolution images can use roughly three times more visual tokens. Both token counts are published. |
What a generic answer can’t know
The formula is public and the rates are public, so anyone can price one image. What nobody outside your system knows is the distribution of images you actually send, and that's the whole number. A product accepting user uploads has a resolution profile it has never looked at, with a tail of very large files that cost multiples of the median. Culpa prices every call from the tokens the provider reports, so image cost is already inside your per-call figures rather than sitting in a separate bucket, and it carries whatever identifiers you attach. That turns the useful questions into queries: which feature sends the biggest images, which customers, and what a downscaling step would have saved on last month's real traffic rather than on an assumed average.
Questions founders ask next
How much does an image cost in the Claude API?
There's no per-image fee. An image becomes input tokens on the formula ceil(width/28) x ceil(height/28), and those tokens bill at the model's normal input rate. A 1000x1000 image is 1,296 visual tokens, which is $1.30 per thousand images on Haiku 4.5 and $6.48 on Opus 5.
Why did my image costs rise after upgrading the model?
Resolution tiers. Claude 4.7 and later allow up to 4,784 visual tokens per image, earlier models cap at 1,568. The same 4K image is 4,784 tokens on the newer tier against 1,560 on the older one, a factor of 3.07, with no change to your code or your images.
Does resizing an image before sending it save money?
Yes, and proportionally. Cost tracks the patch count, which tracks pixels, so halving both dimensions cuts visual tokens to roughly a quarter. Above the tier limit the provider downscales anyway, so sending an oversized file buys nothing and costs upload time.
How do I budget for a vision feature?
Take your median and worst-case image dimensions, convert both to visual tokens, and price them at your model's input rate against expected volume. The worst case matters more than usual here, because a product accepting uploads has no control over what arrives.
On your infrastructure
Culpa runs on your infrastructure. Your prompts and responses never leave it. Culpa counts calls to run your plan, and it fails open, so if it ever breaks your app keeps running.
How Culpa works
Find the culprit. Not just the total.
Your dashboard shows what you spent. It stops short of who spent it. Culpa shows the conversation, the user and the feature behind it.
Your prompts stay local.
Culpa runs on your own infrastructure. What you send to a model reaches us at no point.
Every dollar has a name.
Follow any charge to the conversation, the user, the feature and the customer behind it.
See the bill before it lands.
Cost your next feature before you ship it. You get the likely bill and the worst case, at best, median, p90 and p99.
Three steps to your first answer.
Change one base URL.
Or drop in the Python or TypeScript library.
Find your most expensive conversation.
In the first session, not the first week.
Cost your next feature before you ship it.
Why the bill went up
Example dashboardCalls traced
418,209
across 3 projects
Spend this week
$378.41
+ $182 vs last week
Failed calls
312
74% retried, and you paid for all of them
+ $182 this week traced to one culprit
Spend over 14 days
Most expensive users
Next week forecast
Graded against reality. Accuracy shown as results land.
Keep reading
Sources: Anthropic, vision and image token cost, Anthropic pricing. Last reviewed 2026-08-05, rates effective 2026-07-02. Plain text version.