> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corepillar.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Models and routing

> How the ModelHub model picker works, what Auto routing does with each message, how models are sorted into Small, Mid and Large, and what the routing line tells you.

ModelHub can answer with any model your administrators have connected to the project. You either pick one yourself or leave the picker on **Auto** and let ModelHub choose per message.

## The model picker

The picker sits in the composer and shows **Auto** or the name of the model you chose. Open it to see:

* **Auto** at the top,
* then the connected models grouped under **Small**, **Mid** and **Large**.

A dot marks the current choice. Each model appears once even if an administrator connected it twice.

Your choice applies to every message until you change it. It resets to Auto when you reload the page or switch project.

You can also change the model from an answer's report card: the **Use** or **Try** suggestion chip selects that model for your next message.

## What Auto does

With Auto selected, ModelHub reads each message before sending it and gives it a difficulty score between 0 and 1. The score decides which size of model the message needs:

| Score | Needs |
| - | - |
| 0 to 0.42 | Small |
| above 0.42 to 0.68 | Mid |
| above 0.68 | Large |

ModelHub then sends the message to the **cheapest connected model of that size or bigger**. Ordinary questions start below the Small line, so they go to the cheap model by default; something in the message has to argue for spending more. Signals that raise the score include code, several questions at once, and requests to prove, design, debug, refactor or explain step by step. Greetings, simple look-ups and translation requests lower it.

When a score lands close to a boundary, a small, fast model is asked to classify the message and its answer overrides the score. This runs at the same time as the privacy screening, so it adds no waiting.

The full scoring table, with every weight, is in [How routing works](/modelhub/how-it-works/routing).

### Picking a model yourself

If you choose a specific model, ModelHub uses it. Routing never overrides an explicit choice. The message is still scored, so the report card can tell you whether your pick was **Overkill** or **Underpowered** for that question.

## How models are sorted into sizes

Sizes are worked out from the model's price, not from a fixed list:

* Model names in the Claude Opus and Claude Fable families, and GPT-6 Astra, are always **Large**.
* Names containing `haiku`, `-mini`, `-nano`, `-lite` or `-luna` are always **Small**.
* Anything else is sorted by its average of input and output price per million tokens: up to **$3.50** is Small, up to **$8.50** is Mid, above that is Large.

Examples from CorePillar's current catalogue:

| Size | Examples |
| - | - |
| Small | GPT-4.1 mini, GPT-4o mini, Claude Haiku 4.5, Gemini 3.x Flash, GPT-6 Luna, Mistral Small, DeepSeek Flash |
| Mid | GPT-4.1, GPT-4o, GPT-6 Sol, Claude Sonnet 5, Claude Sonnet 5.5, Gemini 3.1 Pro preview, Grok 4.5 to 4.7 |
| Large | Claude Opus 5 and 5.5, Claude Fable 5, GPT-5.6 Sol, GPT-6 Astra, Claude Sonnet 4.5 and 4.6, Kimi K3 |

What you see in your picker depends on what your administrators connected.

## What you see while it runs

While the answer streams, a line above the composer says where the message went:

| Line | Meaning |
| - | - |
| **Routed to Mid · GPT-4.1** | The message needed Mid and a Mid model ran. |
| **Needed Large · used GPT-4.1 (Mid, no Large model configured)** | Auto wanted a bigger model than the project has, so it used the most capable one available. |
| **Needed Small · used GPT-4.1 (Mid, cheapest available)** | No model of the needed size is connected; the cheapest bigger one ran. |
| **Needed Mid · using your pick, Claude Haiku 4.5 (Small)** | You chose the model yourself and it differs from what Auto would have used. |

After the answer, the report card's **Details** panel lists each signal that moved the score and the reason, such as "scored as a simple turn", "classified as moderately complex" or "You picked this model". See [The chat screen](/modelhub/chat/overview#the-report-card-under-each-answer).

## Getting the most from Auto

* Auto can only save money if the project has a spread of sizes. With a single model connected, every message goes to it.
* If a report card says **Underpowered** and suggests a stronger model, click **Try** to use it for your follow-up.
* If an answer looks thin on a hard question, pick a Large model for that message and switch back to Auto afterwards.

## Savings

When Auto chose the model, ModelHub works out what the same answer would have cost on the most expensive model connected to the project, using the actual token counts. The difference is credited as **Saved by auto-routing** on the [AI Usage](/modelhub/usage) page. Messages where you picked the model yourself are not counted.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.