# How to Reduce OpenAI API Costs: Every Lever That Works in 2026

Seven levers that cut OpenAI API bills, with worked numbers for each: model routing, prompt caching, batch jobs, prompt trimming, output caps, monitoring, and a flat-rate lane.

*Published 2026-06-12 · https://proxyllm.ai/blog/reduce-openai-api-costs*

Most OpenAI API bills can drop 30 to 90 percent without changing what the product does. Seven levers do the work: cheaper models for simple tasks, prompt caching, the Batch API, prompt trimming, output caps, per-key monitoring, and a flat-rate subscription lane for bulk volume. Below, each lever is applied to the same baseline workload with the arithmetic shown, so you can rank them for your own stack.

## The baseline workload

All numbers use OpenAI's June 2026 prices; the live source is [OpenAI's pricing page](https://openai.com/api/pricing). Take a production app on GPT-5 ($1.25 per million input tokens, $10 per million output) processing 800M input and 60M output tokens a month:

- Input: 800M × $1.25 = $1,000
- Output: 60M × $10 = $600
- **Baseline: $1,600 a month**

Each lever below is applied alone to this baseline so the savings stay comparable.

## Lever 1: route simple work to cheaper models

The price spread across OpenAI's lineup is wider than most codebases assume: GPT-5.5 at $5/$30 per million tokens, GPT-5 at $1.25/$10, GPT-5 Mini at $0.25/$2, GPT-5 Nano at $0.05/$0.40. Classification, extraction, formatting, and short summaries rarely need the model your hardest task needs.

Route 70 percent of the baseline traffic to GPT-5 Mini:

- Input: 560M × $0.25 + 240M × $1.25 = $140 + $300 = $440
- Output: 42M × $2 + 18M × $10 = $84 + $180 = $264
- New total: $704, a 56 percent cut

Model choice is the largest single cost lever on the OpenAI API. Picking the right tier per task type is covered in [the cheapest OpenAI model that still does the job](/blog/cheapest-openai-model-for-production).

## Lever 2: cache your prompt prefixes

OpenAI bills cached input at a 90 percent discount: $0.125 per million tokens on GPT-5 instead of $1.25, as of June 2026. Caching is automatic when requests repeat the same opening tokens, so the work is structural: system prompt, tool definitions, and examples first; user message and retrieved context last.

If 60 percent of the baseline's input tokens hit the cache:

- Input: 480M × $0.125 + 320M × $1.25 = $60 + $400 = $460
- Output: unchanged at $600
- New total: $1,060, a 34 percent cut

Prefix rules, eviction behavior, and hit-rate measurement are in [OpenAI prompt caching explained](/blog/openai-prompt-caching-explained).

## Lever 3: batch everything that can wait

The Batch API takes 50 percent off both input and output for jobs returned within 24 hours. Nightly summaries, eval suites, backfills, and digests never needed a synchronous response in the first place.

Move the asynchronous 40 percent of the baseline to batch:

- Batched slice: $640 × 0.5 = $320
- New total: $960 + $320 = $1,280, a 20 percent cut

Mechanics and the workload test are in [the OpenAI Batch API explained](/blog/openai-batch-api-discount-explained).

## Lever 4: trim the prompts

The cheapest token is the one you never send. Three common diets: shrink the system prompt (most carry instructions the current model no longer needs), cap conversation history instead of resending all of it, and slim verbose tool schemas, which bill on every call.

A 30 percent input reduction on the baseline:

- Input: $1,000 × 0.7 = $700
- New total: $1,300, a 19 percent cut

## Lever 5: cap the output

Output tokens cost eight times what input tokens cost on GPT-5 ($10 versus $1.25). Set `max_output_tokens` per route, ask for terse formats (a JSON field, not an essay), and keep reasoning effort low on tasks that do not need deep thought, since reasoning tokens bill as output.

Cutting output tokens 25 percent:

- Output: 45M × $10 = $450
- New total: $1,450, a 9 percent cut

## Lever 6: monitor per key, alert on anomalies

Monitoring prevents the spikes that wreck a month rather than cutting the steady-state bill. One unguarded retry loop at four requests per second, 2,000 input and 300 output tokens each, burns about $475 in six hours on GPT-5:

- 86,400 requests × 2,000 input tokens = 172.8M × $1.25 = $216
- 86,400 × 300 output tokens = 25.9M × $10 = $259

Set OpenAI's budget alerts, give every app its own key, and read the per-key usage page weekly. Our free tier adds per-request logs with the cost of each call. If the bill already looks wrong, work through [the diagnostic checklist](/blog/why-is-my-openai-bill-so-high) before optimizing anything.

## Lever 7: move bulk volume to a flat-rate lane

This is the lever the optimization lists skip. ChatGPT plans price usage flat: $20 a month for Plus, $100 for Pro 5x, $200 for Pro 20x, with usage windows instead of a meter. Those plans include Codex, OpenAI's coding agent, and its non-interactive mode is documented, intended functionality. We run the official Codex CLI signed in with your own account and expose it as an OpenAI-compatible endpoint, so bulk workloads bill to the plan. OpenAI's terms still govern your account, and OpenAI has the final call.

Capacity estimates we use for planning, never guarantees: Plus absorbs roughly $700 of API-equivalent work a month, Pro 5x roughly $3,500, Pro 20x roughly $14,000.

Applied to the baseline: $1,600 of monthly API work sits inside the Pro 5x estimate. Pro 5x is $100 and ProxyLLM's flat fee is $129, an 86 percent cut, with your API key as the fallback lane for overflow and for anything that needs streaming, since the Codex lane returns complete responses. Full math and caveats: [OpenAI API vs ChatGPT subscription cost](/blog/openai-api-vs-chatgpt-subscription-cost).

## The scoreboard

| Lever, applied alone to the $1,600 baseline | New monthly bill | Saving                  |
| ------------------------------------------- | ---------------- | ----------------------- |
| 1. Route 70% of traffic to GPT-5 Mini       | $704             | $896 (56%)              |
| 2. Cache prompt prefixes (60% of input)     | $1,060           | $540 (34%)              |
| 3. Batch the async 40% of jobs              | $1,280           | $320 (20%)              |
| 4. Trim prompts 30%                         | $1,300           | $300 (19%)              |
| 5. Cap output (25% fewer output tokens)     | $1,450           | $150 (9%)               |
| 6. Monitoring and per-key caps              | prevents spikes  | incident-sized          |
| 7. Flat-rate lane for bulk volume           | ~$100 + $129 + overflow | ~$1,371 (86%, estimate) |

The metered levers stack: routing plus caching plus trimming routinely lands 60 to 75 percent below baseline. The flat lane is different in kind. It caps the bulk of the bill regardless of how efficient the prompts are, and it pairs with every lever above on the traffic that stays metered.

Thirty seconds in the [calculator](/calculator) tells you whether your number sits above the crossover where the flat lane starts paying for itself.
