Skip to main content

Models and routing

You can let Standard Compute pick a model for each request, or choose one model yourself.

Smart routing​

Send standardcompute as the model, or leave the model field out where your client allows it.

{ "model": "standardcompute", "messages": [{ "role": "user", "content": "..." }] }

The router picks from the models you've enabled on the Models page, using your quality preference. Harder tasks go to stronger models; simple ones go to faster, cheaper models, which stretches your budget.

With smart routing on the OpenAI endpoints, the response's model field is StandardCompute. Request Logs show which model actually answered.

For Claude clients, anthropic/claude-standardcompute is an equivalent smart-routing alias.

Pinning a model​

Send an exact model ID to use that model and nothing else:

{ "model": "anthropic/claude-sonnet-5", "messages": [{ "role": "user", "content": "..." }] }
  • A unique short ID also works. For example, claude-sonnet-5 resolves to anthropic/claude-sonnet-5. Responses return the full ID.
  • A pinned request overrides your dashboard model selection for that request.
  • The provider may fail over within the same model, but the gateway never switches to a different model.
  • Your budget, rate limits and token limits still apply.

An unknown ID returns 400 with code model_not_found. Sending an image to a text-only model returns 400 with code unsupported_model_input.

Listing models​

GET /v1/models returns every model ID you can use, with its context length and input types. The public models page shows the same catalog with pricing and details.

Claude Code model names​

On the Messages API, older Claude Code model names such as sonnet, opus, haiku and legacy dated Claude IDs are treated as smart routing, so existing Claude Code setups keep working. To pin a Claude model, use a current ID such as anthropic/claude-sonnet-5.

These legacy names only work on the Messages API. On the OpenAI endpoints they return model_not_found.