Quickstart
From sign-up to your first routed request in about five minutes.
1. Create your workspace
Sign up with your email. You get 2,000 free credits — no card required.
2. Connect a provider
Open Providers → Connect provider, pick a preset (OpenAI, Anthropic, Google Gemini, Groq, Together, DeepSeek, Mistral, xAI, OpenRouter, Ollama or any OpenAI-compatible endpoint) and paste your API key. LinuxAir tests the connection and lists the provider's models.
3. Add models
Open Models → Add models, choose a provider and tick the models you want. Prices and context windows fill in automatically. Add at least two — for example a small fast model and a frontier model — so the router has a real choice.
Each new model is fingerprinted on the probe set in the background (usually a minute or two). Models already measured in the shared catalogue go live instantly and free.
4. Create an API key
Open API keys → Create key. Copy the key (it starts with la-); it is shown only once.
5. Send a request
Point any OpenAI SDK at LinuxAir and use model: "auto".
pip install openai
from openai import OpenAI
client = OpenAI(base_url="https://ai.linuxair.com/v1", api_key="la-...")
r = client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": "Extract the invoice total from: ..."}],
)
print(r.model)
print(r.choices[0].message.content)npm install openai
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://ai.linuxair.com/v1", apiKey: process.env.LINUXAIR_KEY });
const r = await client.chat.completions.create({
model: "auto",
messages: [{ role: "user", content: "Extract the invoice total from: ..." }],
});
console.log(r.model, r.choices[0].message.content);curl https://ai.linuxair.com/v1/chat/completions \
-H "Authorization: Bearer $LINUXAIR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "auto",
"messages": [{"role": "user", "content": "Extract the invoice total from: ..."}]
}'The model field in the response is the model LinuxAir chose. The extra linuxair block explains the decision:
"linuxair": {
"request_id": "rq_8f3a...",
"predicted_quality": 0.94,
"tolerance": 0.026,
"reason": "within 0.8 pts of the best model, 16.4x cheaper",
"cost_usd": 0.00025,
"baseline_cost_usd": 0.0041,
"saved_usd": 0.00385
}6. Choose your trade-off
By default LinuxAir uses Best value. Change it for the whole workspace in Routing policy, per key when you create it, or per request with a model alias:
| model | Behaviour |
|---|---|
auto | Your workspace or key default |
la/quality | Strongest predicted model |
la/balanced | Best value within about 2.6 pts of the best |
la/economy | Cheapest within about 5.3 pts of the best |
7. Turn on the extras worth having
- Semantic cache — on by default; repeat prompts come back free. Tune it under Routing policy.
- Spend caps — set a daily and monthly budget so routing pauses before the bill surprises you.
- Redaction — mask emails, cards and IDs before prompts leave for a provider.
- Team — invite colleagues as Owner, Developer or Viewer.
8. Close the loop
Send feedback so routing adapts to your prompts. From the dashboard use the thumbs buttons; from code:
curl https://ai.linuxair.com/v1/feedback \
-H "Authorization: Bearer $LINUXAIR_KEY" \
-H "Content-Type: application/json" \
-d '{"request_id": "rq_8f3a...", "score": "down"}'That's it. Watch the Overview dashboard for savings and the model-by-task quality heatmap.