Skip to main content

Gemini 4 Argon Token Accounting: Reconcile Context, Hops and Cost

A million-token context window does not mean a million-token invoice. I would audit Gemini 4 Argon by keeping three records separate: the material present in one response, the input processed across its continuation hops, and the usage counters used to calculate charges.

This guide follows one large evidence packet through those records. You will learn why a job can fit its context while reporting more than a million processed input tokens, how a cache assumption changes its estimated price, and how to reconcile the final usage without counting progress snapshots twice.

Gemini 4 Argon accounting separates a 1,020,000-token live footprint from 1,865,536 processed input tokens and a rate-based cost ledger

Why one token total cannot answer every question

A token is a unit of material processed by the model, rather than a fixed number of words. The context window limits what the model can work with at once. A hop is a segment of continued generation. A billing record counts processing, including material processed again during later hops.

Imagine reading a large evidence packet, drafting part of a report, then reviewing the packet and the draft before continuing. The packet did not become two different packets, but it was processed more than once. This analogy explains the accounting distinction; it does not describe Google’s internal memory implementation.

The Argon model specification specifies one shared 1,048,576-token window. Our Argon preflight guide explains how to reserve capacity before a run. Here the question is what to do when the resulting usage and estimated charge look inconsistent with that capacity.

RecordQuestion it answersWhat it cannot establish
Live footprintDoes the prepared input plus this response’s generated material fit?The cumulative input-processing charge.
Processed inputHow much input did all hops process?How much distinct material occupies the final context.
Usage and ratesWhich counted categories receive which prices?Whether the report is accurate or the final invoice includes other fees.

First reconcile the capacity ledger

Use one worked scenario throughout: 900,000 prepared input tokens, 70,000 thinking tokens and 50,000 visible output tokens, with no added tool results. Thinking tokens represent internal reasoning work; visible output is the answer text returned to the application. All token allocations are assumptions for the calculation. Google’s thinking and token-limit guide says thinking and output share the response cap and the context window; an effort setting does not reserve a particular visible answer length.

The remaining space after the input is 1,048,576 − 900,000 = 148,576 tokens. The assumed response uses 120,000 of them. Its final footprint is therefore 1,020,000 tokens, leaving 28,576 unused. That spare space is not an accuracy guarantee, and a character count is not a substitute for a token count.

Read Figure 1: Read the shared boundary first, then subtract the original input. Thinking and visible output consume the remaining space together.

The window limits the live footprintA 900000-token input leaves 148576 tokens in the 1048576-token window. An assumed 70000 thinking and 50000 output tokens yield a final 1020000-token footprint and 28576 unused tokens.The window limits the live footprintWorked no-tool example. Main bar segments use a proportional token scale.ONE WINDOW: 1,048,576 TOKENS900,000original prepared input148,576remainingASSUMED RESPONSE USE70,000 thinking + 50,000 visible = 120,000Final footprint: 1,020,000 tokensUnused capacity: 28,576 tokensContinuation resumes generation inside this same boundary.
One shared capacity limitA 900000-token input leaves 148576 tokens in the 1048576-token window. An assumed 70000 thinking and 50000 output tokens yield a final 1020000-token footprint and 28576 unused tokens.One shared capacity limitWorked no-tool example.ONE WINDOW: 1,048,576Original input: 900,000Remaining space: 148,576Shared by thinking and outputASSUMED RESPONSEThinking: 70,000Visible output: 50,000Together: 120,000 tokensFinal footprint: 1,020,000Unused capacity: 28,576A new hop adds no new window.
Figure 1. Worked capacity calculation for one response with no tool results added. The response allocation is an assumption, not a reserved thinking-to-answer ratio. Original diagram: Tech Trend Insight. Source context: Argon model specification; thinking and token-limit guide.

The token-counting guide documents counting input before a request and reading usage afterward. Keep the fully prepared input count with a manifest of the supplied files, messages and tool definitions. A file inventory alone can miss instructions inserted by an application. If tools add material or the conversation continues, update the workload model instead of reusing this simple one-response calculation.

Then reconcile the work repeated across hops

An application programming interface (API) lets software send requests to a service. An interaction is the service’s record for a run. Google’s Interactions route manages long decode on the server when background execution is enabled and the response cap is raised above 65,536; background execution requires storage. The long-decode guide describes 65,536-token hops that continue the same response.

Assume the first hop uses its whole allocation on thinking. It has processed 900,000 input tokens but produced no visible answer. The second hop processes the original 900,000 plus the prior 65,536 generated tokens: 965,536 input tokens. It then uses 4,464 more thinking tokens and emits 50,000 visible tokens.

