{
  "source": "RevenueLab",
  "source_url": "https://www.revenuelab.fyi",
  "dataset": "llm_inference_pricing_reference",
  "updated": "2026-07-29",
  "currency": "USD",
  "license": "CC BY 4.0 with attribution to RevenueLab.fyi",
  "citation": "RevenueLab — LLM inference pricing reference (https://www.revenuelab.fyi/api/public/ai-model-pricing.json)",
  "notes": "Indicative price bands by model class rather than a live vendor price list. Vendor prices change frequently; use these as planning defaults and confirm against the provider before contracting. Cached input pricing typically runs 75-90% below standard input pricing where the provider supports prompt caching.",
  "pricing_unit": "USD per 1,000,000 tokens unless stated otherwise",
  "models": [
    {
      "model": "gpt-class frontier",
      "tier": "frontier",
      "input_per_1m_usd": 2.5,
      "output_per_1m_usd": 10,
      "cached_input_per_1m_usd": 0.31,
      "context_tokens": 400000,
      "best_for": "Hard reasoning, agentic tool use, long-context synthesis"
    },
    {
      "model": "gpt-class mid",
      "tier": "mid",
      "input_per_1m_usd": 0.4,
      "output_per_1m_usd": 1.6,
      "cached_input_per_1m_usd": 0.05,
      "context_tokens": 400000,
      "best_for": "Most production workloads: extraction, drafting, classification at scale"
    },
    {
      "model": "gpt-class small",
      "tier": "small",
      "input_per_1m_usd": 0.08,
      "output_per_1m_usd": 0.32,
      "cached_input_per_1m_usd": 0.01,
      "context_tokens": 400000,
      "best_for": "High-volume routing, tagging, moderation, simple transforms"
    },
    {
      "model": "gemini-class pro",
      "tier": "frontier",
      "input_per_1m_usd": 1.25,
      "output_per_1m_usd": 10,
      "cached_input_per_1m_usd": 0.31,
      "context_tokens": 1000000,
      "best_for": "Very long context, multimodal input, document understanding"
    },
    {
      "model": "gemini-class flash",
      "tier": "mid",
      "input_per_1m_usd": 0.3,
      "output_per_1m_usd": 2.5,
      "cached_input_per_1m_usd": 0.075,
      "context_tokens": 1000000,
      "best_for": "Cost-efficient chat, summarisation, RAG answer generation"
    },
    {
      "model": "gemini-class flash-lite",
      "tier": "small",
      "input_per_1m_usd": 0.1,
      "output_per_1m_usd": 0.4,
      "cached_input_per_1m_usd": 0.025,
      "context_tokens": 1000000,
      "best_for": "Very high volume classification and extraction"
    },
    {
      "model": "claude-class frontier",
      "tier": "frontier",
      "input_per_1m_usd": 3,
      "output_per_1m_usd": 15,
      "cached_input_per_1m_usd": 0.3,
      "context_tokens": 200000,
      "best_for": "Long-form writing quality, code review, careful instruction following"
    },
    {
      "model": "claude-class small",
      "tier": "small",
      "input_per_1m_usd": 0.8,
      "output_per_1m_usd": 4,
      "cached_input_per_1m_usd": 0.08,
      "context_tokens": 200000,
      "best_for": "Balanced quality at lower cost for chat and support"
    },
    {
      "model": "open-weight 70B (hosted)",
      "tier": "open",
      "input_per_1m_usd": 0.6,
      "output_per_1m_usd": 0.7,
      "cached_input_per_1m_usd": null,
      "context_tokens": 128000,
      "best_for": "Predictable pricing, data-residency, high sustained throughput"
    },
    {
      "model": "open-weight 8B (hosted)",
      "tier": "open",
      "input_per_1m_usd": 0.06,
      "output_per_1m_usd": 0.08,
      "cached_input_per_1m_usd": null,
      "context_tokens": 128000,
      "best_for": "Cheap bulk inference, embeddings pipelines, drafting before a bigger model"
    }
  ],
  "other_modalities": [
    {
      "modality": "embeddings",
      "unit": "per 1M input tokens",
      "typical_usd": 0.02,
      "range_usd": [
        0.01,
        0.13
      ]
    },
    {
      "modality": "speech-to-text",
      "unit": "per audio minute",
      "typical_usd": 0.006,
      "range_usd": [
        0.003,
        0.024
      ]
    },
    {
      "modality": "text-to-speech (standard)",
      "unit": "per 1M characters",
      "typical_usd": 15,
      "range_usd": [
        4,
        30
      ]
    },
    {
      "modality": "text-to-speech (neural / cloned)",
      "unit": "per 1M characters",
      "typical_usd": 120,
      "range_usd": [
        30,
        300
      ]
    },
    {
      "modality": "image generation",
      "unit": "per image",
      "typical_usd": 0.04,
      "range_usd": [
        0.01,
        0.19
      ]
    },
    {
      "modality": "vector database (managed)",
      "unit": "per 1M vectors / month",
      "typical_usd": 70,
      "range_usd": [
        25,
        250
      ]
    }
  ],
  "rules_of_thumb": [
    "Output tokens usually cost 3-5x input tokens; shortening responses is the cheapest optimisation available.",
    "A stable system prompt plus retrieved context is highly cacheable — prompt caching commonly cuts total spend 40-70% for chat workloads.",
    "Routing simple requests to a small model and escalating only on low confidence typically cuts blended cost 50-80% with negligible quality loss.",
    "Budget 20-30% headroom above modelled cost for retries, failures, and evaluation traffic.",
    "Self-hosting only beats API pricing at sustained high utilisation; below roughly 40% GPU utilisation, hosted APIs are usually cheaper all-in."
  ],
  "calculators": [
    "https://www.revenuelab.fyi/ai-chatbot-cost-calculator",
    "https://www.revenuelab.fyi/ai-agent-unit-economics-calculator",
    "https://www.revenuelab.fyi/ai-feature-pricing-calculator",
    "https://www.revenuelab.fyi/ai-credits-pricing-calculator",
    "https://www.revenuelab.fyi/ai-calculators"
  ]
}