Models
Each model is its own market, with its own clearing level, quote, order book and charts. This is the list a request can name, read live.
What is served
Clearing level · every market · polling
| Model | Level now | Context | Max output | Ratio |
|---|---|---|---|---|
| placeholder-large | $0.5736 | 262,144 | 128,000 | 1:10:20 |
| placeholder-medium | $0.0956 | 262,144 | 128,000 | 1:8:16 |
| placeholder-small | $0.0304 | 262,144 | 128,000 | 1:6:12 |
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.
A request that names no model runs on placeholder-large. A model that has been retired leaves this list and answers 400 model_deprecated; one that was never served 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 book, chart and calculator.
What each column means
Level
The price the market is clearing at, in USD per 1M input tokens at the reference mix (90% cached, 2% output). It moves with load and is 0 when nobody is waiting. A request is charged the level at the moment it runs, up to its max 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 it is fixed per model. The pricing page has the arithmetic.
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.
curl https://api.openfill.ai/v1/models{"object": "list", "default": "placeholder-large", "reference_mix": {"cached_share": 0.9, "uncached_share": 0.1, "output_per_input": 0.02}, "data": [{"id": "placeholder-large", "object": "model", "owned_by": "openfill", "context_length": 262144, "max_output_length": 128000, "pricing_ratio": {"cached": 1, "uncached": 10, "output": 20}}]}The level of every market in one call is GET /v1/market/levels, and the stream of them is GET /v1/market/levels/stream. Both are on the market data reference.