Read Figure 2: Add the generation along the forward path to obtain 120,000. Add the two input passes separately to obtain 1,865,536 processed input tokens.

A continuation processes prior work againFirst hop processes 900000 input and generates 65536 thinking tokens with no visible output. The second processes 965536 input and generates 4464 thinking plus 50000 output tokens. Cumulative input is 1865536.A continuation processes prior work againWorked sequence. Horizontal separation is schematic, not elapsed time.ASSUME TWO FULL-CONTINUATION STAGESHOP 1Input processed: 900,000Generated: 65,536 thinkingVisible output: 0Keep status + usage evidenceHOP 2Input processed: 965,536Generated: 4,464 thinking+ 50,000 visible outputSame logical responseGeneration total: 65,536 + 4,464 + 50,000 = 120,000Input processed across hops: 900,000 + 965,536 = 1,865,536
One response, two input passesFirst hop processes 900000 input and generates 65536 thinking tokens with no visible output. The second processes 965536 input and generates 4464 thinking plus 50000 output tokens. Cumulative input is 1865536.One response, two input passesWorked sequence; not timing data.HOP 1Input: 900,00065,536 thinking tokensVisible output: 0Continuation is still activeHOP 2Input: 965,5364,464 thinking tokens50,000 visible output tokensSame logical responseGenerated total: 120,000Processed input: 1,865,536These totals answer differentquestions.
Figure 2. Worked two-hop allocation. Actual stopping points and thinking distribution may differ. Empty visible text is interpreted together with the response state. Original diagram: Tech Trend Insight. Source context: long-decode guide.

The two input passes sum to 1,865,536, exceeding the model’s context capacity without contradicting it. The live footprint remains 1,020,000. Using cumulative processed input as a compaction trigger would discard context for the wrong reason. Compaction means reducing retained history; it should respond to the live-context requirement, not a repeated-work counter.

The zero-character first segment also needs context. Inspect the documented status and continuation state. An active continuation and a terminal incomplete response are different conditions. Increasing a cap may help a response cut off while thinking, but it does not fix a misunderstood task or enlarge the shared window.

The cache partition explains a surprisingly different estimate

A cache allows qualifying previously processed input to be reused at a lower input price. Argon supports implicit caching, managed by the service, rather than an application-created explicit cache. Cached material still occupies context. Reusing it at a discount changes the price of processing, not the capacity calculation.

The documented long-decode billing rule discounts repeated hop input by 95%. In the worked scenario, the second input includes both the original prompt and the first hop’s generated state. Applying the repeated-input discount to 965,536 tokens yields a different estimate from discounting only the original 900,000.

Read Figure 3: Follow the original input and prior generation into the repeated-input bucket. Do not quietly price the prior generated state at the uncached rate while calling the result the full-discount case.

Cache classification changes the invoice, not the windowThe second input contains the prompt and the first generation. Discounting 965536 repeated tokens costs 0.0965536 dollars for that input at the stated rate. Discounting only the original 900000 gives a different whole-job estimate.Cache classification changes the invoice, not the windowWorked Standard-rate comparison through November 30, 2026.HOP 2 INPUT: ORIGINAL PROMPT + PRIOR GENERATION900,000 original input+ 65,536 previous thinking = 965,536 repeated input tokensDocumented repeated-input discount: 95%At $0.10 per million: 965,536 × $0.10 / 1M = $0.0965536Partial-cache scenario: only 900,000 discounted → total job $3.221072Full repeated-input discount → total job $3.0965536The $0.1245184 difference comes from pricing 65,536 tokens differently.
Price the repeated inputThe second input contains the prompt and the first generation. Discounting 965536 repeated tokens costs 0.0965536 dollars for that input at the stated rate. Discounting only the original 900000 gives a different whole-job estimate.Price the repeated inputWorked Standard-rate comparison.HOP 2 INPUT900,000 original input+ 65,536 prior generation= 965,536 repeated tokensDiscount the repeated input965,536 × $0.10 / 1M= $0.0965536Only 900,000 cached?That is a partial-cache case.It produces a different bill.Check the observed cachedcount before choosing a total.
Figure 3. Worked cache partition. The main case follows Google’s stated repeated-hop discount; the partial-cache case is a separate diagnostic assumption. Confirm the cached count in usage evidence. Original diagram: Tech Trend Insight. Source context: long-decode guide; Gemini Developer API Standard rate card.

That distinction is useful when a calculator produces about $3.22 instead of $3.10. The larger figure can be a valid partial-cache scenario, but it needs that assumption stated. It is not the same scenario with a harmless rounding difference. Keep the observed cached count, or mark it unknown, before choosing a number for an audit.

