Ask Cat › AI Tool Summary › Gemini
Cut Your Gemini API Bill in Half Before the Price Doubles: How Batch (50% Off) and Caching (90% Off) Actually Work, Plus the Break-Even Formula
Article last updated:2026-09-03
The current Gemini API rates are promotional. The official pricing page states they hold through 2026-12-31 and double on 2027-01-01. Rather than react in January, fix the cost structure now — Google already offers legitimate routes to 50% and even 10% of list price, they are just not on by default.
This is the operational version: what each lever requires, where it breaks, which workloads it fits, and the arithmetic for whether a cache pays for itself.
1. Read the price table first, then decide what to cut
Gemini 3.8 Flash, from the official pricing page (read 2026-09-03):
| Item | Through 2026-12-31 | From 2027-01-01 |
|---|---|---|
| Input | US$0.75 / 1M tokens | US$1.50 |
| Output (including thinking tokens) | US$3.75 / 1M tokens | US$7.50 |
| Cached token hit | US$0.075 / 1M tokens | US$0.15 |
| Cache storage | US$0.50 / 1M tokens / hour | US$1.00 |
| Batch and Flex | 50% of the rates above | Also 50% |
Three things fall out immediately:
- Output costs five times input (US$3.75 vs US$0.75). Most people instinctively shorten the prompt, but the bill usually lives in the output — and thinking tokens bill as output.
- A cache hit costs one tenth of the input rate (US$0.075 vs US$0.75). If you resend the same long prefix, this is your biggest lever.
- Batch is a straight 50% cut with no model change and no vendor change.
2. Lever one: if it can wait, use the Batch API (50% off)
Google states that Batch API usage is priced at 50% of the standard interactive API cost for the equivalent model.
Specifics that matter:
- A 24-hour turnaround target (the docs say jobs are designed to complete within 24 hours; many finish much faster depending on size and load).
- Two submission paths: inline requests (suitable under 20MB) and a JSONL input file through the File API (max 2GB per file, recommended for large batches).
- Job states: PENDING, RUNNING, SUCCEEDED, FAILED, CANCELLED, EXPIRED — polled by job name.
- Results are stored and downloadable for 6 weeks by default, then permanently deleted. This is the trap: schedule the retrieval, or your batch output disappears.
Workloads that belong in Batch: bulk labelling, classification and extraction over existing data; large-scale translation and summarisation; eval runs; nightly regeneration of descriptions or recommendation rationales.
Workloads that do not: anything a user is waiting on. A 24-hour target is not an online service.
3. Lever two: context caching (hits cost 10%)
Two kinds, and the difference matters:
- Implicit caching is on by default for Gemini 2.5 and newer. Google’s wording: cost savings are passed on automatically when a request hits cache.
- Explicit caching means creating and reusing a cache object, which gives you control over hit rate. Note the constraint: the Interactions API supports implicit caching only; explicit caching requires the
generateContentAPI.
Minimum token thresholds (current documented values):
| Model | Minimum cacheable tokens |
|---|---|
| Gemini 3.8 / 3.7 / 3.6 / 3.5 Flash | 4,096 |
| Gemini 3.1 Pro Preview | 4,096 |
| Gemini 2.5 Flash / Pro | 2,048 |
Below the threshold nothing is cached — this is the number one reason people say “I resend the same prefix and see no savings”. A 1,500-token system prompt will never hit cache on 3.8 Flash.
How to confirm you are actually hitting: read usage.total_cached_tokens on the response. No measurement, no claim of savings — that is our house rule, and it applies to your invoice too.
4. The break-even formula for explicit caching
Explicit caches also carry storage cost (US$0.50 / 1M tokens / hour), so they are not a free win. Working from the published unit prices (this derivation is ours; Google does not publish this comparison):
- Each hit saves, per million tokens: US$0.75 − US$0.075 = US$0.675
- Each hour of storage costs, per million tokens: US$0.50
So a cache needs at least one hit per hour of life to break even (0.675 > 0.50), and two or more hits per hour is clearly profitable.
What follows:
- High-frequency services (support bots, fixed long system prompts, shared knowledge prefixes): explicit caching is close to a guaranteed win.
- Internal tools that run a few times a day: let implicit caching do its thing; a long-TTL explicit cache will lose money on storage.
- Variable prefixes (a different document pasted at the top each time): move the fixed part to the front and the variable part to the back before anything can hit. That refactor is usually the actual work.
5. Lever three: Flex
The pricing table lists Batch and Flex together at 50% of standard. Flex sits between interactive and batch for latency-tolerant traffic.
Being straight with you: we could not retrieve a standalone official Flex page in this check (the documentation path we tried returned 404). So this article cites only the confirmed 50% figure from the pricing table. Flex’s enablement parameter, latency range and supported model list are marked unverified, and we will not fill them in from secondary sources.
6. A one-week rollout order
- Measure first. Break the last week of calls down by input tokens, output tokens and cache hits. Without that table, everything after this is guessing.
- Move offline work to Batch. Pick one clearly deferrable job, run a comparison batch, confirm quality holds and cost halves.
- Reorder your prompts: fixed prefix first, variable content last, so implicit caching has a chance. Verify with
total_cached_tokens. - Enable explicit caching only on high-frequency paths, and check the TTL against the formula in section 4.
- Look at output length. Output bills at five times input, so capping response length and avoiding needless long reasoning usually beats trimming the prompt.
- Finish all of this before 2026-12-31. After new year, the same usage bills at double.
7. What we could not verify
- How to enable Flex, its latency band and supported models: the standalone doc returned 404 in this check. Unverified.
- Batch concurrency or queue limits: no maximum queued-job count is documented. Unverified.
- Default and maximum TTL for explicit caches: not listed on the pages we checked. Unverified.
- Real-world implicit cache hit rates: not published; measure
usage.total_cached_tokensyourself. - Whether the free tier gets the Batch discount: the table marks the free tier as free of charge without addressing batch specifics. Unverified.
Official links
- Gemini API pricing (source of every rate above): https://ai.google.dev/gemini-api/docs/pricing
- Batch API documentation: https://ai.google.dev/gemini-api/docs/batch-api
- Context caching documentation: https://ai.google.dev/gemini-api/docs/caching
Related
What Amo and Pimi think
Those already in the Google ecosystem: try the free version first, and if it's not enough, AI Plus for US$4.99 is the cheapest paid plan on the site. However, don't subscribe through one.google.com for US$9.99, or you'll be overpaying.
Let's take a look at these
- Gemini Comprehensive Introduction: Pricing, Features, and Actual Limitations
- Gemini Is the free quota enough?
- Gemini Alternatives
- Comprehensive Free Quota List for All Tools

