{
 "version": "2026.11.09-r1",
 "kinds": {
  "prose_en": "English prose",
  "code": "Source code",
  "json": "JSON",
  "european": "German, French and Spanish",
  "cjk": "Chinese and Japanese"
 },
 "default_kind": "prose_en",
 "encodings": {
  "o200k_base": {
   "file": "o200k_base.bpe",
   "source": "https://openaipublic.blob.core.windows.net/encodings/o200k_base.tiktoken",
   "read_at": "2026-10-17",
   "tokens": 199998
  },
  "cl100k_base": {
   "file": "cl100k_base.bpe",
   "source": "https://openaipublic.blob.core.windows.net/encodings/cl100k_base.tiktoken",
   "read_at": "2026-10-17",
   "tokens": 100256
  }
 },
 "rows": [
  {
   "id": "openai-gpt-6-sol",
   "name": "GPT-6 Sol",
   "provider": "openai",
   "url": "/ai-models/objects/openai-gpt-6-sol/",
   "price_in": 2.0,
   "price_date": "2026-11-09",
   "method": "exact",
   "encoding": "o200k_base",
   "basis": "observed",
   "ratios": null,
   "measured_at": "2026-10-23T20:14:50Z",
   "image": null,
   "pdf": "openai"
  },
  {
   "id": "openai-gpt-6-astra",
   "name": "GPT-6 Astra",
   "provider": "openai",
   "url": "/ai-models/objects/openai-gpt-6-astra/",
   "price_in": 10.0,
   "price_date": "2026-11-09",
   "method": "exact",
   "encoding": "o200k_base",
   "basis": "observed",
   "ratios": null,
   "measured_at": "2026-10-23T20:14:34Z",
   "image": "openai-patch-original",
   "pdf": "openai"
  },
  {
   "id": "openai-gpt-5.5",
   "name": "GPT-5.5",
   "provider": "openai",
   "url": "/ai-models/objects/openai-gpt-5.5/",
   "price_in": 5.0,
   "price_date": "2026-11-09",
   "method": "exact",
   "encoding": "o200k_base",
   "basis": "tiktoken",
   "ratios": null,
   "measured_at": null,
   "image": "openai-patch-5.5",
   "pdf": "openai"
  },
  {
   "id": "openai-gpt-5.4-mini",
   "name": "GPT-5.4 Mini",
   "provider": "openai",
   "url": "/ai-models/objects/openai-gpt-5.4-mini/",
   "price_in": 0.75,
   "price_date": "2026-11-09",
   "method": "exact",
   "encoding": "o200k_base",
   "basis": "tiktoken",
   "ratios": null,
   "measured_at": "2026-10-23T20:14:03Z",
   "image": "openai-patch-5.4",
   "pdf": "openai"
  },
  {
   "id": "openai-gpt-4.1",
   "name": "GPT-4.1",
   "provider": "openai",
   "url": "/ai-models/objects/openai-gpt-4.1/",
   "price_in": 2.0,
   "price_date": "2026-11-09",
   "method": "exact",
   "encoding": "o200k_base",
   "basis": "tiktoken",
   "ratios": null,
   "measured_at": null,
   "image": "openai-tile-85",
   "pdf": "openai"
  },
  {
   "id": "openai-gpt-4o",
   "name": "GPT-4o",
   "provider": "openai",
   "url": "/ai-models/objects/openai-gpt-4o/",
   "price_in": 2.5,
   "price_date": "2026-11-09",
   "method": "exact",
   "encoding": "o200k_base",
   "basis": "tiktoken",
   "ratios": null,
   "measured_at": null,
   "image": "openai-tile-85",
   "pdf": "openai"
  },
  {
   "id": "openai-gpt-4",
   "name": "GPT-4",
   "provider": "openai",
   "url": "/ai-models/objects/openai-gpt-4/",
   "price_in": 30.0,
   "price_date": "2026-11-09",
   "method": "exact",
   "encoding": "cl100k_base",
   "basis": "tiktoken",
   "ratios": null,
   "measured_at": null,
   "image": null,
   "pdf": null
  },
  {
   "id": "anthropic-claude-opus-5.5",
   "name": "Claude Opus 5.5",
   "provider": "anthropic",
   "url": "/ai-models/objects/anthropic-claude-opus-5.5/",
   "price_in": 4.0,
   "price_date": "2026-11-09",
   "method": "ratio",
   "encoding": null,
   "basis": null,
   "ratios": {
    "prose_en": 1.486,
    "code": 1.5673,
    "json": 1.2822,
    "european": 1.8062,
    "cjk": 1.3007
   },
   "measured_at": "2026-10-23T20:14:55Z",
   "image": "anthropic-high",
   "pdf": "anthropic"
  },
  {
   "id": "anthropic-claude-sonnet-5.5",
   "name": "Claude Sonnet 5.5",
   "provider": "anthropic",
   "url": "/ai-models/objects/anthropic-claude-sonnet-5.5/",
   "price_in": 2.0,
   "price_date": "2026-11-09",
   "method": "ratio",
   "encoding": null,
   "basis": null,
   "ratios": {
    "prose_en": 1.486,
    "code": 1.5673,
    "json": 1.2822,
    "european": 1.8062,
    "cjk": 1.3007
   },
   "measured_at": "2026-10-23T20:14:59Z",
   "image": "anthropic-high",
   "pdf": "anthropic"
  },
  {
   "id": "anthropic-claude-haiku-5.5",
   "name": "Claude Haiku 5.5",
   "provider": "anthropic",
   "url": "/ai-models/objects/anthropic-claude-haiku-5.5/",
   "price_in": 0.1,
   "price_date": "2026-11-09",
   "method": "ratio",
   "encoding": null,
   "basis": null,
   "ratios": {
    "prose_en": 1.486,
    "code": 1.5673,
    "json": 1.2822,
    "european": 1.8062,
    "cjk": 1.3007
   },
   "measured_at": "2026-10-23T20:15:03Z",
   "image": "anthropic-high",
   "pdf": "anthropic"
  },
  {
   "id": "google-gemini-4-argon",
   "name": "Gemini 4 Argon",
   "provider": "google",
   "url": "/ai-models/objects/google-gemini-4-argon/",
   "price_in": 2.0,
   "price_date": "2026-10-27",
   "method": "ratio",
   "encoding": null,
   "basis": null,
   "ratios": {
    "prose_en": 1.007,
    "code": 1.219,
    "json": 1.2243,
    "european": 0.9938,
    "cjk": 0.7549
   },
   "measured_at": "2026-10-23T20:15:07Z",
   "image": "gemini-default",
   "pdf": "gemini-default"
  },
  {
   "id": "google-gemini-3.8-flash",
   "name": "Gemini 3.8 Flash",
   "provider": "google",
   "url": "/ai-models/objects/google-gemini-3.8-flash/",
   "price_in": 0.75,
   "price_date": "2026-11-02",
   "method": "ratio",
   "encoding": null,
   "basis": null,
   "ratios": {
    "prose_en": 1.007,
    "code": 1.2226,
    "json": 1.2262,
    "european": 1.0031,
    "cjk": 0.7941
   },
   "measured_at": "2026-10-23T20:15:11Z",
   "image": "gemini-default",
   "pdf": "gemini-default"
  },
  {
   "id": "deepseek-deepseek-v4-pro-0813",
   "name": "DeepSeek V4 Pro 0813",
   "provider": "deepseek",
   "url": "/ai-models/objects/deepseek-deepseek-v4-pro-0813/",
   "price_in": 1.32,
   "price_date": "2026-11-05",
   "method": "ratio",
   "encoding": null,
   "basis": null,
   "ratios": {
    "prose_en": 1.0163,
    "code": 1.0772,
    "json": 1.0206,
    "european": 1.1687,
    "cjk": 0.8301
   },
   "measured_at": "2026-10-23T20:15:23Z",
   "image": null,
   "pdf": null
  },
  {
   "id": "qwen-qwen3.8-max-0902",
   "name": "Qwen3.8 Max (0902)",
   "provider": "qwen",
   "url": "/ai-models/objects/qwen-qwen3.8-max-0902/",
   "price_in": 2.0,
   "price_date": "2026-11-09",
   "method": "ratio",
   "encoding": null,
   "basis": null,
   "ratios": {
    "prose_en": 1.0256,
    "code": 1.0736,
    "json": 1.1925,
    "european": 1.0125,
    "cjk": 0.732
   },
   "measured_at": "2026-10-23T20:15:37Z",
   "image": null,
   "pdf": null
  },
  {
   "id": "x-ai-grok-4.7",
   "name": "Grok 4.7",
   "provider": "xai",
   "url": "/ai-models/objects/x-ai-grok-4.7/",
   "price_in": 2.0,
   "price_date": "2026-11-09",
   "method": "ratio",
   "encoding": null,
   "basis": null,
   "ratios": {
    "prose_en": 1.014,
    "code": 1.1454,
    "json": 1.0654,
    "european": 1.0188,
    "cjk": 0.8105
   },
   "measured_at": "2026-10-23T20:16:24Z",
   "image": null,
   "pdf": null
  },
  {
   "id": "moonshotai-kimi-k3",
   "name": "Kimi K3",
   "provider": "moonshotai",
   "url": "/ai-models/objects/moonshotai-kimi-k3/",
   "price_in": 3.0,
   "price_date": "2026-11-09",
   "method": "ratio",
   "encoding": null,
   "basis": null,
   "ratios": {
    "prose_en": 1.0047,
    "code": 1.0144,
    "json": 1.0075,
    "european": 1.3562,
    "cjk": 0.8889
   },
   "measured_at": "2026-10-23T20:16:59Z",
   "image": null,
   "pdf": null
  },
  {
   "id": "z-ai-glm-5.3",
   "name": "GLM 5.3",
   "provider": "z-ai",
   "url": "/ai-models/objects/z-ai-glm-5.3/",
   "price_in": 1.4,
   "price_date": "2026-11-09",
   "method": "ratio",
   "encoding": null,
   "basis": null,
   "ratios": {
    "prose_en": 1.0186,
    "code": 0.9946,
    "json": 1.0093,
    "european": 1.1,
    "cjk": 0.8562
   },
   "measured_at": "2026-10-23T20:17:24Z",
   "image": null,
   "pdf": null
  },
  {
   "id": "mistralai-mistral-large-4-0",
   "name": "Mistral Large 4",
   "provider": "mistral",
   "url": "/ai-models/objects/mistralai-mistral-large-4-0/",
   "price_in": 0.7,
   "price_date": "2026-11-09",
   "method": "ratio",
   "encoding": null,
   "basis": null,
   "ratios": {
    "prose_en": 1.0442,
    "code": 1.018,
    "json": 1.0056,
    "european": 0.9844,
    "cjk": 1.0327
   },
   "measured_at": "2026-10-23T20:17:33Z",
   "image": null,
   "pdf": null
  },
  {
   "id": "minimax-minimax-m3",
   "name": "MiniMax M3",
   "provider": "minimax",
   "url": "/ai-models/objects/minimax-minimax-m3/",
   "price_in": 0.3,
   "price_date": "2026-11-09",
   "method": "ratio",
   "encoding": null,
   "basis": null,
   "ratios": {
    "prose_en": 1.0,
    "code": 1.0215,
    "json": 1.0037,
    "european": 1.0219,
    "cjk": 0.6569
   },
   "measured_at": "2026-10-23T20:17:51Z",
   "image": null,
   "pdf": null
  }
 ],
 "images": {
  "openai-patch-original": {
   "type": "openai_patch",
   "provider": "OpenAI",
   "detail": "auto (sized as original)",
   "max_side": 65535,
   "budget": null,
   "mult100": 120,
   "reject_over": 30000,
   "url": "https://developers.openai.com/api/docs/guides/images-vision",
   "quote": "original preserves the image's dimensions, except that images larger than 65,535 pixels on either side are scaled down to fit that limit. If the resulting image requires more than 30,000 patches, the API rejects the request ... auto uses the same sizing behavior as original."
  },
  "openai-patch-5.5": {
   "type": "openai_patch",
   "provider": "OpenAI",
   "detail": "auto (sized as original)",
   "max_side": 6000,
   "budget": 10000,
   "mult100": 120,
   "reject_over": 30000,
   "url": "https://developers.openai.com/api/docs/guides/images-vision",
   "quote": "original allows up to 10,000 patches and a 6000-pixel maximum dimension. Both limits apply. auto uses the same sizing behavior as original."
  },
  "openai-patch-5.4": {
   "type": "openai_patch",
   "provider": "OpenAI",
   "detail": "auto (sized as high)",
   "max_side": 2048,
   "budget": 2500,
   "mult100": 120,
   "reject_over": 30000,
   "url": "https://developers.openai.com/api/docs/guides/images-vision",
   "quote": "high allows up to 2,500 patches and a 2048-pixel maximum dimension. ... auto uses the same sizing behavior as high."
  },
  "openai-tile-85": {
   "type": "openai_tile",
   "provider": "OpenAI",
   "detail": "auto (tiles)",
   "base": 85,
   "tile": 170,
   "url": "https://developers.openai.com/api/docs/guides/images-vision",
   "quote": "Scale down to fit in a 2048px x 2048px square ... If the shortest side exceeds 768px, scale it down to 768px and round down the other dimension. Count the 512px squares needed to cover the image. ... Add the model's base tokens to the tile tokens. (gpt-4o, gpt-4.1: base 85, tile 170)"
  },
  "anthropic-high": {
   "type": "anthropic_patch28",
   "provider": "Anthropic",
   "detail": "high-resolution tier",
   "max_edge": 2576,
   "max_tokens": 4784,
   "url": "https://platform.claude.com/docs/en/build-with-claude/vision",
   "quote": "An image, therefore, costs ⌈width / 28⌉ × ⌈height / 28⌉ visual tokens. ... High-resolution: Claude 4.7 and later models, 2576 px, 4784 [visual tokens]"
  },
  "gemini-default": {
   "type": "fixed",
   "provider": "Google",
   "detail": "media resolution not set (default)",
   "tokens": 1120,
   "approx": true,
   "url": "https://ai.google.dev/gemini-api/docs/media-resolution",
   "quote": "The tables below summarize the approximate token counts for each media_resolution value ... Gemini 4 and Gemini 3 models: unspecified (Default) Image 1120"
  }
 },
 "pdf": {
  "gemini-default": {
   "type": "per_page",
   "provider": "Google",
   "tokens": 560,
   "approx": true,
   "url": "https://ai.google.dev/gemini-api/docs/media-resolution",
   "quote": "Gemini 4 and Gemini 3 models: unspecified (Default) PDF 560. ... You are not charged for tokens originating from the extracted native text in PDFs."
  },
  "anthropic": {
   "type": "text_range",
   "provider": "Anthropic",
   "from": 1500,
   "to": 3000,
   "url": "https://platform.claude.com/docs/en/build-with-claude/pdf-support",
   "quote": "Text token costs: Each page typically uses 1,500–3,000 tokens per page depending on content density. ... Image token costs: Because each page is converted into an image, the same image-based cost calculations are applied."
  },
  "openai": {
   "type": "unknown",
   "provider": "OpenAI",
   "url": "https://developers.openai.com/api/docs/guides/file-inputs",
   "quote": "On models with vision capabilities, such as gpt-4o and later models, the API extracts both text and page images and sends both to the model."
  }
 },
 "rules_read_at": "2026-10-17"
}