Calculate three conditional prices for the same job

The Gemini Developer API Standard rate card, checked October 31, lists Standard prices in U.S. dollars per million tokens: $2 uncached input, $0.10 cached input and $10 generated output including thinking through November 30, 2026. The scheduled December 1 rates are $4, $0.20 and $20. Keep the applicable service tier and usage date with the calculation.

For the full repeated-input discount case, the arithmetic is $1.80 for the first 900,000 input tokens, $0.0965536 for 965,536 discounted repeated tokens, and $1.20 for 120,000 generated tokens. The token-only estimate is $3.0965536, or about $3.0966.

Assumed cached input across this jobCurrent Standard estimateSame usage at scheduled December rates
965,536: full repeated-input discount$3.0965536$6.1931072
900,000: only the original prompt cached on hop 2$3.221072$6.442144
0: no repeated-input discount$4.931072$9.862144

Read Figure 4: Compare prices on the same scale. The final footprint and generated result are fixed; the assumed cached-input count changes.

One workload can have several conditional cost estimatesThree conditional token-cost estimates at current Standard rates are 3.0965536 dollars for full repeated-input caching, 3.221072 for only the original prompt cached, and 4.931072 for no repeated-input caching. Same final context and output.One workload can have several conditional cost estimatesWorked estimates. Bars share one USD scale; all include 120,000 generated tokens.CURRENT STANDARD USD · SAME INPUT AND GENERATIONFull repeated cache$3.0966900K cached only$3.2211No repeated cache$4.9311$0$1$2$3$4$5A cache assumption changes price while the final footprint stays fixed.Scheduled December rates double these stated token-only estimates.
Keep cache scenarios explicitThree conditional token-cost estimates at current Standard rates are 3.0965536 dollars for full repeated-input caching, 3.221072 for only the original prompt cached, and 4.931072 for no repeated-input caching. Same final context and output.Keep cache scenarios explicitWorked estimates in USD.CURRENT STANDARD USDAll 965,536 repeated cached$3.0965536Only original 900,000 cached$3.221072No repeated input cached$4.931072Same final context footprint.Different cached-input evidence.December token rates: ×2.
Figure 4. Worked Standard token charges. Original input is 900,000; repeated input is 965,536; thinking plus output is 120,000. These exclude tools, retries, taxes, credits and other billing adjustments. Original diagram: Tech Trend Insight. Source context: Gemini Developer API Standard rate card.

The difference between the first two cases is 65,536 × ($2 − $0.10) / 1,000,000 = $0.1245184. This isolates one cause of a discrepancy. A much larger difference needs another explanation: additional attempts, a different tier, tools, rate timing or missing records. These estimates exclude tool charges, retries, taxes, credits and invoice adjustments; they are not measured invoices.

A progress update is not another billable copy of the job

Now consider three hypothetical observations within the same interaction. One reports 65,536 generated tokens, the next 90,000, and the final one 120,000. Those are cumulative snapshots. Summing them would report 275,536 generated tokens even though the final observation says 120,000.

Read Figure 5: Keep the latest cumulative snapshot for this interaction. Preserve earlier observations for diagnosis, without adding each observation as a new charge.

Snapshots are observations of the same growing totalThree cumulative observations show 65536, 90000 and 120000 generated tokens. The correct final generated total is 120000, not their sum. Distinct attempts require separate accounting records.Snapshots are observations of the same growing totalHypothetical usage events. Positions do not represent time intervals.ONE INTERACTION · CUMULATIVE OUTPUT + THOUGHT COUNTERSSnapshot A65,536 generated0 visibleSnapshot B90,000 generated20,000 visibleFinal snapshot120,000 generated50,000 visibleDo not add 65,536 + 90,000 + 120,000.The final generated total is 120,000.Replace the stored cumulative snapshot; keep its event ID and status.Add genuinely separate billable attempts under separate identifiers.
Replace cumulative snapshotsThree cumulative observations show 65536, 90000 and 120000 generated tokens. The correct final generated total is 120000, not their sum. Distinct attempts require separate accounting records.Replace cumulative snapshotsHypothetical events; not timing data.Snapshot A65,536 generated / 0 visibleSnapshot B90,000 generated / 20,000 visibleFinal snapshot120,000 generated / 50,000 visibleFinal generated total: 120,000Do not sum the snapshots.Keep separate attempts separate.A poll is not a fresh generation.
Figure 5. Hypothetical cumulative usage snapshots within one interaction. “Generated” combines thought and visible output here. This rule does not turn per-request usage into cumulative usage. Original diagram: Tech Trend Insight. Source context: long-decode guide.

