How routing works

What flux-auto does for you, how Flux picks among vetted models for each kind of task, cost-aware, and how you stay in control with a lane alias or a pinned model.

Send a request to flux-auto and Flux picks a model for it, so you do not have to choose a model for every prompt. This page explains what that means in practice.

What does flux-auto do for me?

When you set model to flux-auto, Flux reads your request and picks among vetted models for that kind of task, cost-aware. Lightweight requests can go to fast models; harder requests go to stronger ones. You get a sound result without managing model selection yourself.

bash
curl https://api.fluxrouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $FLUX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "flux-auto",
    "messages": [{ "role": "user", "content": "Summarise this paragraph." }]
  }'

How does flux-auto decide which model to use?

Routing happens in two steps, on every request:

  1. A classifier picks the lane. Flux reads your request and matches it to a lane (Fast, Standard or Reasoning) based on the kind of work it is. See Lanes.
  2. A selector picks the model within the lane. Inside the lane, Flux chooses among that lane's vetted models using Thompson sampling. It is cost-aware: among candidates expected to do the job equally well, it prefers the cheaper one.

Every model in a lane has been checked by the Flux team before it is added, and models are retired when they fall behind or their provider retires them.

What does flux-auto cost?

The alias you send sets what you pay. flux-auto bills at the Standard rate, or the Fast rate when it sends your request to the Fast lane and a Fast model answers. Never more than Standard. To pay the Fast rate on every simple request, send flux-fast yourself. Current rates are on Pricing, and How billing works covers plans, pay-as-you-go and caps.

How do I stay in control?

You are never locked into what flux-auto would pick. You have two levels of control, in increasing strictness:

  • Choose a lane. Pass a lane alias instead of flux-auto: flux-fast, flux-standard or flux-reasoning. This tells Flux which class of model you want without naming one, and bills that lane's rate.
  • Pin an exact model. Pass a flux-pinned-* id to use one backing model every time. See Let Flux pick, or pin a model.

The authoritative list of ids you can send is GET https://api.fluxrouter.ai/v1/models. Models shows the same catalogue in the browser.

How do I see what it picked?

Responses carry X-Flux-* headers that tell you which model served the request, whether Flux changed the model you asked for, and what the request cost. See Receipts.