EZAT RouterDocs

Models

Every AI model you can call through EZAT Router, how model ids and aliases work, model statuses, what each feature means, and how to list models from the API.

When to use this page

You need a model id for a request, want to know what a model supports, or want to list models from code. Prices are on Pricing.

Models

Model idAliasesContextMax outputFeatures
Claude Fable 5.1
anthropic/claude-fable-5-1
claude-fable-5-1, claude-fable-5.11M128KTools · Images · Thinking · Prompt caching · 1 h cache
Claude Fable 5
anthropic/claude-fable-5
claude-fable-51M128KTools · Images · Thinking · 1 h cache
Claude Opus 5.5
anthropic/claude-opus-5-5
claude-opus-5-5, claude-opus-5.51M128KTools · Images · Thinking · Prompt caching · 1 h cache
Claude Opus 5
anthropic/claude-opus-5
claude-opus-51M128KTools · Images · Thinking · Prompt caching · 1 h cache
Claude Sonnet 5.5
anthropic/claude-sonnet-5-5
claude-sonnet-5-5, claude-sonnet-5.51M128KTools · Images · Thinking · Prompt caching · 1 h cache
Claude Sonnet 5
anthropic/claude-sonnet-5
claude-sonnet-51M128KTools · Images · Thinking · Prompt caching · 1 h cache
Claude Haiku 5.5
anthropic/claude-haiku-5-5
claude-haiku-5-5, claude-haiku-5.51M128KTools · Images · Thinking · Prompt caching · 1 h cache
Claude Opus 4.8
anthropic/claude-opus-4-8
claude-opus-4-8, claude-opus-4.81M128KTools · Images · Thinking · Prompt caching · 1 h cache
Claude Opus 4.7
anthropic/claude-opus-4-7
claude-opus-4-7, claude-opus-4.71M128KTools · Images · Thinking · Prompt caching · 1 h cache
Claude Opus 4.6
anthropic/claude-opus-4-6
claude-opus-4-6, claude-opus-4.61M128KTools · Images · Thinking · Prompt caching · 1 h cache
Claude Sonnet 4.6
anthropic/claude-sonnet-4-6
claude-sonnet-4-6, claude-sonnet-4.61M128KTools · Images · Thinking · Prompt caching · 1 h cache

The table is live from the catalog. Context is the most input tokens a request can have; max output is the highest max_tokens the model accepts.

Model ids

  • The canonical id is author/model, for example anthropic/claude-sonnet-5-5. The author is the company that made the model, not the one that serves it.
  • A model also answers to the names in the Aliases column: the provider's own name without the author/ prefix (claude-sonnet-5-5), and for most models the same name with a dot in the version (claude-sonnet-5.5). Claude Code and the Anthropic SDKs send these names, so they work unchanged.
  • Ids and aliases are case-insensitive. Spaces around them are ignored.
  • Both APIs take the same ids: POST /v1/messages and POST /openai/v1/chat/completions.
  • The model in a response is exactly the name you sent, never a provider's internal id. The model lists below always return canonical ids.

Statuses

StatusListedRequests
ActiveYesServed
DeprecatedYes, with a Deprecated badgeStill served. Move to a newer model in the same family before it is retired.
PreviewOnly to keys with preview accessServed only to keys with preview access. Other keys get the same 404 as an unknown model.
RetiredNoRejected with 404

A retired, unknown or preview model (without preview access) is rejected before it reaches a model, and isn't charged:

{
  "type": "error",
  "error": { "type": "not_found_error", "message": "model: <the name you sent>" },
  "request_id": "…"
}

On the OpenAI-compatible API it is a 404 with "code": "model_not_found" and "param": "model". See Errors.

Preview access is set per API key by EZAT Router; the dashboard has no switch for it. To ask for it, email support@ezat.io.

Keys limited to some models

A key created with Only selected models can call only those models. Any other model is refused with 403 permission_error ("This API key is not allowed to use …"), and the key's model lists show only its models. See API keys.

Models without capacity

When no provider can serve a model right now, the public catalog shows it with "available": false and the dashboard's Models page shows Unavailable. Requests for it get 529 overloaded_error (503 on the OpenAI-compatible API) with a retry-after header. See Rate limits.

Features

