dokumentation
Start

Så fungerar det

Markdown

Vad som händer med anropet mellan ditt program och modellen.

Fullständig guide

Du skickar ett anrop till Ailoot API på samma sätt som direkt till OpenAI, Anthropic eller Google. Ailoot kontrollerar nyckel och saldo, skickar anropet vidare till modellen, returnerar svaret i samma format och debiterar efter faktisk förbrukning.

01AnropDin klient skickar anropet till api.ailoot.ai med nyckeln sk-…
02Kontroll och reserveringNyckel, gränser och saldo. Ett belopp reserveras medan svaret behandlas.
03ModellModellen svarar och svaret returneras i ditt format.
04DebiteringEn debitering efter faktisk tokenförbrukning; resten av reserveringen frigörs.

En nyckel — tre format

Formatet bestäms av anropets sökväg, inte av modellen. Samma Claude-modell kan anropas via OpenAI Chat, OpenAI Responses eller Anthropic Messages — svaret kommer i formatet för den sökväg du anropade.

FormatSökvägVilka som använder det
OpenAI Chat Completions/v1/chat/completionsOpenAI SDK, de flesta chattar och redigerare, n8n, LangChain
OpenAI Responses/v1/responsesCodex CLI, OpenAI Agents SDK, nya SDK-versioner
Anthropic Messages/v1/messagesClaude Code, Anthropic SDK, Zed, Cline
Gemini/v1beta/models/{model}:generateContentGemini CLI, Google GenAI SDK

Ekonomi: reservering och en debitering

  • Innan ett nytt textanrop skickas reserverar Ailoot en uppskattning av indata och ett typiskt svar, med hänsyn till gränsen (max_tokens) och villkoren för den exakta modellen. Om reserveringen inte ryms inom det fria saldot eller nyckelns gräns får den skickade gränsen bara sänkas för modeller och metoder som faktiskt följer den, och aldrig under 256 token eller den fastställda miniminivån för svaret. För bilder, video och ljud som utdata behålls reserveringen för hela resultatkostnaden.
  • Efter svaret sker en debitering utifrån faktisk förbrukning. Oanvänd reservering frigörs till saldot direkt.
  • Om svaret kostar mer än reserveringen tas mellanskillnaden från tillgängligt saldo. Saldot blir aldrig negativt.
  • Om saldot inte ens täcker minsta reservering skickas inte anropet: du får ett begripligt fel 402 och ingenting debiteras.
  • Fel utan resultat debiteras inte.

Detaljer och ett räkneexempel finns på sidan Reservering och debitering.

Fel med Request ID

Varje svar får en anropsidentifierare: i headern X-Request-ID och i felmeddelandet. Fel returneras i JSON för det format du anropade, så SDK:erna känner igen dem korrekt. Om något går fel skickar du Request ID till supporten — så hittar vi anropet på en 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. …"
}

Strömning och tidsgränser

Strömmade svar (stream: true) levereras som Server-Sent Events. Ailoot levererar betalda textsvar efter att kostnaden har beräknats. Med stream: true är formatet därför fortfarande strömmat (SSE), men texten kommer i ett enda block när modellen är klar, inte ord för ord. Om svaret tar längre än cirka 15 sekunder börjar strömmarna Chat Completions, Responses och Messages med kontrollraderna : ping (ungefär var 10:e sekund), följt av raden : ailoot-charged-usd … med debiterat belopp och själva datan. SDK:erna ignorerar sådana rader.

Gemini-formatet har inga kontrollrader: svaret :streamGenerateContent levereras i sin helhet efter beräkningen. Ge klientens tidsgräns god marginal för resonerande modeller: flera minuter är normalt.

Svarsheaders

X-Request-ID kommer i varje svar. Ailoot lägger till övriga headers för betalda textsvar:

HeaderVad den innehåller
X-Request-IDAnropets identifierare — supporten ber om den
X-Ailoot-Charged-USDBeloppet som debiterats för detta anrop, i dollar
X-Ailoot-Output-TokensAntalet svarstoken som betalats
X-Ailoot-Max-Tokens-CappedDen nya, sänkta svarsgränsen, eftersom saldot inte räckte till hela reserveringen
X-Ailoot-Notice-Code, X-Ailoot-NoticeFörklaring om svaret stannade vid längdgränsen

Om strömmen redan har börjat med kontrollrader kommer dessa uppgifter som en kommentarsrad före datan, inte som en header.

Prompt-cache

Om modellen stöder cachning kan ett långt prefix som skickas igen (systeminstruktion, dokument) kosta mindre. Priser för läsning och skrivning i cache visas på modellens post i katalogen. Modellutvecklaren avgör om cachen träffas; Ailoot garanterar inte det.

Har du fler frågor? Skicka Request ID och en beskrivning, så hjälper vi dig.Kontakta supporten