Google documents cumulative usage on Interactions progress events. Read its latest usage once. If an application instead manages separate requests with per-request counters, deduplicate those request records and sum each actual request once. A software development kit (SDK) can hide continuation calls; establish whether its returned metadata is already aggregated before adding a manual loop around it.

Keep separate attempts separate. Reconnecting to an existing interaction is different from submitting a new generation. Polling the same interaction should not create a new ledger row for generation, while an independently retried attempt can incur additional work. Record identifiers and attempt relationships so a reviewer can distinguish those paths. Our long-decode recovery guide covers response reconstruction; the accounting question here is which records describe the same work.

Map the final usage into explicit cost categories

For this Interactions example, use the final usage fields below. The token-counting guide lists input, cached, output, thought and tool-use counters. The simple formula applies to the stated no-tool workload and the matching Standard token prices. Preserve the raw response and API version alongside any normalized fields.

Final fieldWorked valueUse in this calculation
total_input_tokens1,865,536All hop input; includes the cached portion.
total_cached_tokens965,536Input receiving the cached price.
total_output_tokens50,000Output, distinct from thinking in this field contract.
total_thought_tokens70,000Add to output for the generated-token charge.

Compute uncached input as total input minus cached input: 900,000 here. Compute generated tokens as output plus thought: 120,000. Multiply each category by its own per-million rate, then add. Do not subtract cached tokens from thinking or add thinking twice to a counter that already includes it under another API’s contract.

The following original Python worksheet performs only that offline arithmetic. It makes no network requests and does not predict a cache hit. Missing counts raise an error instead of becoming zero; invalid negative counts and impossible cache partitions are rejected. Supply one final cumulative Interactions snapshot for the stated no-tool case.

from decimal import Decimal

FIELDS = ("total_input_tokens", "total_cached_tokens",
          "total_output_tokens", "total_thought_tokens")

def token_charge(latest_usage, rates):
    # One cumulative Interactions snapshot; no tool charges.
    counts = {}
    for key in FIELDS:
        value = latest_usage[key]  # Missing evidence raises KeyError.
        if type(value) is not int or value < 0:
            raise ValueError(f"Invalid count: {key}")
        counts[key] = value
    if counts["total_cached_tokens"] > counts["total_input_tokens"]:
        raise ValueError("Cached input cannot exceed total input")
    for key in ("input", "cached", "generated"):
        rate = rates[key]
        if not isinstance(rate, Decimal) or not rate.is_finite() or rate < 0:
            raise ValueError(f"Invalid rate: {key}")
    cached = counts["total_cached_tokens"]
    uncached = counts["total_input_tokens"] - cached
    generated = counts["total_output_tokens"] + counts["total_thought_tokens"]
    return (uncached * rates["input"] + cached * rates["cached"]
            + generated * rates["generated"]) / Decimal(1_000_000)

usage = dict(total_input_tokens=1_865_536, total_cached_tokens=965_536,
             total_output_tokens=50_000, total_thought_tokens=70_000)
rates = dict(input=Decimal("2"), cached=Decimal("0.10"),
             generated=Decimal("10"))
print(token_charge(usage, rates))  # 3.0965536 USD

The example prints 3.0965536. Decimal arithmetic preserves the calculation before presentation rounding. The function deliberately does not declare a request approved, a task successful or an invoice reconciled. For a different interface, first map its documented field semantics; renaming a cumulative total to “hop usage” does not make it incremental.

Investigate the remaining difference with a reconciliation record

Reconciliation means showing why two records agree or differ. Save a compact record containing the interaction and attempt IDs, endpoint, model, processing tier, timestamps, original input count, final usage snapshot, rate-card date and estimate. Link it to the billing export when that export is available. Separate gross usage charges from credits or tax adjustments.

Read Figure 6: Identify the work, normalize its counters, and apply matching rates. A missing cached count is an unresolved evidence gap, not proof that caching failed or that the charge was zero.

