LinuxAir
Docs / Quickstart

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.

Your key stays yours: requests are made on your provider account and billed there. The key is stored encrypted and never shown again.

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:

json
"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:

modelBehaviour
autoYour workspace or key default
la/qualityStrongest predicted model
la/balancedBest value within about 2.6 pts of the best
la/economyCheapest 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:

bash
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.