> For the complete documentation index, see [llms.txt](https://docs.kontinent.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kontinent.ai/models-and-routing/price-performance.md).

# Price & performance

Kontinent does not sell a price-versus-speed mix of its own. We don't build the models. The differentiation is a **smart router you configure**: you pick which models it may use, and it classifies each incoming request and sends it to the right one. Your code addresses one endpoint either way.

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td><h4><i class="fa-layer-group" style="color:$primary;">:layer-group:</i></h4></td><td><strong>Your models</strong></td><td>You choose the pool: frontier, open-weight, mixed vendors. The router never picks a model you didn't allow.</td></tr><tr><td><h4><i class="fa-route" style="color:$primary;">:route:</i></h4></td><td><strong>Smart methods</strong></td><td>Classification of the request is the default. You can add other methods, such as live latency or reliability.</td></tr></tbody></table>

## How the smart router works

You put models in a pool. On every request, Kontinent categorizes the prompt and the task behind it, then routes it to the model in that pool that fits. A short classification, a rewrite, and a hard reasoning job do not need the same model.

Simple work lands on a smaller or open-weight model when you included one. Hard work lands on a frontier model that can actually handle it. That split is yours to define, not a house default. You address one endpoint; the router picks from *your* models underneath.

### What it looks at

The classifier works from the request itself — the prompt, the task type, and how demanding it is — not from a static mapping in your code. Other smart methods can sit beside it: prefer the currently fastest model in the pool, or skip one with an elevated error rate. You turn those on per router.

## Configure the pool

The router only routes to models you picked. Mix open-weight and frontier models if you want cheaper models in the mix; keep the pool frontier-only if you don't. Sovereignty tiers still apply to every candidate. See [Models & sovereignty](/models-and-routing/models.md) and [Routing policies](/models-and-routing/routing-policies.md).

When the pool mixes cheaper open-weight models with stronger ones, a **cost-quality threshold** from **1 to 10** is how you tell the classifier how often the smaller models are allowed to win.

* A low setting leans on open-weight and smaller models wherever they suffice.
* A high setting sends more traffic to your strongest models.

The dial is optional. It is useful when you *want* a cost/quality trade-off on the open-weight side. It is not the product — the product is the router. See [Configuring the smart router](/best-practices/cost-quality-tuning.md).

## Other smart methods

Classification is the default. You can also build **custom routers** that decide on the factors that matter to you:

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td><h4><i class="fa-gauge-high" style="color:$primary;">:gauge-high:</i></h4></td><td><strong>Latency &#x26; throughput</strong></td><td>Prefer the currently fastest or highest-throughput model in the pool.</td></tr><tr><td><h4><i class="fa-shield-check" style="color:$primary;">:shield-check:</i></h4></td><td><strong>Reliability</strong></td><td>Route around models or providers with elevated error rates.</td></tr></tbody></table>

You define the method, and the gateway applies it on every request. Combine it with classification or use it on its own.

## Your code stays the same

Address the router as a model id and change the pool in the console; the request body never changes. When a provider under the chosen model is slow or unavailable, Kontinent fails over to another route for that model. See [Routing policies](/models-and-routing/routing-policies.md) and [Maximum availability](/models-and-routing/availability.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kontinent.ai/models-and-routing/price-performance.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
