What you pay for
Every rate published here and on Limits & billing is the price you pay — the number the ledger books and the number your spend breakdown reports. There is no separate fee, no seat charge and no minimum on top of it.
Priced tools
Two tool families have a price of their own, on top of the tokens the model spends calling them. Both appear onGET /v1/agents/{id}/spend?by=component under their own component name.
They are quoted at different moments, and it matters. A media job is admitted before it starts — the headroom left under the agent’s max_task_micro_usd is held, so a render an agent has no room for is refused and never runs. A web call is priced from what the provider charged for it, so it is booked after the call: an agent already at its cap can still make one, and the debit lands. Set max_task_micro_usd to bound a render; watch the search component to see what retrieval is costing.
Web tools — per call, search component
A search whose results are all filtered out by the agent’s domain policy still costs the call — the query ran. A
web_fetch refused by that policy is stopped before the page is requested and costs nothing; a page that redirected somewhere the policy forbids is withheld after the fetch, and that one is billed, because the fetch happened.
Media generation — per finished job, media component
You are billed what the finished job actually cost, once per job.
There is no per-model price table here, and that is deliberate rather than an omission. A generation job’s cost depends on the model, the duration and the size, and it is published by nobody until the job has finished — so any table on this page would be a number we invented. What can be listed is which models exist: GET /v1/media/models, read live from the provider.
What bounds the spend is the reservation. Before a job is submitted, the room still left under the agent’s max_task_micro_usd is held against its budget — the job is admitted, not quoted, because nobody can price a render before it runs. An agent with no real headroom is refused and nothing is rendered. When the job lands, the real cost is booked and the rest of the reservation is released immediately. A job that fails or never finishes is not billed at all, and its reservation comes straight back.
So max_task_micro_usd is the number to set: it is the most one generation job can commit.
The model proxy
POST /v1/proxy/anthropic/v1/messages is priced exactly like a session’s model call — same catalogue, same per-window tariff, same five tiers, same balance. The proxy adds no charge of its own.
The completion window is the biggest lever
The same model at a different window is a different price. The window is a single field with three wire values —immediate, priority, and loose.
You choose the window per request — pay the interactive tariff only when a person is waiting; overnight work runs on
loose for materially less.
Budgets keep it predictable
Every agent has a budget: setcap_micro_usd, max_task_micro_usd, and a period. Model calls and media renders are quoted before they run, so anything that would breach those ceilings is refused rather than discovered on an invoice. Compute and the web tools are metered from what they actually used and booked afterwards, so a period’s spend can finish a little past its cap — never below zero, and never silently: it is on the ledger either way.
Measured, not modelled
All figures are corrected against vendor invoice brackets — list-price rate cards over-state real cost by 1.017x–4.176x. Methodology in Benchmarks.See the numbers
Cost per completed task across 15 measured cells.