Multi-cloudAI costs7 min read

Compare AI token prices without mixing token types

Sources checked September 7, 2026Varies by scope
On this page
THE SHORT ANSWER

Price a defined workload separately for each provider, model, region, and processing mode. Multiply each billed category by its matching rate. Compare provisioned inference as capacity cost at the required throughput and commitment term, not as another token price.

Why this is worth a look

A single price per million tokens can hide important pricing dimensions. Azure lists input, cached input, output, priority, batch, and deployment options where supported. Amazon Bedrock documents separate standard-input, cache-read, and cache-write treatment, while Provisioned Throughput is billed hourly by model units and commitment duration. Vertex AI lists input, output, cached-input, batch, modality, context-threshold, and provisioned-throughput pricing for supported offerings. Compare the full billed workload and the resulting quality, latency, and throughput, rather than input rate alone.

Run this check

CHECKLIST

Complete one row for each exact model and mode using current official pricing pages and provider-reported workload usage. Keep each billed unit in its own category.

AI price comparison worksheet
AI PRICE COMPARISON

Identity
[ ] Provider, model ID, region or geography, currency, and price retrieval date
[ ] Mode: standard or priority, batch where offered, or provisioned
[ ] Context tier, modality, and model-specific token, character, image, video, or audio unit

Measured workload
[ ] Requests and successful quality-qualified outcomes
[ ] Standard input units and output units as reported for billing
[ ] Cached input units read, where reported
[ ] Cache-write tokens or cache storage, where billed
[ ] Audio, image, video, character, request, tool, grounding, or other billed units
[ ] Failed requests, retries, fallbacks, and evaluation usage, with their billing treatment

Variable-cost calculation
standard_input_cost = standard_input_units * standard_input_rate
cached_read_cost = cached_read_units * cached_read_rate
cache_write_or_storage_cost = applicable_units * applicable_rate
output_cost = output_units * output_rate
other_cost = sum(other_units * their_rates)
total_variable_cost = sum(all applicable categories)

Provisioned calculation
[ ] Size capacity using the provider's documented throughput rules for the selected model.
[ ] provisioned_cost = capacity_units * unit_rate * billed_duration
[ ] Record commitment duration, utilization, unused capacity, and any documented overage.
[ ] Do not apply a pay-as-you-go token rate to provisioned capacity.

Decision outputs
[ ] Cost per request and cost per quality-qualified outcome
[ ] Latency, throughput, error rate, and quality result
[ ] Data residency and feature limitations
[ ] Pricing URL and all assumptions

How to confirm it

  1. 01

    Freeze comparison dimensions

    Record provider, model ID, region or geography, context tier, modality, currency, and processing mode. Use the matching official pricing table for each candidate. Do not copy a rate from another region, model, context tier, or deployment type.

  2. 02

    Measure each candidate separately

    Run representative tasks against each provider and record the usage fields returned for billing. Do not assume that a shared workload label produces the same billable units. Record requests, qualified outcomes, latency, throughput, errors, retries, fallbacks, and evaluation usage with their applicable billing treatment.

  3. 03

    Keep billed categories separate

    Multiply standard input, cached reads, cache writes or storage, and output by their corresponding rates. Add modality, character, tool, grounding, or other units separately. For Bedrock caching, inspect response cache-usage fields because a cache hit is not guaranteed. Verify the model and API support, minimum checkpoint, and supported TTL before using cached rates.

  4. 04

    Model provisioned capacity

    For Azure, use documented PTU sizing and calculate hourly deployed capacity, including unused capacity and documented reservation overage. For Bedrock, use the selected model's MU input and output throughput and commitment duration. For Vertex AI, use the selected model's GSU throughput and displayed duration. Do not apply a pay-as-you-go token rate to provisioned capacity.

  5. 05

    Compare outcomes and recheck scope

    Report total cost, cost per accepted outcome, latency, throughput, errors, and quality together. Before procurement, confirm the applicable discounts and the current model, region, cache, batch, and provisioned-throughput availability and terms for each candidate.

Before making changes

Assume the listed public prices apply to the selected account, currency, region, model, and mode. Verify contract rates, localized currency, supported features, context tiers, cache rules, batch terms, and provisioned-throughput terms before using the result. Provisioned units are provider-specific capacity measures, and variable-cost arithmetic does not replace provider billing rules.

Ignore this guide when every candidate has the same provider, model, region, processing mode, billed units, and contract rate, with no caching, batch, or provisioned-capacity comparison.

Primary sources