Concepts
Routing
How Melious picks which provider answers your request, and how to steer that choice
Every inference request is served by one of our European providers. Routing is the step that picks which one. You choose a flavor — balanced, speed, price, or eco — and Melious handles the rest.
The five flavors
Each flavor leans differently on three dimensions: price, speed, and environment.
| Flavor | What it's for |
|---|---|
balanced | Default for chat. Reasonable on all three. |
speed | Latency-sensitive apps — chat UIs, agents on the critical path. |
price | Bulk work where milliseconds don't matter. Default for embeddings. |
eco | Greener power first, even if it's slower. |
batch | Prefers lower-cost providers. Batches uses it automatically. |
We default to balanced on chat because picking between fast and cheap is a call we didn't want to make for you. Embeddings default to price because the latency difference there is usually invisible and the cost difference isn't.
If the first provider fails before it produces output, we retry the same request on the next provider in the ranked list. You see one response and one charge.
Choose a flavor
Append a flavor to the model ID:
client.chat.completions.create(
model="<MODEL_ID>:eco",
messages=[...],
)A flavor changes your routing preference. :batch does not create an asynchronous job or bypass realtime rate limits; use Batches for async work.
For temporary failures, follow the retry guidance.
Related
See which countries host which providers in Providers. See how we compute the environment dimension in Environmental impact. Endpoint-level fields: Chat completions, Messages, Embeddings.