The formula
For each model call, with rates in USD per million tokens:Which rate applies
Atlan resolves rates in two steps: first which model record prices the call, then where each of its four rates comes from. Atlan matches the requested model name first, then the model the provider reported. For a configured model, each of the four rates resolves on its own. The first source that applies wins:
List price unavailable in Models & rates means the public price could not be looked up at that moment. Every member can view rates; only an organization Admin can change them. See Set model rates.
When a model has no public list price and you enter only an input rate, its cache reads and writes are priced at that input rate rather than at zero.
How tokens are counted
- Fresh input excludes tokens read from or written to the cache. Most producers report the whole prompt as input, cached tokens included, so Atlan subtracts the cache-read and cache-write counts before pricing. Cached tokens are never charged twice.
- Cache reads and writes have their own rates. A run that reads a large cache can show a low cost beside a high token count.
- Reasoning tokens are part of the output count. They are priced as output once, not added again.
- Long prompts: when a model’s price has context tiers, a prompt whose fresh input, cache reads, and cache writes together exceed a tier’s threshold uses all four of that tier’s rates.
Worked example
These rates are illustrative, in the shape Atlan uses for a chat model: input 15.00, cache read 3.75 per million tokens. One model call reports a prompt of 12,000 tokens, of which 8,000 were read from the cache and 1,000 written to it, and 600 output tokens, of which 200 were reasoning.
The same call at other price sources:
If the 12,000-token prompt were charged entirely as fresh input, the input line alone would be $0.036, which is why the cache split matters.
Unpriced and missing costs
- Unpriced means Atlan looked for a rate and found none. The call’s cost is recorded as zero and labelled unpriced. It is not evidence that the call was free.
- A cost your code recorded on a span is replaced when Atlan prices the call. When Atlan finds no rate, the call is unpriced at zero, even if your code recorded a cost.
- If the rate lookup fails, the batch keeps the cost its producer recorded, if any.
- Spans without a model or token counts keep whatever cost the producer recorded. Without one, they have no cost.
fields=cost to see where its cost came from in cost.source:
Model Gateway and trace cost
Model Gateway prices each call it serves with the same rules: the same entered rates, seller discounts, and list prices. Its usage views count the calls the gateway served. FinOps reports count the model calls recorded in your traces. The two are separate records, so do not add them together. They can differ when:- A call goes through Model Gateway but your agent does not trace it. It appears only in Model Gateway usage.
- A call goes straight to a provider and is traced. It appears only in traces.
- The workspaces differ. Model Gateway records a call in the workspace of the model that served it. Trace pricing uses the trace’s workspace, then the organization’s default workspace.
Related
- Set model rates: Enter negotiated rates and seller discounts.
- Usage and cost measures: How reports total and average these costs.
- Investigate agent cost: Follow a spend increase to the runs and rates behind it.
- Trace attributes: The model, token, and cost keys Atlan reads.