LAB REPORT

API Pricing vs Real Usage: A Cost Audit Experiment

We modeled real usage patterns against published API rates to find where sticker price and actual spend diverge — and which discounts close the gap.

Sticker-price API rates rarely match what teams actually pay at the end of the month. This experiment compares published per-token pricing against realistic usage patterns to find out where the real spend hides — and which discount levers close the gap.

Quick Answer

Prompt caching and batch processing consistently save more than switching to a cheaper model tier, once real usage patterns (repeated system prompts, non-real-time workloads) are factored in. Check whether these two discounts are enabled before assuming a model downgrade is your best cost lever.

Key Takeaways

  • Repeat-heavy workloads (chatbots resending the same system prompt) lose the most to sticker-price-vs-real-cost divergence.
  • Batch processing is the single highest-leverage discount for any async, non-real-time workload.
  • A cached-and-batched flagship-tier request can cost less than an uncached, real-time budget-tier request for the same task.
  • Model tier matters less than workload shape once discounts are properly applied.

Objective

Determine where published API sticker prices diverge most from realistic total spend, and quantify which available discounts close that gap most effectively across different usage profiles.

Methodology

We modeled three usage profiles — light interactive use, a production chatbot, and a batch data-processing job — against current published API rates from major providers, then layered on the two most common discounts: prompt caching and batch processing. Rates reflect official provider pricing pages as of mid-2026; providers update pricing periodically, so treat specific dollar figures as directional rather than fixed.

This is a modeling exercise based on published rates and realistic usage assumptions, not a live production traffic capture — actual results will vary by your specific prompt structure, conversation length, and provider.

Current rates used

  • Budget tier (smaller, faster models): roughly $1 input / $5 output per million tokens.
  • Mid tier (balanced models): roughly $2-3 input / $10-15 output per million tokens, with some providers running temporary introductory pricing.
  • Flagship tier (largest, most capable models): roughly $5 input / $25 output per million tokens.
  • Prompt caching: cached reads typically run about 90% cheaper than fresh input.
  • Batch processing: roughly 50% off both input and output, for workloads that don’t need a real-time response.

Models tested (by tier, not by specific product name)

Rather than naming specific model versions — which turn over faster than most content should track — this experiment modeled generic budget, mid, and flagship price tiers representative of the current market range across major providers. If you want exact current rates for a specific model, check the provider’s pricing page directly.

Finding 1: sticker price and real cost diverge fast on repeat-heavy workloads

A chatbot that resends the same system prompt and conversation history on every turn pays full input price for content that never changes. In our model, a 200-turn conversation with an uncached 2,000-token system prompt paid for that prompt 200 times over — nearly 400,000 wasted input tokens per conversation. Enabling caching cut that segment of the bill by roughly 90%, the single largest per-conversation saving we modeled.

This finding scales with conversation length: the longer a session runs, the more the uncached repeated-prompt cost compounds relative to the actual new content being processed each turn.

Finding 2: batch discounts are the single biggest lever for async work

For the data-processing profile — summarizing a large batch of documents overnight — routing through an async batch endpoint instead of the real-time API cut the modeled bill in half with no code changes beyond accepting a delayed response. This is consistently the highest-leverage discount for any workload that doesn’t need an instant reply, and it requires no model change at all.

Finding 3: model tier matters less than workload shape

Switching from a flagship-tier model to a budget-tier model saved less than expected once caching and batching were applied to the flagship model. In our model, a cached-and-batched flagship request cost less than an uncached, real-time budget-tier request for the same task — meaning the “cheap model” default isn’t always actually cheaper once real usage patterns are accounted for.

Why sticker-price comparisons mislead teams

Most public cost comparisons and calculators use a single “cost per million tokens” figure to rank models against each other, which is a reasonable starting point but misses the discounts that determine real spend for anyone running a production workload rather than occasional queries. A model with a higher sticker price but better caching-friendly usage patterns can end up cheaper in practice than a lower-sticker-price model used inefficiently. This is the core reason the model-selection conversation should include usage pattern, not just headline rate.

Deeper look: the chatbot profile

The production chatbot profile in our model assumed a 2,000-token system prompt (product context, tone instructions, and a handful of few-shot examples) resent on every turn of a growing conversation, alongside genuinely new user input and model output each turn. As the conversation grows from turn 1 to turn 200, the proportion of total input tokens spent on the repeated, unchanged system prompt grows steadily — by turn 100, the static system prompt can represent a majority of total input tokens for that single request, even though its content hasn’t changed since turn 1.

This is precisely the pattern caching is designed to address: after the first call, the cached version of that system prompt is billed at a fraction of the standard input rate on every subsequent turn. The saving compounds with conversation length, which is why long-running chatbot and agent sessions see the largest relative benefit from caching among the profiles we modeled.