FeatureWhat it means
ToolsTool use: tools on /v1/messages, function tools on the OpenAI-compatible API
ImagesImage input (image blocks, or image_url parts) and PDF input (document blocks, or file parts with file_data)
ThinkingExtended thinking: thinking on /v1/messages, reasoning_effort on the OpenAI-compatible API
Prompt cachingcache_control breakpoints are honoured, and cached tokens bill at the cache read price. The OpenAI-compatible API caches automatically for these models. A model without it has its breakpoints removed and bills every token as plain input. See Prompt caching.
1 h cacheBreakpoints with "ttl": "1h" work, billed at the 1-hour cache write price

The public catalog also has a sampling capability. Models with it accept temperature, top_p and top_k. Models without it run only at their default sampling: on /v1/messages the model refuses other values with a 400, and the OpenAI-compatible API drops these fields. The OpenAI-compatible API also drops them whenever thinking is on.

Choosing a model

Start with the newest model in the family that fits the task. Older models stay in the catalog so existing code keeps working.

FamilyUse it for
FableThe hardest, longest-running tasks
OpusComplex reasoning and agentic coding
SonnetEveryday coding, agents and production workloads, balancing speed and quality
HaikuHigh-volume and latency-sensitive tasks

Compare costs on Pricing before you pick. Every model in the table above works with both APIs.

List models from the API

There are two kinds of list:

EndpointKeyReturns
GET https://api.router.ezat.io/v1/modelsYesThe models this key can call, in Anthropic's format
GET https://api.router.ezat.io/openai/v1/modelsYesThe same models, in OpenAI's format
GET https://api.router.ezat.io/api/modelsNoEvery active and deprecated model, with prices

The two keyed lists include active and deprecated models, preview models only when the key has preview access, and only the key's own models when it is limited to some. They don't include prices.

curl -sS --fail-with-body https://api.router.ezat.io/v1/models \
  -H "x-api-key: $EZAT_API_KEY" \
  -H "anthropic-version: 2023-06-01"
Anthropic format fieldOpenAI format fieldValue
ididCanonical author/model id
display_nameDisplay name
created_atcreatedWhen the model was added to the catalog (ISO 8601, or Unix seconds)
type: "model"object: "model"
owned_byThe author, for example anthropic

The Anthropic list returns everything in one page (has_more is false).

To look up one model, use GET https://api.router.ezat.io/v1/models/{id} or GET https://api.router.ezat.io/openai/v1/models/{id}. {id} can be a canonical id or an alias, and the response has the canonical id. On /v1/models/{id}, write the / of a canonical id as %2F (anthropic%2Fclaude-sonnet-5-5); the SDKs do this for you. A model the key can't call returns 404, or 403 for a key limited to other models.

The public catalog

GET https://api.router.ezat.io/api/models needs no key. It is what this page and Pricing are built from.

curl -sS https://api.router.ezat.io/api/models

Each entry in data has:

FieldValue
idCanonical id
aliasesOther names the model answers to
displayName, description, familyDisplay name, one-line description, family (opus, sonnet, …)
statusACTIVE or DEPRECATED
contextWindow, maxOutputTokensToken limits
capabilitiestools, vision, thinking, promptCaching, cacheTtl1h, and sampling where it applies
availablefalse when no provider can serve the model right now
pricingPrices in USD per million tokens: input, output, cacheWrite5m, cacheWrite1h, cacheRead, and longContext tiers
officialPricingAnthropic's official list prices, in the same shape

Prices are strings, to keep every decimal. Ignore the uuid field: it is internal.

For AI agents

  1. Send the canonical id (author/model) in model. Aliases from the catalog also work, case-insensitively.
  2. To see which models a user's key can call, use GET https://api.router.ezat.io/v1/models with the key (x-api-key or Authorization: Bearer), or GET https://api.router.ezat.io/openai/v1/models for OpenAI-format tools.
  3. To see every model with prices and capabilities, use GET https://api.router.ezat.io/api/models (no key), or read https://docs.router.ezat.io/models.md.
  4. Don't hard-code a model list or prices in code or config you write for the user; read them from the endpoints above.
  5. A 404 not_found_error (OpenAI format: model_not_found) means the model is unknown, retired or in preview. Pick another model from the list; retrying won't help.
  6. Prefer the newest model of a family. Don't pick a model with the Deprecated badge for new work.

On this page