Models
Each market model has its own clearing level, quote, order book and charts, and each fixed-price model has three published prices. This is the list a request can name, read live.
What is served
Clearing level · every market · preview
| Model | Level now | Context | Max output | Ratio |
|---|---|---|---|---|
| market-preview preview | $0.0430 | 262,144 | 128,000 | 1:10:20 |
Context and max output in tokens. The ratio is the weight of a cache-hit, a cache-miss and an output token in the price.
market-preview is a preview of the market, which opens soon: the level shown for it is simulated until then, a request to it answers 400 model_preview with nothing charged, and the fixed-price models below run today.
A request that names no model runs on market-preview. A deprecated model leaves the catalog while inference answers 400 model_deprecated. A model removed from the gateway answers 404 model_not_found.
Every market has a page: the models board shows the level, uptime and volume of each side by side, and the market page shows one market's level, quote, chart and calculator. Each model also has its own page at /models/<id>, under its own id, with the datasheet, the live level or the fixed prices, the probe results and the first call in every tool; an alias's address redirects there.
Fixed price
A fixed-price model is sold at three published prices per 1M tokens, one each for cache-hit input, cache-miss input and output. A request to it is charged its measured tokens of each kind at those prices; price limits apply to market models. The pricing page has the rules.
| Model | Cache-hit | Cache-miss | Output | Context | Max output |
|---|---|---|---|---|---|
| kimi-k3 | $0.1000 | $1.0000 | $5.0000 | 1,048,576 | 128,000 |
| glm-5.3 | $0.0750 | $0.7500 | $2.2500 | 1,048,576 | 128,000 |
| glm-5.3-flash | $0.0200 | $0.1000 | $0.3000 | 1,048,576 | 128,000 |
| deepseek-v4.1-flash | $0.0100 | $0.1000 | $0.4000 | 1,048,576 | 128,000 |
Prices per 1M tokens of each kind, as GET /v1/models publishes them. Context and max output in tokens.
What each column means
Level
The price a market model is clearing at, in USD per 1M input tokens at the reference mix (90% cached, 2% output). It moves with load and walks down to 0 once nobody is waiting; the duration depends on market conditions, so a market that has just emptied is cheap rather than free. A request is charged the level at the moment it runs, up to its price limit, or up to its quote when it locked the price.
Context and max output
The context window in tokens, and the most output tokens one request can produce. max_tokens above the ceiling is clamped down to it without an error, so this column is how you learn the ceiling before hitting it. A request that sets no cap gets the whole ceiling.
Ratio
The weight of a cache-hit input token, a cache-miss input token and an output token in the price, in that order. The level is one number; the ratio is how it is shared out across the three token kinds, and each market model sets its own. The pricing page has the arithmetic.
Ids and aliases
A model has one id, which its orders are keyed on, as are a market model's market and level, and it can answer to other ids as well. A request naming an alias runs on the model, and its order records the model's id. GET /v1/models lists an alias as its own entry with x_alias_of naming the model, so a client can fold the two.
The convention for a model is a dated id and a stable alias, both served. A configuration that carries the alias keeps working when the weights behind it change, and the dated id is there for anyone who needs to pin.
Reading the list from code
GET /v1/models needs no key. It carries the pricing ratio and both lengths per model, and the reference mix that turns a level into per-token prices, so a client can price a request before sending it.
Each entry also carries pricing, which says how the model is sold: {"type": "market"} on a market model, and on a fixed-price model its three prices and their level, as the sample shows. A preview of the market carries preview: true as well. The market data reference has every field.
curl https://api.openfill.ai/v1/models{"object": "list", "default": "market-preview", "reference_mix": {"cached_share": 0.9, "uncached_share": 0.1, "output_per_input": 0.02}, "data": [{"id": "market-preview", "object": "model", "created": 1735689600, "owned_by": "openfill", "context_length": 262144, "max_output_length": 128000, "pricing_ratio": {"cached": 1, "uncached": 10, "output": 20}, "pricing": {"type": "market"}, "preview": true}, {"id": "kimi-k3", "object": "model", ..., "pricing": {"type": "fixed", "level": 0.29, "usd_per_million": {"cached": 0.1, "uncached": 1, "output": 5}, "prompt": "0.000001", "completion": "0.000005", "input_cache_read": "0.0000001"}}]}The level of every market in one call is GET /v1/market/levels, and the stream of them is GET /v1/market/levels/stream; a fixed-price model is in neither. Both are on the market data reference.