Request types
There is one model. Every call is classified into a request type by its shape, and each request type invokes the model best suited to it.
How a call is classified
Section titled “How a call is classified”Classification is deterministic and local — it reads the request shape (input size, tools, schemas, code, images, documents, reasoning language) and combines it with the intent implied by your model id. Capability signals win over the model name: a PDF sent to a “mini” model is still a document request. Rules are evaluated top to bottom; the first match wins.
| # | When the request has… | Resolves to |
|---|---|---|
| 1 | Document / PDF / file input | document |
| 2 | Image input | vision |
| 3 | Input estimated beyond the standard context window | long |
| 4 | Tool definitions or a forced tool choice | code |
| 5 | Code blocks, diffs, stack traces, or repo paths | code |
| 6 | A JSON / response schema, or extraction language | json |
| 7 | Multi-step reasoning language | reason |
| 8 | Simple summarize / classify / translate / rewrite | flash (or pro at higher effort) |
| 9 | General chat with no special signal | the model-intent base type (pro or flash) |
The request types
Section titled “The request types”These are the request types your traffic can land on. You see the request type in your own analytics; the model, candidate, and provider that serve it stay private.
| Request type | Triggered by |
|---|---|
vision | Image content parts in the request Requests with image input. |
document | PDF / file input (e.g. Anthropic document blocks) Requests with PDF / file input. |
long | Estimated input beyond the standard context window Requests whose input exceeds the standard context window. |
code | Tool definitions, diffs, stack traces, or repo paths Code-shaped requests — diffs, stack traces, tool use. |
json | response_format / output JSON schema set Requests that set a JSON / response schema. |
reason | Multi-step reasoning language in the prompt Multi-step reasoning requests. |
flash (default) | Simple request at low effort Simple, low-effort requests — served fast and cheap. |
pro (default) | Everything else (default) General requests with no special signal. |
Examples
Section titled “Examples”| Request | Resolves to |
|---|---|
| General text on a Claude / GPT id | pro |
| Code or tool calls on any id | code |
| Summarization on a small / mini id | flash |
| Any id with a PDF document block | document |
| Any id with image input | vision |
| Any id with a JSON response schema | json |