Kako deluje
MarkdownKaj se dogaja z zahtevo med vašim programom in modelom.
Celoten vodnik
Zahtevo v Ailoot API pošljete enako, kot bi jo poslali neposredno OpenAI, Anthropic ali Google. Ailoot preveri ključ in stanje, zahtevo posreduje modelu, vrne odgovor v istem formatu in sredstva bremeni glede na dejansko porabo.
En ključ – trije formati
Format določa pot zahteve, ne model. Isti model Claude lahko pokličete prek OpenAI Chat, OpenAI Responses ali Anthropic Messages – odgovor prispe v formatu poti, ki ste jo poklicali.
| Format | Pot | Kdo ga uporablja |
|---|---|---|
| OpenAI Chat Completions | /v1/chat/completions | OpenAI SDK, večina klepetov in urejevalnikov, n8n, LangChain |
| OpenAI Responses | /v1/responses | Codex CLI, OpenAI Agents SDK, nove različice SDK |
| Anthropic Messages | /v1/messages | Claude Code, Anthropic SDK, Zed, Cline |
| Gemini | /v1beta/models/{model}:generateContent | Gemini CLI, Google GenAI SDK |
Sredstva: rezervacija in enkratna bremenitev
- Pred pošiljanjem nove besedilne zahteve Ailoot rezervira sredstva glede na oceno vhoda in tipičnega odgovora ob upoštevanju omejitve (
max_tokens) in pogojev točno določenega modela. Če rezervacija presega prosta sredstva ali omejitev ključa, se posredovana omejitev lahko zniža samo pri modelu in metodi, ki jo dejansko upoštevata, pri čemer ne sme pasti pod 256 žetonov niti pod določeno najmanjšo dolžino odgovora. Pri slikah, videu in zvoku na izhodu ostaja rezerviran celotni strošek rezultata. - Po odgovoru sledi enkratna bremenitev glede na dejansko porabo. Neporabljena rezervacija se takoj sprosti v stanje.
- Če je odgovor dražji od rezervacije, se razlika pokrije iz prostih sredstev. Stanje nikoli ne postane negativno.
- Če sredstev ni dovolj niti za najmanjšo rezervacijo, zahteva ni poslana: prejmete razumljivo napako 402 in nič se ne bremeni.
- Napaka, po kateri ni rezultata, se ne obračuna.
Podrobnosti in primer izračuna so na strani Rezervacija in bremenitev.
Napake z Request ID
Vsak odgovor prejme identifikator zahteve: v glavi X-Request-ID in v besedilu napake. Napake prispejo v JSON formata, ki ste ga poklicali, zato jih SDK pravilno prepoznajo. Če se kaj zalomi, pošljite Request ID podpori – tako zahtevo najdemo v minuti.
{
"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. …"
}Tok in časovne omejitve
Pretočni odgovori (stream: true) se prenašajo kot Server-Sent Events. Ailoot plačljivi besedilni odgovor vrne po izračunu stroškov. Zato pri stream: true format ostane pretočen (SSE), vendar besedilo prispe v enem bloku, ko model zaključi, ne po posameznih besedah. Če priprava odgovora traja več kot približno 15 sekund, se v tokovih Chat Completions, Responses in Messages najprej pojavijo službene vrstice : ping (približno vsakih 10 sekund), nato vrstica : ailoot-charged-usd … z zneskom bremenitve in sami podatki. SDK takšne vrstice prezrejo.
Pri formatu Gemini ni službenih vrstic: odgovor :streamGenerateContent prispe v celoti po izračunu. Pri modelih za sklepanje časovno omejitev odjemalca nastavite z ustrezno rezervo: nekaj minut je običajno.
Glave odgovora
X-Request-ID prispe v vsakem odgovoru. Druge glave Ailoot dodaja plačanim besedilnim odgovorom:
| Glava | Kaj vsebuje |
|---|---|
X-Request-ID | Identifikator zahteve – zahteva ga podpora |
X-Ailoot-Charged-USD | Znesek bremenitve za to zahtevo v dolarjih |
X-Ailoot-Output-Tokens | Koliko žetonov odgovora je obračunanih |
X-Ailoot-Max-Tokens-Capped | Omejitev odgovora, na katero je bila znižana, ker stanje ni zadoščalo za celotno rezervacijo |
X-Ailoot-Notice-Code, X-Ailoot-Notice | Pojasnilo, če se je odgovor ustavil pri omejitvi dolžine |
Če se je tok že začel s službenimi vrsticami, ti podatki prispejo kot vrstica komentarja pred podatki, ne kot glava.
Predpomnilnik pozivov
Če model podpira predpomnjenje, je ponovno poslani dolgi prefiks (sistemsko navodilo, dokumenti) lahko cenejši. Cene branja in zapisovanja v predpomnilnik so prikazane na kartici modela v katalogu. Zadetek v predpomnilniku določa razvijalec modela; Ailoot ga ne zagotavlja.