Resolve the accounting discrepancy before trusting a totalIdentify API and attempts, normalize according to the correct usage semantics, calculate with matching rates and compare with billing. Missing or conflicting evidence is unresolved rather than zero. Artifact acceptance remains separate.Resolve the accounting discrepancy before trusting a totalProposed reconciliation workflow, separate from task acceptance.1 · IDENTIFYInteraction + attempt IDsAPI, model, tier, timestamps2 · NORMALIZELatest cumulative recordOr deduplicated hop records3 · RECONCILECounts × matching ratesCompare billing exportMissing cache count, conflicting IDs or unexplained difference?Mark unresolved; retain raw evidence and investigate.A reconciled charge is not proof that the generated artifact is correct.
Reconcile, then investigateIdentify API and attempts, normalize according to the correct usage semantics, calculate with matching rates and compare with billing. Missing or conflicting evidence is unresolved rather than zero. Artifact acceptance remains separate.Reconcile, then investigateProposed accounting workflow.1 · IDENTIFYInteraction and attempt IDsAPI, model, tier, timestamps2 · NORMALIZELatest cumulative recordOr deduplicated hop records3 · RECONCILECounts × applicable ratesCompare the billing exportMissing or conflicting evidence?Mark unresolved, keep the trace.Artifact quality is another check.
Figure 6. Proposed reconciliation procedure. Trace identity, usage interpretation and rate selection must agree before a difference can be explained. Original diagram: Tech Trend Insight.

If the difference is small, check rounding precision and whether amounts were rounded per row or only after summation. If it resembles the full-versus-partial cache difference above, inspect the partition. If it resembles an entire additional generation, inspect attempt IDs and retries. These are diagnostic leads; the trace must establish which explanation actually applies.

Do not put secrets or whole private evidence packets into a cost dashboard merely to identify a job. Keep a manifest, appropriate identifiers and access-controlled references. A content hash can help distinguish versions, but it does not prove the service saw every file; retain the submitted-request record under the relevant data policy.

Finally, keep task acceptance separate. A correctly reconciled $3.10 generation can still omit a crucial document or produce an incorrect migration report. Check the requested artifact, source coverage and unresolved questions before someone relies on it. The accounting result tells you what processing was charged, not what engineering conclusion is safe.

My practical rule is to ask three questions in order: what occupied the shared window, what work was processed repeatedly, and what evidence assigns that work a price? Keeping those answers separate makes an unusually large usage counter explainable without inventing a larger context window or trusting an unsupported cache assumption.

Sources and scope: Official Google documentation and rates checked October 31, 2026. Google’s Gemini API release notes records Argon’s October 13 general availability. Diagrams, token allocations, diagnostic scenarios and the Python worksheet are original explanatory material. Calculations were checked locally; no paid inference run or customer invoice was used.

Popular posts from this blog

OpenAI Prompt-to-Voice Architecture: From Voice Description to Live GPT-Live Sessions

Whenever I help teams deploy customer-facing voice assistants, we prioritize acoustic clarity and barge-in reliability over theatrical vocal persona. OpenAI’s prompt-to-voice feature makes generating a custom vocal timbre effortless, but production readiness still depends on strict turn-taking rules, verified tool execution, and audio retention controls. OpenAI’s October 16 release notes announced text-described voices for API customers. This guide explains how a description becomes reusable configuration, how to connect it to GPT-Live, and what to check before using it with callers. A fictional help desk provides the examples; the emphasis is on understanding the workflow rather than memorizing acoustic terminology.

Meta’s VideoJAM Explained: Why Motion Coherence Matters in AI Video

VideoJAM is easy to misunderstand because its name sounds like a product. The paper presents something narrower and more useful to analyze: a framework that gives a video generator an explicit motion prior. It is designed to address temporal coherence—the way objects, bodies, and physical interactions should remain plausible as a clip unfolds—not to provide a consumer dashboard with templates or a “generate video” button. Key Takeaways VideoJAM is a research framework for video generators, not a consumer-facing app with templates or a standalone UI. The training objective predicts appearance and motion from one joint representation; Inner-Guidance uses the model’s evolving motion prediction during sampling. On VideoJAM-bench, the authors reported motion-preference results against Sora, Kling 1.5, and Runway Gen3, while visual quality and motion remain separate measures. The experiments used 256×256, 128-frame clips at 24 fps and a motion-focused 128-prompt benchmark, so the results do ...

Grok 3’s 2025 Release: What xAI Announced, What Arrived, and What Changed

“When will Grok 3 launch?” was a moving target in February 2025. Elon Musk and xAI teased the model before the public beta announcement, so headlines often mixed a promised date with a product that was still being staged. The durable story is the timeline: a training claim, an announcement, limited access, and a later evaluation period are four different events. Key Takeaways xAI’s written Grok 3 announcement is dated February 19, 2025. That document date alone does not establish the time of a livestream or first access for every account. The beta included Grok 3, Grok 3 mini, optional Think modes, and the DeepSearch research agent. Early access was tied to Grok.com and X Premium tiers; xAI said API access was coming later at announcement time. A release date is not a quality guarantee. Check availability, rate limits, citations, and tool permissions in the environment you actually use. Open original image at full size ↗ Figure 1: Official NVIDIA–xAI visual from the October 2024 Coloss...