dokumentation
Start

Sådan fungerer det

Markdown

Hvad der sker med anmodningen mellem dit program og modellen.

Komplet guide

Du sender en anmodning til Ailoot API, som du ville sende den direkte til OpenAI, Anthropic eller Google. Ailoot kontrollerer nøglen og saldoen, videresender anmodningen til modellen, returnerer svaret i samme format og debiterer ud fra det faktiske forbrug.

01AnmodningDin klient sender en anmodning til api.ailoot.ai med en sk-…-nøgle
02Kontrol og reservationNøgle, grænser, saldo. Et beløb reserveres, mens svaret udarbejdes.
03ModelModellen svarer, og svaret returneres i dit format.
04DebiteringÉn debitering ud fra det faktiske antal tokens; resten af reservationen frigives.

Én nøgle — tre formater

Formatet bestemmes af anmodningens sti, ikke af modellen. Den samme Claude-model kan kaldes via OpenAI Chat, OpenAI Responses eller Anthropic Messages — svaret kommer i formatet for den sti, du kaldte.

FormatStiHvem bruger det?
OpenAI Chat Completions/v1/chat/completionsOpenAI SDK, de fleste chats og editorer, n8n, LangChain
OpenAI Responses/v1/responsesCodex CLI, OpenAI Agents SDK, nye SDK-versioner
Anthropic Messages/v1/messagesClaude Code, Anthropic SDK, Zed, Cline
Gemini/v1beta/models/{model}:generateContentGemini CLI, Google GenAI SDK

Penge: reservation og én debitering

  • Før en ny tekstanmodning sendes, reserverer Ailoot et estimat af input og et typisk svar under hensyntagen til grænsen (max_tokens) og vilkårene for den konkrete model. Hvis reservationen ikke kan dækkes af den ledige saldo eller nøglens grænse, må den sendte grænse kun sænkes for en model og metode, der faktisk overholder den, og aldrig til under 256 tokens eller det fastsatte minimum for svaret. For billeder, video og lyd som output opretholdes reservationen af hele prisen for resultatet.
  • Efter svaret — én debitering ud fra det faktiske forbrug. Ubrugte reserverede midler frigives straks til saldoen.
  • Hvis svaret koster mere end reservationen, trækkes forskellen fra den ledige saldo. Saldoen bliver aldrig negativ.
  • Hvis saldoen ikke engang rækker til den mindste reservation, sendes anmodningen ikke: du får en forståelig fejl 402, og der debiteres intet.
  • En fejl uden efterfølgende resultat betales ikke.

Detaljer og et beregningseksempel findes på siden Reservation og debitering.

Fejl med Request ID

Hvert svar får en anmodningsidentifikator: i headeren X-Request-ID og i fejlteksten. Fejl kommer som JSON i det format, du kaldte, så SDK'erne genkender dem korrekt. Hvis noget går galt, skal du sende Request ID til support — så finder vi anmodningen på et minut.

401 Unauthorized
{
  "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. …"
}

Streaming og timeouts

Streamede svar (stream: true) leveres som Server-Sent Events. Ailoot leverer betalte tekstsvar efter beregning af prisen. Derfor bevarer svar med stream: true streamformatet (SSE), men teksten kommer i én blok, når modellen er færdig, ikke ord for ord. Hvis svaret tager mere end cirka 15 sekunder, kommer der først kontrollinjer i Chat Completions-, Responses- og Messages-strømme : ping (cirka hver 10. sekund), derefter linjen : ailoot-charged-usd … med debiteringsbeløbet og selve dataene. SDK'er springer disse linjer over.

I Gemini-format er der ingen kontrollinjer: svaret :streamGenerateContent kommer samlet efter beregningen. Giv klientens timeout god margen ved ræsonneringsmodeller: flere minutter er normalt.

Svarheadere

X-Request-ID følger med hvert svar. Ailoot tilføjer de øvrige headere til betalte tekstsvar:

HeaderIndhold
X-Request-IDAnmodningens identifikator — support beder om den
X-Ailoot-Charged-USDDet debiterede beløb for denne anmodning, i dollars
X-Ailoot-Output-TokensAntal betalte outputtokens
X-Ailoot-Max-Tokens-CappedDen reducerede svargrænse, der anvendes, fordi saldoen ikke rakte til hele reservationen
X-Ailoot-Notice-Code, X-Ailoot-NoticeForklaring, hvis svaret stoppede ved længdegrænsen

Hvis strømmen allerede er startet med kontrollinjer, kommer disse oplysninger som en kommentarlinje før dataene, ikke som en header.

Promptcache

Hvis modellen understøtter caching, kan et langt præfiks (systeminstruktion, dokumenter), der sendes igen, koste mindre. Priser for læsning og skrivning af cache vises på modelkortet i kataloget. Modellens udvikler afgør, om der sker et cachehit; Ailoot garanterer det ikke.

Har du stadig spørgsmål? Send Request ID og en beskrivelse — så hjælper vi med at finde ud af det.Kontakt support