Deeper look: the batch data-processing profile

The batch profile modeled an overnight document-summarization job — hundreds of independent documents processed with no user waiting on an immediate response. Because none of these requests need real-time turnaround, routing the entire job through an async batch endpoint captured the full available discount with essentially no downside for this use case. The only requirement is tolerance for the delay window most batch APIs impose, commonly up to 24 hours, which is a non-issue for genuinely asynchronous, non-urgent workloads like this one.

The main mistake teams make with batch-eligible workloads is defaulting to the real-time API out of habit, even when nothing in the workflow actually requires an immediate response — this is the single easiest cost optimization to miss, since it requires no model change and often just a different API endpoint.

When model-tier switching still makes sense

None of this means model tier never matters for cost. For workloads with genuinely little repeated content and no batch-eligible portion — a one-off, highly variable query with no static context — caching and batching have little to offer, and model tier becomes the primary lever again. The finding here is specifically that teams should check for caching and batching opportunities before defaulting to a model downgrade, not that model tier is never worth adjusting.

Comparison table: modeled monthly cost by profile

Profile Uncached, real-time cost With caching + batch (where applicable) Reduction
Light interactive use Baseline Modest reduction (caching only, no batch) ~15-25%
Production chatbot Baseline Significant reduction (heavy caching benefit) ~40-60%
Batch data processing Baseline Largest reduction (batch discount applies fully) ~50%+

Figures are directional, modeled reductions based on the usage profiles described above, not measured production data. Your actual savings depend heavily on your specific prompt structure and how much of your workload is genuinely cacheable or batchable.

Practical takeaway

Before switching models to cut costs, check whether caching and batching are already enabled — for many workloads, those two levers save more than a model downgrade does, without touching output quality. Reserve the actual model-tier decision for cases where task complexity genuinely requires it, after the discount levers have already been applied.

How to apply this to your own workload

  1. Identify any static or repeated content in your prompts (system prompts, few-shot examples, reference documents) — this is your caching opportunity.
  2. Identify any part of your workload that doesn’t need a real-time response — this is your batching opportunity.
  3. Apply both discounts before considering a model downgrade, and re-measure your actual cost.
  4. Only then evaluate whether a lower-tier model still makes sense for the remaining cost, weighing any quality tradeoff against the smaller remaining savings.

Expert tip

Caching has a minimum token threshold on most providers — very short system prompts may not be worth caching at all, since the caching overhead can offset the savings on small amounts of content. Check your provider’s minimum cacheable token count before assuming caching will help a short, simple prompt structure.

Limitations

  • Modeled scenarios based on published rates and typical usage assumptions, not measured production traffic — real workloads vary by prompt structure and conversation length.
  • Provider pricing changes periodically; verify current rates on the provider’s official pricing page before budgeting.
  • Discount availability and exact percentages vary by provider and specific model — confirm both before relying on the figures above for your own planning.
  • This experiment did not measure output quality differences between tiers, only cost — see the quality-focused comparison for that dimension if available, or run your own quality evaluation alongside any cost optimization.

Conclusions

The gap between sticker price and real spend is largest for repeat-heavy, real-time workloads, and smallest for workloads that are already batched or have little repeated content. Caching and batching are underused relative to how much they save, likely because they require a small engineering change rather than being automatic — unlike a model-tier switch, which is often a single configuration change. Teams optimizing AI spend should check discount eligibility before defaulting to a model downgrade as the first lever.

What we’d test in a follow-up experiment

This modeling exercise focused on cost; a natural follow-up would measure whether output quality holds up when a workload is restructured to maximize caching and batching eligibility — for example, whether compressing a long system prompt to fit caching minimums, or restructuring a workflow to be batch-eligible, introduces any quality tradeoff of its own. We’d also want to model a fourth profile: a hybrid workload with both real-time and batch-eligible components in the same application, which is common in practice but wasn’t isolated in this round.

FAQ

Does caching affect output quality?

No — caching only affects how repeated input content is billed, not what the model generates. Output quality is unaffected by whether input was served from cache.

Can I combine caching and batching on the same request?

Availability varies by provider — check current documentation, since some providers apply both discounts together while others treat them as mutually exclusive options.

How do I know if my workload has enough repeated content to benefit from caching?

If your prompts include a static system prompt, reference document, or few-shot examples sent unchanged across multiple calls, you likely have a meaningful caching opportunity — the more of your total input tokens fall into that repeated category, the bigger the potential saving.

Check your own numbers

Run your actual usage through the API vs Subscription Cost Calculator, see the Cost-to-Performance Ratio Analysis for more on where budget models hold up on quality, and consider the Multi-Model Routing Workflow once your caching and batching levers are already in place.

About the Author ComputerBin

Hi, I am computerbin.