Model API providers bill through an account held with the provider, each with its own structure of organisation, projects or workspaces and API keys, its own payment model and its own export interface; the same models bought through a cloud platform appear on the cloud bill instead, with that cloud's meters. For cost management this means AI spend often sits outside the cloud bill, in US dollars and in a data format no cloud export carries. Before it can be allocated it needs its own data source, and which one depends on where the model was bought.
How it works
Payment model. OpenAI places organisations in usage tiers by their total credit purchases. OpenAI sets an approved monthly usage limit for each organisation, which rises with the tier, and spend limits you configure yourself sit separately from it. Anthropic sells credits through the Billing page of the Claude Console, and enterprise customers can arrange invoicing. The Gemini API bills through a Google Cloud Billing account. On Prepay, credits are bought in advance and expire after 12 months; when the balance reaches zero, every API key in every project linked to that billing account stops working at once. On Postpay, costs accrue and are charged at the end of the month, or earlier when an automatically assigned spend cap is reached.
Billing scope and keys. At OpenAI the organisation is the top level with projects beneath it, and the costs endpoint filters and groups by project and by API key. At Anthropic the organisation is divided into workspaces. Usage can be broken down by workspace, API key and model, cost by workspace and description; the default workspace shows as a null value, and usage from the Console playground carries no key. On the Gemini API, keys belong to Google Cloud projects and have no billing settings of their own: tier, limits and spend caps are set on the billing account and inherited by every project linked to it. Google describes a per-project spend cap as experimental.
Dashboards and exports. OpenAI offers a costs endpoint in its Admin API with daily buckets, groupable by project, user, line item, API key and API source, with amounts in currency usd. Anthropic shows usage and cost on the Usage and Cost pages of the Claude Console and adds the Usage and Cost Admin API: usage in minute, hour or day buckets, split into uncached input, cache reads, cache writes and output, and cost in USD as cent amounts at daily granularity. Priority Tier costs are not included in the cost endpoint. Both APIs need admin credentials. Gemini API costs appear on the cost management pages of Cloud Billing, where the billing report can be filtered to the service and grouped by SKU; AI Studio shows usage and spend, with graphs that can lag by up to 24 hours.
Buying through a cloud. The same or comparable models are sold through Azure OpenAI in Microsoft Foundry, Amazon Bedrock and Vertex AI, which Google's current documentation names Gemini Enterprise Agent Platform. The cloud provider then bills, with its own meters. In Foundry, Microsoft separates models sold by Azure, billed through Azure meters, from models by partners such as Anthropic, billed through Azure Marketplace. Bedrock prices each model by provider and region, mostly per million input and output tokens, with batch prices and provisioned throughput charged per hour per model unit. Google lists Gemini and Claude models in USD; customers paying in another currency are charged the prices listed in that currency on the Cloud Platform SKUs. Anthropic describes the same boundary from its side: on Bedrock and Google Cloud the cloud provider invoices you. Claude Platform on AWS and Claude in Microsoft Foundry bill through the respective marketplace in Claude Consumption Units, in arrears and without prepaid credits, and the cloud bill shows them as a single line item.
What it means for your cost
Buying directly from a model provider adds a second invoice beside the cloud, in USD and with its own data source. That cost is in no cloud billing export; the exception is the Gemini API, which runs through Cloud Billing and appears there as its own service. Two things follow for cost allocation. First, each provider invoice needs its own data source, the provider's cost endpoint, before it can sit in a report next to cloud cost, and its currency has to be brought into line with the rest. Second, the finest unit the provider itself records is the project or workspace and the API key. A project or key per feature and environment is therefore the allocation unit that works without instrumenting the application; anything finer, such as per customer, the application has to measure itself. The units being counted are covered in tokens, requests and context.
Credits move the timing of payment, not of consumption. The purchase is a payment, the usage and cost data show consumption, and on the Gemini API unused credits expire after 12 months. How purchased, consumed and expired credits are booked is for the accountant or tax adviser to decide.
Bought through a cloud, the same usage lands on the cloud invoice, in its billing currency and its export, with the cloud's meters and SKUs. Where it is billed in Claude Consumption Units, the line shows an amount without tokens, so the split by model or workspace has to come from the model provider's own data, for Claude Platform on AWS currently only through the Console's Usage and Cost pages, not the API.
Where it goes wrong
- One key for every feature. The costs endpoint shows a single row and no feature can be separated afterwards. The cause: the provider records project, workspace and key, not the feature that made the request; whatever ran under a shared key cannot be split without your own measurement.
- Prepaid credits read as cost in the month bought. The report shows a spike in the month of purchase and little cost after it, although usage was steady. The cause: the payment is read instead of the consumption.
- Usage limits mistaken for budgets. A feature stops working with no warning beforehand. The cause: tier caps and spend limits are stop switches. On the Gemini API, service pauses for every project on the billing account until the next billing cycle. A budget is a plan with an owner and thresholds that warns before anything stops.
- The provider's dashboard as the only record. Month-end close has nothing that can be reconciled with the cloud. The cause: the dashboard shows one provider with its own filters and data state; without a regular export through the cost endpoint there is no copy of your own to version.
- Models bought directly and through a cloud with no joined view. A feature's AI cost looks lower than it is. The cause: the same model runs through the provider and through a cloud, on two invoices, in two currencies and with two kinds of meters, and no report brings them together.
Sources
Read on 2026-10-15. OpenAI usage tiers and limits and costs endpoint; Anthropic Usage and Cost API and pricing and cloud platform billing; Google Gemini API billing and Gemini Enterprise Agent Platform pricing; Microsoft Foundry Models overview; AWS Amazon Bedrock pricing.