How to Cut GPT-5 API Costs Without Losing Quality
Most teams overspend on GPT-5 for one reason: output tokens cost eight times more than input tokens, and reasoning models generate a lot of hidden output. Fixing the obvious waste usually drops the bill by 60 to 80 percent.
Short answer: set reasoning_effort="low" for anything mechanical, cap max_output_tokens, enable prompt caching for repeated system prompts, and send only relevant chunks instead of whole documents.
Why is GPT-5 so expensive to run?
GPT-5 is priced at $1.25 per million input tokens and $10 per million output tokens. That 8:1 ratio means a prompt that reads 100K tokens and writes 5K tokens costs $0.125 in input and $0.05 in output — but the reasoning tokens you never see are billed as output too.
At high reasoning effort, a single hard question can generate 20K to 40K reasoning tokens. That is $0.20 to $0.40 for one answer. Multiply by a few thousand calls a day and it adds up fast.
How do you cut GPT-5 output costs?
- Cap the output. Set
max_output_tokens=800for chat replies. Unbounded generation is where bills explode. - Match effort to task. Use low for extraction and routing, medium for drafting, high only when you have measured that it fixes real errors.
- Turn off visible reasoning. If you are logging chain-of-thought you do not read, stop paying for it.
- Ask for structured output. JSON mode returns fewer tokens than prose and parses reliably.
resp = client.chat.completions.create(
model="gpt-5",
reasoning_effort="low",
max_output_tokens=800,
response_format={"type": "json_object"},
messages=[...]
)
Does prompt caching actually help GPT-5?
Yes, and it is the single biggest win for agents. If your system prompt is 8K tokens and you run 10,000 calls a day, you are paying $100 a day just on instructions. Prompt caching cuts the cached input portion by up to 90 percent on repeated prefixes.
The pattern is to put stable content first — system prompt, tool definitions, style guide — and variable content last. Caches match on prefixes, so order matters more than people expect.
When should you route away from GPT-5?
A surprising share of calls do not need a frontier model. Sentiment tagging, language detection, and simple reformatting can run on a small model at one-hundredth the price with equal accuracy on those narrow tasks.
| Task | Route to | Cost impact |
|---|---|---|
| Classification, tagging | Small model | -95% |
| Drafting, analysis | GPT-5 medium | baseline |
| Hard math, debugging | GPT-5 high | +200% |
Build a router that scores input complexity first. Even a crude keyword-based router catches the easy 40 percent.
What is the one metric to track?
Track cost per resolved task, not cost per token. A model that answers in one call at $0.30 beats a cheaper model that needs three retries at $0.08 each. Teams that only optimize token price often end up spending more because retry loops multiply output tokens.
This cost-cutting playbook suits teams running more than a few thousand calls a day. If you make 20 requests a week, the effort is not worth it — just use the ChatGPT UI.
Quick Summary
- GPT-5 output tokens cost 8x input tokens, and reasoning tokens are billed as output.
- Cap
max_output_tokensand use low reasoning effort for mechanical tasks. - Prompt caching can cut cached input costs by up to 90 percent on repeated prefixes.
- Route simple classification and extraction to a small model for roughly 95 percent savings.
- Measure cost per resolved task, because retries hide the real bill.
