Hurtigstart
Få tilgang, opprett en nøkkel og send din første forespørsel med OpenAI SDK eller curl.
Stav er en OpenAI- og Anthropic-kompatibel gateway for inferens. Du beholder SDK-et du allerede bruker, og endrer to ting: base-URL-en og nøkkelen.
1. Få tilgang
Registrer deg på stav.ai/signup. Tilgang gis fra ventelisten. Når kontoen din er aktivert, kommer du til arbeidsområdet ditt.
Inferens betales fra arbeidsområdets lommebok med forhåndsbetalt kreditt. Fyll på under Fakturering i kontomenyen (avataren din) før du sender trafikk. Se Kreditt og fakturering.
2. Opprett en API-nøkkel
Åpne Arbeidsområdet ditt → Koble til → API-nøkler og opprett en nøkkel. Den vises bare én gang – kopier den da.
export STAV_API_KEY="sk_stav_live_..."
Sjekk at den fungerer. Dette kallet koster ingenting:
curl https://api.stav.ai/v1/auth/validate \
-H "Authorization: Bearer $STAV_API_KEY"
Nøkkeltyper, API-tilganger og rotering: Autentisering og API-nøkler.
3. Send en forespørsel
Base-URL: https://api.stav.ai/v1
curl
curl https://api.stav.ai/v1/chat/completions \
-H "Authorization: Bearer $STAV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "auto",
"messages": [{"role": "user", "content": "Say hello in Norwegian."}]
}'
Python (OpenAI SDK)
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["STAV_API_KEY"],
base_url="https://api.stav.ai/v1",
)
resp = client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": "Say hello in Norwegian."}],
)
print(resp.choices[0].message.content)
print("served by:", resp
TypeScript (OpenAI SDK)
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.STAV_API_KEY,
baseURL: "https://api.stav.ai/v1",
});
const resp = await client.chat.completions.create({
model: "auto",
messages: [{ role: "user", content: "Say hello in Norwegian." }],
});
Anthropic SDK
POST /v1/messages bruker Anthropics protokollformat. SDK-et sender x-api-key, som Stav godtar.
import os
from anthropic import Anthropic
client = Anthropic(
api_key=os.environ["STAV_API_KEY"],
base_url="https://api.stav.ai", # ingen /v1 – SDK-et legger den til
)
msg = client.messages.create(
model="anthropic/claude-sonnet-4-5",
max_tokens=512,
messages=[{"role": "user", "content": "Si hei på norsk."}]
)
print(msg.content[0].text)
4. Velg en modell
Feltet model tar:
| Verdi | Betydning |
|---|---|
auto | Smart Router velger, og bruker standardrouteren til arbeidsområdet ditt |
@workspace/router | En navngitt router arbeidsområdet ditt har opprettet under Arbeidsområdet ditt → Koble til → Routere |
creator/model | Denne modellen; Stav velger leverandørendepunktet |
creator/model/provider | Denne modellen hos én inferensleverandør |
Detaljer under Modeller.
5. Strømming
stream = client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": "Skriv et haiku om fjorder.""}],
stream=True,
stream_options={"include_usage": True},
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0
6. Se hva som skjedde
Hvert svar har X-Stav-*-headere: modellen og inferensleverandøren som betjente den, suverenitetsnivået og grunnen til rutingen. Se Svarheadere. Hver forespørsel vises også under Arbeidsområdet ditt → Overvåk → Forespørselslogg.
API-er
| Endepunkt | Tilgang |
|---|---|
POST /v1/chat/completions | inference:chat |
POST /v1/responses | inference:chat |
POST /v1/messages, POST /v1/messages/count_tokens | inference:messages |
POST /v1/embeddings | inference:embeddings |
POST /v1/audio/transcriptions | inference:audio |
POST /v1/audio/speech | inference:audio |
POST /v1/decisions | inference:decisions |
GET /v1/models, GET /v1/models/{id} | inference:models |
Ukjente eller ikke-støttede forespørselsparametere avvises med en 400-feil som oppgir navnet på dem, i stedet for å utelates i stillhet. Se Forespørselsparametere.
Neste
- Prøv det i Chat Playground først, og kopier deretter forespørselen som kode
- Smart Router
- Suverenitet
- Feil