docs
Pradžia

Kaip tai veikia

Markdown

Kas vyksta su užklausa tarp jūsų programos ir modelio.

Visas vadovas

Užklausą į Ailoot API siunčiate taip pat, kaip siųstumėte tiesiogiai į OpenAI, Anthropic ar Google. Ailoot patikrina raktą ir balansą, perduoda užklausą modeliui, grąžina atsakymą tuo pačiu formatu ir nurašo lėšas pagal faktinį naudojimą.

01UžklausaJūsų klientas siunčia užklausą į api.ailoot.ai su raktu sk-…
02Patikra ir rezervasRaktas, limitai, balansas. Kol ruošiamas atsakymas, suma rezervuojama.
03ModelisModelis atsako, atsakymas grąžinamas jūsų formatu.
04NurašymasVienas nurašymas pagal faktinius žetonus; likęs rezervas atlaisvinamas.

Vienas raktas — trys formatai

Formatą lemia užklausos kelias, o ne modelis. Tą patį Claude modelį galima iškviesti per OpenAI Chat, OpenAI Responses arba Anthropic Messages — atsakymas bus pateiktas iškviesto kelio formatu.

FormatasKeliasKas jį naudoja
OpenAI Chat Completions/v1/chat/completionsOpenAI SDK, dauguma pokalbių programų ir redaktorių, n8n, LangChain
OpenAI Responses/v1/responsesCodex CLI, OpenAI Agents SDK, naujos SDK versijos
Anthropic Messages/v1/messagesClaude Code, Anthropic SDK, Zed, Cline
Gemini/v1beta/models/{model}:generateContentGemini CLI, Google GenAI SDK

Lėšos: rezervas ir vienas nurašymas

  • Prieš siųsdama naują tekstinę užklausą Ailoot rezervuoja įvesties ir tipinio atsakymo įvertį, atsižvelgdama į limitą (max_tokens) ir konkretaus modelio sąlygas. Jei rezervas netelpa į laisvą balansą ar rakto limitą, siunčiamą limitą galima mažinti tik tada, kai modelis ir metodas jo iš tiesų laikosi, tačiau ne žemiau 256 žetonų ir nustatyto atsakymo minimumo. Vaizdų, vaizdo įrašų ir garso išvesčiai išlaikomas visas rezultato kainos rezervas.
  • Gavus atsakymą — vienas nurašymas pagal faktinį naudojimą. Nepanaudotas rezervas iškart grąžinamas į balansą.
  • Jei atsakymas brangesnis už rezervą, skirtumas padengiamas iš laisvo balanso. Balansas niekada netampa neigiamas.
  • Jei lėšų nepakanka net minimaliam rezervui, užklausa nesiunčiama: gausite aiškią 402 klaidą, nieko nenurašoma.
  • Klaida, po kurios nėra rezultato, neapmokestinama.

Išsami informacija ir skaičiavimo pavyzdys pateikti puslapyje Rezervavimas ir nurašymas.

Klaidos su Request ID

Kiekvienas atsakymas gauna užklausos identifikatorių: antraštėje X-Request-ID ir klaidos tekste. Klaidos pateikiamos iškviesto formato JSON, todėl SDK jas atpažįsta teisingai. Jei kas nors nepavyko, atsiųskite Request ID į pagalbos tarnybą — taip užklausą rasime per 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. …"
}

Srautas ir laukimo laikas

Srautiniai atsakymai (stream: true) pateikiami kaip Server-Sent Events. Mokamą tekstinį atsakymą Ailoot pateikia apskaičiavusi kainą. Todėl su stream: true formatas lieka srautinis (SSE), tačiau tekstas pateikiamas vienu bloku modeliui baigus, o ne po žodį. Jei atsakymas ruošiamas ilgiau nei maždaug 15 sekundžių, Chat Completions, Responses ir Messages srautuose pirmiausia siunčiamos tarnybinės eilutės : ping (maždaug kas 10 sekundžių), tada eilutė : ailoot-charged-usd … su nurašymo suma ir patys duomenys. SDK tokias eilutes praleidžia.

Gemini formatu tarnybinių eilučių nėra: atsakymas :streamGenerateContent pateikiamas visas apskaičiavus kainą. Samprotavimo modeliams nustatykite pakankamai ilgą kliento laukimo laiką: kelios minutės yra įprasta.

Atsakymo antraštės

X-Request-ID pateikiamas kiekviename atsakyme. Kitas antraštes Ailoot prideda prie apmokėtų tekstinių atsakymų:

AntraštėKas joje
X-Request-IDUžklausos identifikatorius — jo prašo pagalbos tarnyba
X-Ailoot-Charged-USDKiek doleriais nurašyta už šią užklausą
X-Ailoot-Output-TokensKiek atsakymo žetonų apmokėta
X-Ailoot-Max-Tokens-CappedAtsakymo limitas, iki kurio jis sumažintas, nes balanso nepakako visam rezervui
X-Ailoot-Notice-Code, X-Ailoot-NoticePaaiškinimas, jei atsakymas sustojo pasiekęs ilgio limitą

Jei srautas jau prasidėjo tarnybinėmis eilutėmis, ši informacija pateikiama komentaro eilute prieš duomenis, o ne antrašte.

Užklausų podėlis

Jei modelis palaiko podėlį, pakartotinai siunčiamas ilgas prefiksas (sistemos instrukcija, dokumentai) gali kainuoti mažiau. Skaitymo iš podėlio ir įrašymo į jį kainos pateiktos modelio kortelėje kataloge. Patekimą į podėlį nustato modelio kūrėjas, Ailoot jo negarantuoja.

Liko klausimų? Atsiųskite Request ID ir aprašymą — padėsime išsiaiškinti.Rašyti pagalbos tarnybai