# Choosing a model

> Name a model, pin a provider with provider/model, call your own models, or send auto. What each form means and the errors you can get.

Source: https://digitspace.ai/docs/routing/models · Last checked: 2026-10-31

The `model` field takes one of four forms.

| You send                                             | What happens                                                                                                                           |
| ---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `gpt-6-luna`                                         | That model, on whichever of its providers routing ranks first. If that provider fails, the next one serving the same model takes over. |
| `openai/gpt-6-luna`                                  | That model, only on that provider.                                                                                                     |
| `auto`, `auto:economy`, `auto:balanced`, `auto:best` | DigitSpace chooses the model as well. See [`auto`](/docs/routing/auto).                                                                   |
| `my-vllm/llama-3.3-70b`                              | A model you added on your own provider key. See [Custom endpoints](/docs/keys/custom).                                                 |

Model IDs and aliases are listed by [`GET /v1/models`](/docs/api/models) and on the [models page](/models).

## Pin a provider

Put the provider's ID in front of the model: `anthropic/claude-haiku-5-5`, `google-ai-studio/gemini-3.6-flash`. Routing then only uses that provider's offers of the model. Failover still works between that provider's offers (in different regions, for example) but never moves to another provider.

Pin a provider when you need something only that provider has: a feature, a data-handling term you've agreed with it, or your own key's quota. Otherwise leave it unpinned so failover has somewhere to go.

> **Note:** A [DevPass](/docs/devpass) key can't pin a provider; it gets `403 devpass_provider_pinned`. Send the model ID alone.

## When the model can't be used

| Error                       | Why                                                                                                                                      |
| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `404 model_not_found`       | No model has that ID or alias. Check the spelling against `/v1/models`.                                                                  |
| `400 capability_mismatch`   | No offer of the model can do what the request asks (images, tools, a JSON schema, reasoning, streaming, or that much context).           |
| `403 model_not_allowed`     | The key's [access rules](/docs/control/access-rules) don't allow the model or its providers.                                             |
| `503 no_provider_available` | The model exists, but none of its providers can take the request now: they're paused after failures, or the project has no key for them. |

For context, routing estimates the request's size as about four characters per token, plus 85 tokens per image, plus `max_tokens` (512 when not set), and skips offers whose context window is smaller.
