model, with no per-vendor URLs or keys. This page lists every model ID, what it supports and how it is billed, grouped by vendor.
Entry points
Chat Completions
POST /v1/chat/completions. The default entry; every model on this page is called here, except the Responses-only models.Responses
POST /v1/responses. GPT Pro / Codex / o3-pro models accept only this entry.Claude Messages
POST /v1/messages. Native envelope kept for apps already built on the Anthropic SDK.Gemini native
POST /v1beta/models/{model}:generateContent. Native envelope kept for existing Gemini clients.Authorization: Bearer, Messages via x-api-key, Gemini native via x-goog-api-key); an ecosystem login token is not a model key — see Authentication.
Billing rules
Per-model rates are inprice_config on GET /v1/models and in the console’s Model Market. What a specific call cost is the usage.cost field on the response.
These rules apply to every text model. Model-specific differences are in the vendor tables and the model notes below them.
- Where rates come from: 10% off the official list price or equal to it, never above; Batch, Flex and Priority prices are not used. For the actual numbers, read
price_configfromGET /v1/models. - Total input includes cache:
prompt_tokensis total input; reported cache-hit / cache-write tokens are billed at their cache rates, the rest at the ordinary input rate. Cache tokens are part of the total, never an amount added on top. - Reasoning is inside output:
completion_tokensalready includescompletion_tokens_details.reasoning_tokens; reasoning is billed once at the output rate. - Two-rate models: models billed as input + output have no cache rate; any cache statistics in the response are charged at the ordinary input rate, and explicit
cache_controlreturns 400. - Long-context tiers: a tiered model picks its tier from total input (cache included); once the threshold is reached the whole request — input, cache and output — moves to the higher rate, not just the excess. Thresholds and how the exact boundary value is treated are stated per vendor.
- Time-of-day pricing: DeepSeek V4 is priced by the UTC slot at request start; see the DeepSeek section.
- Quota conversion: the line items are summed and converted to an integer quota at 500,000 quota = 1 USD; a request with positive usage that rounds below 1 quota is charged 1, then the account group multiplier is applied and the result truncated.
usage.costin the response is that integer quota, not dollars.
Caching
Caching is graded per model by which cache rates that model has configured. Cache reads and writes replace the matching ordinary input charge at their own rate; they are not added on top.Automatic vs explicit caching
Automatic caching is decided upstream and needs no parameters from you: hit tokens appear inusage.prompt_tokens_details.cached_tokens and bill at that model’s cache-read rate. Hits are never guaranteed, so cost estimates should not assume one.
Explicit caching marks a reusable prefix with cache_control. It is allowed per model:
Unsupported requests return
400 and are not billed.
On first integration, send a small request and check that the cache line items in your console usage record look as expected before scaling up.
Writing a Claude explicit cache request
On the OpenAI-compatible endpoint,content must be an array of content blocks. A string
content cannot carry cache_control; the marker is ignored and the whole prefix bills as ordinary input.
system array. ttl defaults to 5 minutes; for the 1-hour tier send
"cache_control": {"type": "ephemeral", "ttl": "1h"} together with the
anthropic-beta: extended-cache-ttl-2025-04-11 header — the gateway forwards that header upstream as-is.
Hit conditions and reading usage
- Prefix length — usually at least ~1,024 tokens; shorter prefixes create no cache.
- Byte-identical prefix — any difference in text, spaces, newlines or content-block order misses.
- Reuse within the TTL — 5 minutes or 1 hour, counted from the most recent hit.
usage.prompt_tokens_details.cached_tokens. Native Messages reports
cache_read_input_tokens and cache_creation_input_tokens instead, and its input_tokens excludes
both — total input is the sum of the three (whereas Chat’s prompt_tokens already includes them).
Written tokens bill at the cache-write rate, which is higher than ordinary input, so explicit caching suits prefixes that are stable and reused within the TTL.
Not supported
The following return400 and are not billed:
- Vendor built-in tools — any entry in
toolswhose type is notfunctionorcustom(hosted web search, hosted execution, and similar). Client-executed function tools are not in this group and work normally. web_search_options.service_tierset to anything other thanstandard/default.- Explicit caching — see the allow-list above.
tools, tool_choice or response_format to a model that does not support them, also returns 400. The protocols and capabilities each model supports are in the catalog below.
Model catalog
How to read the tables: every model supports non-streaming and streaming text output, so those are not given a column. In the JSON / Tools column the left mark is JSON Schema structured output and the right one is function calling — the platform returns the function name and arguments; your application runs the tool.
✓ means supported, — means not supported. The Billing column names which dimensions a model is billed on; for rates see Catalog API. A model with a long-context tier picks its tier from total input (cache included) and switches the whole request once the threshold is reached; the thresholds are in the model notes under each table. Model notes also carry each model’s input and output limits and any model-specific restrictions; a limit is the maximum the endpoint accepts, and input and output cannot both be maxed out at once.OpenAI
Model notes
gpt-6-astra— 272K long-context tier; has a separate cache-write rate; max input 922K, max output 12.8K; tool calling is not supported; usereasoning_effort: "low";"none"is unsupported, andtemperature,top_pandlogprobsare not supportedgpt-5.6-luna— 272K long-context tier; has a separate cache-write rate; max input 922K, max output 128K; supports automatic cache hitsgpt-5.6-terra— 272K long-context tier; has a separate cache-write rate; max input 922K, max output 12.8Kgpt-5.6-sol— 272K long-context tier; has a separate cache-write rate; max input 922K, max output 12.8Kgpt-5.5— 272K long-context tier; max input 1M, max output 12.8K; no separate cache-write rategpt-5.4— 272K long-context tier; max input 1M, max output 12.8K; no separate cache-write rategpt-5.4-pro— 272K long-context tier;/v1/responsesonlygpt-5.3-codex—/v1/responsesonlygpt-5.2-pro—/v1/responsesonlygpt-5-pro—/v1/responsesonlyo3-pro—/v1/responsesonly
max_completion_tokens to cap output and reasoning_effort to pick a reasoning tier (GPT-6 Astra supports "low" only). max_tokens is rejected. gpt-5-pro, gpt-5.2-pro, gpt-5.4-pro, gpt-5.3-codex and o3-pro are served only on the Responses API and return 400 on Chat. The 272K tier is judged on total input: exactly 272,000 stays on the base rate, anything above moves the whole request (cache and output included) to the long-context rate. GPT-5.6 cache writes cost 1.25× the tier’s input rate and replace the ordinary input charge rather than adding to it; GPT-5.4 / 5.5 have no separate cache-write rate.
Anthropic
Model notes
claude-fable-5-1— cache writes are priced at two TTLs, 5-minute and 1-hour; max input 1M, max output 128K; JSON Schema structured output is not supported;tool_choiceaccepts only"auto";"required"and named functions return 400claude-fable-5— cache writes are priced at two TTLs, 5-minute and 1-hour; max input 1M, max output 128K; JSON Schema structured output is not supported;tool_choiceaccepts only"auto"claude-opus-5— cache writes are priced at two TTLs, 5-minute and 1-hour; max input 128K, max output 16K; JSON Schema andjson_objectare not supported; the native/v1/messagesendpoint is availableclaude-sonnet-5— cache writes are priced at two TTLs, 5-minute and 1-hour; max input 1M, max output 128K; JSON Schema andjson_objectare not supported; the native/v1/messagesendpoint is available
max_tokens on the Chat endpoint to cap output; the GPT-only reasoning_effort and max_completion_tokens do not apply to Claude models. The four Claude 5 / Fable models carry three cache rates (read / 5-minute write / 1-hour write) and are the only models that currently allow explicit cache_control — see Caching for the request shape. These four do not support structured output: response_format with json_schema or json_object returns 400. On the Fable models tool_choice accepts only "auto"; "required" or a named function returns 400. The 4.x line bills input and output only and does not support cache_control. Apps built on the Anthropic SDK can use the native Messages endpoint, but only claude-sonnet-5 and claude-opus-5 support it; any other Claude model returns 400 there — use the Chat endpoint instead.
Google Gemini
Model notes
gemini-3.8-flash— max input 1M, max output 65K; the Gemini native endpoint is availablegemini-3.7-flash— max input 1M, max output 65K; the Gemini native endpoint is availablegemini-3.6-flash— max input 1M, max output 65K; the Gemini native endpoint is availablegemini-3.5-flash— the Gemini native endpoint is availablegemini-3.1-pro-preview— 200K long-context tier; the Gemini native endpoint is availablegemini-3-flash-preview— the Gemini native endpoint is availablegemini-2.5-pro— 200K long-context tier; the Gemini native endpoint is availablegemini-2.5-flash-lite— the Gemini native endpoint is available
gemini-2.5-flash-lite, gemini-2.5-pro, gemini-3-flash-preview, gemini-3.1-pro-preview, gemini-3.5-flash, gemini-3.6-flash, gemini-3.7-flash, gemini-3.8-flash (gemini-3.5-flash-lite is Chat-only). The native entry is POST /v1beta/models/{model}:generateContent (streaming: :streamGenerateContent?alt=sse), see Gemini native API. Native responses report usage in usageMetadata without usage.cost; candidatesTokenCount and thoughtsTokenCount are reported separately and billed output is their sum. The Pro models (gemini-2.5-pro / gemini-3.1-pro-preview) have a 200K long-context tier that switches the whole request above 200,000 total input. 3.6 / 3.7 / 3.8 Flash have an implicit cache-read rate whose hits are decided upstream; the other models bill two rates. The whole Gemini line supports automatic caching only; explicit caching (cache_control / cachedContent) returns 400, as do built-in tools, web_search_options and any service_tier other than standard / default.
DeepSeek
Model notes
deepseek-v4-pro— max input 1M, max output 393K; supports automatic cache hits; time-of-day pricing, see the table at the end of this sectiondeepseek-v4-flash— max input 128K, max output 16K; supports automatic cache hits; time-of-day pricing, see the table at the end of this sectiondeepseek-v3.2-exp— no strict JSON Schema; separate model fromdeepseek-v3.2(2025-09-29 experimental build)deepseek-v3.1-terminus— no strict JSON Schema; no longer listed on DeepSeek’s main API
thinking: {"type": "disabled"} to turn thinking off. V4 cache-hit rates replace the matching input charge; there is no separate cache write. V3.x / R1 bill two rates; deepseek-v3.2-exp and deepseek-v3.1-terminus offer no strict JSON Schema — use deepseek-v3.2 or deepseek-r1-0528 when you need schema guarantees.
Beijing time is UTC+8. The per-slot input / output / cache-read rates for Pro and Flash are in
price_config.text_schedule on GET /v1/models — that is the complete table and the basis for settlement.
Qwen (Alibaba Cloud)
Model notes
qwen3.8-max— max input 983K, max output 131K; supports automatic cache hits; explicitcache_controlis not supported; usetool_choice: "auto"qwen3.7-plus— 256K long-context tierqwen3.6-plus— 256K long-context tierqwen3.6-flash— 256K long-context tier
cache_control returns 400. Plus / Flash have a 256K tier switched on total input for the whole request. Reasoning tokens come out of the output budget and cannot be turned off.
Kimi (Moonshot)
Model notes
kimi-k3— max input 1M, max output 105K; supports automatic cache hits; usetool_choice: "auto"; give function calls an output budget of 512 or more
tool_choice: "auto", and give function calls enough output budget — 512 or more. K2.x bill input and output only.
Grok (xAI)
Model notes
grok-4.6— 200K long-context tier; max input 500K, max output 12.8K; supports automatic cache hits; tool calling is not supported;max_tokensis not a hard cap; reasoning can push completion_tokens past itgrok-4.5— 200K long-context tier; tool calling is not supportedgrok-4.3— 200K long-context tiergrok-4.20-0309-reasoning— 200K long-context tiergrok-4.20-0309-non-reasoning— 200K long-context tiergrok-build-0.1— 200K long-context tier
tools returns 400. max_tokens is not a hard cap on reasoning models: completion_tokens includes reasoning tokens and can exceed it, so budget with key quotas.
GLM (Z.ai)
Input and output are the only two rates;
cache_control is not supported.
MiniMax
Input and output are the only two rates;
cache_control is not supported.
Others
Model notes
mimo-v2.5-pro— Xiaomi MiMostep-3.7-flash— StepFun Step
cache_control is not supported.
Catalog API
Live availability, price configuration and capability flags come from the catalog API:GET /v1/models/{model}. The price_config it returns is where this page’s tables come from: input / output are the base rates, cache_read / cache_write / cache_write_1h show how far caching is opened up for that model, input_tier_threshold with the *_above_price fields is the long-context tier, and cache_billing: "input_output" means input and output are the only two rates.
The catalog returns every text model currently live. A model that does not appear in the response cannot be called.