List models
GET https://inference.inferel.ai/v1/modelsReturns the models currently servable on the platform in the OpenAI list format, each with its live per-token price. The catalog changes as providers and capacity are added, so query this endpoint rather than hardcoding model lists — a model appears here only when it has at least one healthy serving endpoint.
curl https://inference.inferel.ai/v1/models \ -H "Authorization: Bearer $INFEREL_API_KEY"{ "object": "list", "data": [ { "id": "claude-sonnet-4.6", "name": "claude-sonnet-4.6", "object": "model", "owned_by": "inference", "pricing": { "prompt": "0.000003", "completion": "0.000015", "input_cache_read": "0.0000003", "input_cache_write": "0.00000375", "request": "0", "image": "0", "currency": "USD", "unit": "per_token" } } ]}Model IDs are namespaced as provider/model-name
Legacy maker-prefixed ids (anthropic/claude-opus-4.8) and official
Anthropic dashed/dated ids (claude-opus-4-8) are still accepted on every
endpoint — existing integrations keep working unchanged.
(e.g. claude-opus-4.8, gpt-5.5, gemini-3.5-flash,
Kimi-K2.6). Use the id value verbatim as the model field in inference
requests.
Pricing fields
Section titled “Pricing fields”Prices are USD per token as decimal strings — the OpenRouter-compatible shape, so
tools that already read that format work unchanged. Multiply by 1,000,000 for the
per-million-token rate quoted in the console ("0.000003" → $3.00 / 1M).
| Field | Meaning |
|---|---|
prompt | Input (prompt) tokens. |
completion | Output (completion) tokens. |
input_cache_read | Cached input tokens read from a prompt cache. |
input_cache_write | Input tokens written to a prompt cache. |
request / image | Per-request and per-image surcharges. Always "0" today. |
currency | Always "USD". |
unit | Always "per_token". |
These are the same prices your usage is billed at: the endpoint reads the billing system’s own price table, so the published rate and the charged rate share one source. Prices are cached for up to a minute, so a very recent price change may take that long to appear. See Prompt caching for how cached tokens are counted.
Models that have no published price omit the pricing object; they are still listed and
still servable. The endpoint works without a key — supply your API key to get prices that
include any discounts negotiated for your organization.
Effective prices with a discount
Section titled “Effective prices with a discount”When your organization has a per-model discount, an authenticated request returns the
discounted price in the top-level fields and adds the pre-discount rates under list,
plus the percentage applied:
{ "id": "claude-sonnet-4.6", "pricing": { "prompt": "0.0000021", "completion": "0.0000105", "discount_percent": 30, "list": { "prompt": "0.000003", "completion": "0.000015", "input_cache_read": "0.0000003", "input_cache_write": "0.00000375" }, "currency": "USD", "unit": "per_token" }}Without a key (or without a discount) there is no list block — the top-level prices are
the list prices.
Pool variants
Section titled “Pool variants”By default only base model IDs are returned. Organizations with
resource group access can pass ?variants=all to also list
each model’s pool variants (<model>-<pool>) with their pool metadata and
multiplier-adjusted pricing. Callers without pool access get the base list, whether or not
the parameter is set.
curl "https://inference.inferel.ai/v1/models?variants=all" \ -H "Authorization: Bearer $INFEREL_API_KEY"Per-model pricing is also shown on the Billing page of the console, alongside any discounts applied to your organization — see Models & pricing.