Sådan fungerer det
MarkdownHvad 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.
É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.
| Format | Sti | Hvem bruger det? |
|---|---|---|
| OpenAI Chat Completions | /v1/chat/completions | OpenAI SDK, de fleste chats og editorer, n8n, LangChain |
| OpenAI Responses | /v1/responses | Codex CLI, OpenAI Agents SDK, nye SDK-versioner |
| Anthropic Messages | /v1/messages | Claude Code, Anthropic SDK, Zed, Cline |
| Gemini | /v1beta/models/{model}:generateContent | Gemini 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.
{
"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:
| Header | Indhold |
|---|---|
X-Request-ID | Anmodningens identifikator — support beder om den |
X-Ailoot-Charged-USD | Det debiterede beløb for denne anmodning, i dollars |
X-Ailoot-Output-Tokens | Antal betalte outputtokens |
X-Ailoot-Max-Tokens-Capped | Den reducerede svargrænse, der anvendes, fordi saldoen ikke rakte til hele reservationen |
X-Ailoot-Notice-Code, X-Ailoot-Notice | Forklaring, 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.