Source: https://ailoot.ai/docs/nb/how-it-works/
Canonical: https://ailoot.ai/docs/nb/how-it-works/
Language: nb

[Start](https://ailoot.ai/docs/nb/) 

# Slik fungerer det

[Markdown](https://ailoot.ai/docs/nb/how-it-works/index.md)

Hva som skjer med forespørselen mellom programmet ditt og modellen.

Du sender en forespørsel til Ailoot API på samme måte som direkte til OpenAI, Anthropic eller Google. Ailoot kontrollerer nøkkel og saldo, sender forespørselen videre til modellen, returnerer svaret i samme format og belaster etter faktisk forbruk.

<em>01</em><strong>Forespørsel</strong>Klienten din sender forespørselen til api.ailoot.ai med nøkkelen sk-…

<em>02</em><strong>Kontroll og reservasjon</strong>Nøkkel, grenser og saldo. Et beløp reserveres mens svaret behandles.

<em>03</em><strong>Modell</strong>Modellen svarer, og svaret returneres i ditt format.

<em>04</em><strong>Belastning</strong>Én belastning etter faktisk tokenforbruk; resten av reservasjonen frigjøres.

## [](https://ailoot.ai/docs/nb/how-it-works/#formats)Én nøkkel — tre formater

Formatet bestemmes av forespørselens endepunkt, ikke av modellen. Den samme Claude-modellen kan kalles via OpenAI Chat, OpenAI Responses eller Anthropic Messages — svaret kommer i formatet til endepunktet du kalte.

| Format | Endepunkt | Hvem som bruker det |
| --- | --- | --- |
| OpenAI Chat Completions | `/v1/chat/completions` | OpenAI SDK, de fleste chatter og redigeringsverktøy, n8n, LangChain |
| OpenAI Responses | `/v1/responses` | Codex CLI, OpenAI Agents SDK, nye SDK-versjoner |
| Anthropic Messages | `/v1/messages` | Claude Code, Anthropic SDK, Zed, Cline |
| Gemini | `/v1beta/models/{model}:generateContent` | Gemini CLI, Google GenAI SDK |

## [](https://ailoot.ai/docs/nb/how-it-works/#money)Økonomi: reservasjon og én belastning

- Før en ny tekstforespørsel sendes, reserverer Ailoot et beløp basert på anslått inndata og et typisk svar, med hensyn til grensen (`max_tokens`) og vilkårene for den konkrete modellen. Hvis reservasjonen ikke dekkes av fri saldo eller nøkkelgrensen, kan grensen som sendes til modellen bare reduseres for en modell og metode som faktisk følger den, og aldri under 256 tokener eller et høyere, fastsatt svarminimum. For bilder, video og lyd som utdata beholdes full reservasjon for resultatkostnaden.
- Etter svaret — én belastning etter faktisk forbruk. Ubrukt reservasjon frigjøres til saldoen umiddelbart.
- Hvis svaret koster mer enn reservasjonen, tas differansen fra tilgjengelig saldo. Saldoen blir aldri negativ.
- Hvis saldoen ikke engang dekker minimumsreservasjonen, sendes ikke forespørselen: du får en forståelig feil 402, og ingenting belastes.
- Feil uten resultat belastes ikke.

Detaljer og et beregningseksempel finnes på siden [Reservasjon og belastning](https://ailoot.ai/docs/nb/billing/reserve/).

## [](https://ailoot.ai/docs/nb/how-it-works/#errors)Feil med Request ID

Hvert svar får en forespørselsidentifikator: i headeren `X-Request-ID` og i feilmeldingen. Feil returneres i JSON-formatet du kalte, slik at SDK-ene gjenkjenner dem riktig. Hvis noe går galt, sender du Request ID til [brukerstøtte](https://ailoot.ai/docs/nb/support/) — slik finner vi forespørselen på ett minutt.

401 Unauthorized

```json
{
  "code": "API_KEY_REQUIRED",
  "error": {
    "code": "invalid_api_key",
    "message": "No API key was sent with the request. Nothing was charged. Please check that the full key is sent in the Authorization header as \"Bearer <key>\". Request ID: 3b28d3de-5b02-4d07-9f3c-4b9a7d0e68d6.",
    "param": null,
    "reason": "invalid_api_key",
    "request_id": "3b28d3de-5b02-4d07-9f3c-4b9a7d0e68d6",
    "type": "invalid_request_error"
  },
  "message": "No API key was sent with the request. Nothing was charged. …"
}
```

## [](https://ailoot.ai/docs/nb/how-it-works/#streaming)Strømming og tidsgrenser

Strømmede svar (`stream: true`) leveres som Server-Sent Events. Ailoot leverer betalte tekstsvar etter at kostnaden er beregnet. Med `stream: true` er formatet derfor fortsatt strømmet (SSE), men teksten kommer som én blokk når modellen er ferdig, ikke ord for ord. Hvis svaret tar mer enn omtrent 15 sekunder, begynner Chat Completions-, Responses- og Messages-strømmer med kontrollinjene `: ping` (omtrent hvert 10. sekund), deretter linjen `: ailoot-charged-usd …` med belastningsbeløpet og selve dataene. SDK-ene ignorerer slike linjer.

Gemini-formatet har ingen kontrollinjer: svaret `:streamGenerateContent` leveres i sin helhet etter beregningen. Gi klienten god tidsmargin for resonnerende modeller: flere minutter er normalt.

## [](https://ailoot.ai/docs/nb/how-it-works/#headers)Svarheadere

`X-Request-ID` kommer i hvert svar. Ailoot legger de andre headerne til betalte tekstsvar:

| Header | Hva den inneholder |
| --- | --- |
| `X-Request-ID` | Forespørselsidentifikator — denne ber brukerstøtte om |
| `X-Ailoot-Charged-USD` | Beløpet som er belastet for denne forespørselen, i dollar |
| `X-Ailoot-Output-Tokens` | Antall svartokener som er betalt |
| `X-Ailoot-Max-Tokens-Capped` | Den nye, reduserte svargrensen, satt fordi saldoen ikke dekket hele reservasjonen |
| `X-Ailoot-Notice-Code`, `X-Ailoot-Notice` | Forklaring hvis svaret stoppet ved lengdegrensen |

Hvis strømmen allerede har begynt med kontrollinjer, kommer disse opplysningene som en kommentarlinje før dataene, ikke som en header.

## [](https://ailoot.ai/docs/nb/how-it-works/#cache)Prompt-cache

Hvis modellen støtter caching, kan et langt prefiks som sendes på nytt (systeminstruksjon, dokumenter) koste mindre. Prisene for lesing og skriving til cache vises på modellens oppføring i [katalogen](https://ailoot.ai/models/nb/). Modellutvikleren avgjør om forespørselen treffer cachen; Ailoot garanterer det ikke.

Flere spørsmål? Send Request ID og en beskrivelse, så hjelper vi deg.[Kontakt brukerstøtte](mailto:support@ailoot.ai)

## Ailoot · Selskapet og dets prosjektportefølje





Ailoot bygger på etablert driftserfaring, en stor kundebase, stabil tjeneste og løpende KPI-kontroll.





Selskapet og dets prosjektportefølje: millioner av kunder; månedlig salg for milliarder.





Ailoot bruker denne driftserfaringen til API-tilgang til AI-funksjoner i kundenes produkter, agenter, applikasjoner og automatiseringer.
