---
title: "Auto router"
description: "Let minirouter/auto pick a model by intent, cost tier and live provider health."
canonical_url: "https://minirouter.sh/docs/auto-router"
markdown_url: "https://minirouter.sh/docs/auto-router.md"
last_updated: "2026-09-26"
---

# Auto router

Send `minirouter/auto` and MiniRouter picks the model.

## Send a request

```sh
curl https://api.minirouter.sh/v1/chat/completions \
  -H "Authorization: Bearer $MINIROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "minirouter/auto",
  "messages": [
    {
      "role": "user",
      "content": "Explain an API gateway in one sentence."
    }
  ],
  "max_tokens": 256
}'
```

Examples read your key from `MINIROUTER_KEY`.

## Intents

| Model ID | Picks |
| --- | --- |
| `minirouter/auto` | `:smart`, or `:code` when the request has tools or JSON output. |
| `minirouter/auto:smart` | A strong general model at a mid-range price. |
| `minirouter/auto:cheap` | The cheapest model that still answers well. |
| `minirouter/auto:code` | Reliable tool calling and long context. |
| `minirouter/auto:roleplay` | Long context with low input cost. |
| `minirouter/auto:free` | Free models only. See [Auto Free](https://minirouter.sh/docs/free-inference). |

To choose from what the request says, send [`minirouter/fusion`](https://minirouter.sh/docs/fusion).

Every router has its own page, starting with [Auto](https://minirouter.sh/docs/routers/auto).

## How it chooses

1. **Allowed**: On your key.
2. **Affordable**: Within your cost tier.
3. **Healthy**: Has a working provider.
4. **Fits**: Can accept this request.

The first model to pass answers. See the live lists at [Auto models](https://minirouter.sh/models/auto).

Later models in the list become fallbacks. Auto never reads prompt text.

## Cost tier

- **$1** Low
- **$5** Medium
- **Any** High, the default

Set it in [Routing settings](https://minirouter.sh/dashboard/routing).

Output price ceiling per million tokens. On Low, bare `minirouter/auto` starts from `:cheap`.

## Response

- **Chosen model**: Named in `model` and `x-minirouter-model`.
- **Price**: Provider cost plus 8%.
- **No match**: 503 [`auto_unresolvable`](https://minirouter.sh/docs/errors#auto_unresolvable). Retry after 15 seconds.

## Limits

| Limit | Detail |
| --- | --- |
| Endpoints | Chat Completions, Responses and Messages. |
| Fallback lists | Not combinable with `models` or `fallbacks`. |
