AI Token Price

How to Cut Your AI API Bill in Half: 8 Tactics That Work

Most AI bills can be halved without changing what the product does. These are the levers, roughly in the order they pay off.

Guide Published Updated 4 min read By AI Token Price

The examples below use one workload so the savings are comparable: 100M input tokens and 10M output tokens a month, which is roughly a busy support bot or a small team's internal assistant. On GPT-6.1 Sol at list price, that costs $300 a month.

1. Cache everything that repeats

Most applications resend the same text with every request: the system prompt, tool definitions, reference documents, or the conversation so far. Providers bill repeated prefixes at a cache-read rate that is usually a tenth of the normal input price, and less on some models.

ModelInputCached inputSaving on cached tokens
GPT-6.1 Sol$2.00$0.1095%
Claude Sonnet 5.5$2.00$0.1095%
Claude Opus 5.5$4.00$0.2095%
Gemini 3.8 Flash$0.75$0.07590%
DeepSeek V4.1 Flash$0.30$0.00698%
Grok 4.7$2.00$0.5075%

Per 1M tokens. Verified 13 Oct 2026; this table updates automatically.

If 60% of the example's input is a stable prefix, the monthly cost on GPT-6.1 Sol drops from $300 to $186. To get there:

  • Put stable content first and anything that changes (the user's message, retrieved snippets, dates) last.
  • Keep the prefix byte-for-byte identical. Reordering tool definitions or adding a timestamp breaks the cache.
  • For agents, keep appending to the conversation rather than rewriting earlier turns.
  • Check the usage section of API responses, which reports how many input tokens were read from cache.

2. Send anything that can wait as a batch

Anthropic, OpenAI, Google and Mistral bill batch requests at 50% off, with results returned within 24 hours and usually much sooner. Evaluations, classification backlogs, embeddings, enrichment jobs and scheduled reports rarely need an instant answer. Moving a quarter of the example's traffic to batch, on top of caching, brings it to $163.

3. Route easy requests to a cheaper model

The biggest saving is usually not a discount but a smaller model. Within one provider, the gap between tiers is large: GPT-6 Luna costs $0.10 / $0.50 per 1M tokens against GPT-6.1 Sol's $2.00 / $10.00, a twentieth of the price. Many requests (greetings, classification, extraction, short factual answers, formatting) don't need the larger model.

A simple router sends each request to the smallest model likely to handle it and escalates when a check fails. Even sending half the example's traffic to GPT-6 Luna, with the other half on Sol, gives about $150 plus $7.50 a month instead of $300. Test the small model on real examples first: a model that fails and retries costs more than getting it right once.

ModelInput / output per 1MPer month
GPT-6 Luna$0.10 / $0.50$15.00
Claude Haiku 5.5$0.10 / $0.50$15.00
DeepSeek V4.1 Flash$0.30 / $1.20$42.00
Gemini 3.5 Flash-Lite$0.30 / $2.50$55.00
Gemini 3.8 Flash$0.75 / $3.75$113
GPT-6.1 Sol$2.00 / $10.00$300
Claude Sonnet 5.5$2.00 / $10.00$300

100M input and 10M output tokens a month. Prices verified 13 Oct 2026; this table updates automatically.

4. Send less context

Input is usually most of the bill, and much of it is text the model doesn't need.

  • Retrieve, don't paste. Send the three most relevant passages rather than a whole manual.
  • Summarise long conversations. After a few turns, replace old messages with a short summary.
  • Trim tool output. An agent that reads a 2,000-line file to change one function pays for every line, at every later step.
  • Cut boilerplate from system prompts. A 4,000-token prompt sent a million times a month is 4 billion tokens.

5. Ask for shorter output, and cap reasoning

Output costs three to eight times as much as input. Ask for the format you need ("answer in one sentence", "return JSON with these fields") and set a maximum output length. For reasoning models, use the lowest reasoning effort that gives acceptable results; reasoning tokens are billed as output even when you don't see them.

6. Stay under long-prompt thresholds

Several models charge more for the whole request once a prompt passes a size limit. OpenAI's GPT-6 models double the input price (and add 50% to output) above 272K tokens; Gemini 3.1 Pro goes from $2.00 / $12.00 to $4 / $18 above 200K; Grok 4.7 goes from $2.00 / $6.00 to $4 / $12 at 200K. If your prompts sit just above a threshold, trimming them below it saves far more than the tokens removed.

7. Use off-peak hours and promotions, knowingly

DeepSeek charges half price during its off-peak hours, which suits overnight jobs: DeepSeek V4.1 Flash drops from $0.30 / $1.20 to $0.15 / $0.60. Promotional prices can also help, as long as you plan for them to end. Gemini 3.8 Flash costs $0.75 / $3.75 until 31 December 2026, then $1.50 / $7.50. Our price table marks every promotion with its end date.

8. Check whether a subscription is cheaper

For one person's heavy use of a chat app or coding agent, a flat-rate plan can cost far less than the same usage through the API. Claude Code, for example, is included in Claude Pro, Max and Ultra plans, and OpenAI's Codex in ChatGPT plans, within usage limits. The API vs subscription calculator shows where the break-even is for your usage. For products with many users, the API is the only option.

Putting it together

For the example workload, caching (tactic 1) and a quarter of the traffic on batch (tactic 2) cut the bill from $300 to $163 without changing the model or what the prompts say. Route half of the requests to GPT-6 Luna as well (tactic 3) and the same traffic costs $81.38 on Sol plus $4.20 on Luna: under a third of where it started. Trimming context and output comes on top.

Estimate your own numbers with the token cost calculator, which applies caching and batch discounts, or the agent cost calculator for multi-step agents. New to the terminology? Start with how AI model pricing works.

Prices in this article come from each provider’s pricing page or, for open-weight models sold by other hosts, the cheapest host listed on OpenRouter. Live prices are always on the price table; tables marked “updates automatically” use current data.

More guides

All guides