Ugrás a tartalomra
Áttekintés

Áttekintés

Az API térképe: minden végpont, milyen egy kérés és egy hiba, hogyan fizetsz a hívásokért, és mit érdemes tudni, ha OpenAI vagy Anthropic SDK-ból érkezel.

Végpontok

Minden végpont egyetlen alap URL alatt van, és HTTPS-en szolgál ki.

Alap URL
https://api.shannon-ai.com
Végpont Formátum Mire való
POST /v1/chat/completions OpenAI Chat Completions Beszélgetést küldesz, a következő választ kapod. Streaminggel vagy anélkül.
POST /v1/messages Anthropic Messages Ugyanez, az Anthropic SDK-k kérés- és válaszformájában.
POST /v1/responses OpenAI Responses Ugyanez, a Responses formáiban. A végpont nem tart fenn állapotot: minden kéréssel küldd el a beszélgetést.
GET /v1/models OpenAI modellista Felsorolja a modelleket kontextusablakkal, árakkal és képességekkel. Nem kér kulcsot.
POST /v1/tokenize Shannon API Megszámolja egy szöveg vagy egy chatkérés tokenjeit hosztolt nyílt súlyú modellhez. Ingyenes.
POST /v1/messages/count_tokens Anthropic tokenszámlálás Egy Messages kérés bemeneti tokenjeit számolja meg hosztolt nyílt súlyú modellhez. Ingyenes.

A szöveget előállító három végpont ugyanazokat a modelleket éri el. Azt válaszd, amelynek a formátumát a kódod már használja.

A kérések alapjai

Fejléc Leírás
Authorization: Bearer <key> Az API-kulcsod. Minden végponton kötelező, a GET /v1/models kivételével, hacsak nem x-api-key fejlécet küldesz.
x-api-key: <key> Ugyanaz a kulcs abban a fejlécben, amelyet az Anthropic SDK-k küldenek. Minden végponton olvassa.
Content-Type: application/json Minden POST kérésnél kötelező. Nélküle a válasz 415.
x-request-id: <your id> Opcionális. A kérés saját azonosítója; az x-request-id válaszfejlécben tér vissza. Nélküle az API 12 hexadecimális karakterből álló azonosítót hoz létre.
  • Minden POST törzse egyetlen JSON-objektum, legfeljebb 32 MiB.
  • Az API által nem ismert mező nem okoz hibát, és nincs hatása. Egy másik szolgáltatóhoz írt kérés nem hibázik egy többletmező miatt.
  • A hibás JSON-típusú ismert mezőre vagy a hiányzó kötelező mezőre 422 a válasz. A nem érvényes JSON törzsre 400 a válasz.
  • A model a Models & pricing oldalon szereplő azonosítók egyike. A kis- és nagybetű nem számít.

A válasz JSON, vagy server-sent eventek streamje, ha a kérés a stream mezőt true értékre állítja. Minden végpont a saját formátumában válaszol. Minden válasz tartalmazza az x-request-id fejlécet.

Min megy át a kérés

A kérést a modell futása előtt rögzített sorrendben ellenőrzi. Az első sikertelen ellenőrzés válaszol, ezért a 401 még nem árul el semmit a törzsről.

A hiba alakja

A hiba egy JSON-objektum, amelynek error mezője type és message értéket tartalmaz. A /v1/messages úgy csomagolja be, ahogy az Anthropic SDK-k várják; minden más útvonal az OpenAI formát használja.

{
  "error": {
    "type": "invalid_request_error",
    "message": "unknown model: gpt-4o"
  }
}
  • Olvasd a type és a message mezőt. A code és a param csak egyes hibáknál van jelen: kezeld őket opcionálisként. A param mindig null.
  • A stream megkezdése után a státusz már 200. A hiba ekkor hibaframe-ként érkezik a streamen belül.
  • Minden hibaválasz hordozza az x-request-id fejlécet.
Státusz Típus Mikor
400 invalid_request_error A törzs nem érvényes JSON, a modellazonosító ismeretlen, vagy a modell nem fogadja el az általad küldött bemenetfajtát.
401 authentication_error A kulcs hiányzik, vagy nem érvényes.
404 not_found_error Az útvonal nem létezik.
405 api_error Az útvonal létezik, a metódus hibás.
413 invalid_request_error A törzs nagyobb 32 MiB-nál.
415 invalid_request_error A Content-Type nem application/json.
422 invalid_request_error Egy mező JSON-típusa hibás, vagy egy kötelező mező hiányzik.
429 rate_limit_error Az egyenleg nem fedezi a kérést, egy perc alatt több mint 120 kérés érkezett, az ablak Shannon Coder hívásai elfogytak, vagy a modell foglalt. Az üzenet megmondja, melyik.
5xx api_error 500, 502, 503 vagy 504 státusz: a kérés érvényes volt, de nem lehetett megválaszolni. Küldd el újra. A 500 hordozhatja a server_error típust.

Hibakezelés

Számlázás és egyenleg

  • Fiókonként egy egyenleg van, a chat és az API közösen használja: először a mai csomagkeretet, utána a vásárolt kreditet. Az API-nak nincs saját kvótája.
  • A kérés lefoglalja a kimeneti keretét (max_tokens, alapérték 4,096), majd a ténylegesen felhasznált tokenek után számláz a modell árán.
  • Minden válasz a usage mezőben jelzi a tokenszámait. A Keys & usage oldal megmutatja az egyenleget és azt, hogy mibe került az egyes kérés.
  • Minden kérést egyformán szolgálunk ki. A kérések gyakoriságának egyetlen korlátja a flood protection: fiókonként percenként 120 kérés. A párhuzamosan küldött kérések sorban várnak.

Korlátok és egyenleg Modellek és árak Keys & usage

A modelltől függő mezők

Minden modell ugyanazt a kérést fogadja. Néhány mező csak egyes modelleken érvényesül; a táblázat megnevezi, hol. A végpontoldalak minden mezőt felsorolnak.

Mező Leírás Alkalmazza
system Utasítások a modellnek: system üzenet a Chat Completions, system a Messages, instructions a Responses végponton. Hosztolt nyílt súlyú modellek, shannon-1.6-*, shannon-2-*, shannon-coder-1
temperature Mintavételezési hőmérséklet. Hosztolt nyílt súlyú modellek, shannon-1.6-*, shannon-coder-1
top_p Nucleus mintavételezés. Hosztolt nyílt súlyú modellek
seed Fix seed a mintavételezéshez. Hosztolt nyílt súlyú modellek
stop Legfeljebb 4 leállító sorozat. Hosztolt nyílt súlyú modellek
reasoning_effort Mennyit gondolkodik (reasoning) a modell a válasz előtt. reasoning.effort a Responses, thinking a Messages végponton. Hosztolt nyílt súlyú modellek
web_search A true engedi, hogy a modell ehhez a kéréshez keressen a weben. Ennek az API-nak a mezője, a Chat Completions és a Messages végponton. A Shannon modellek a shannon-coder-1 kivételével
max_tokens A kimeneti keret. Minden modellnél ez szabja meg az egyenlegedből lefoglalt mennyiséget. A válasz hosszának korlátjaként: hosztolt nyílt súlyú modellek, shannon-1.6-*, shannon-coder-1

Chat Completions

Ha OpenAI SDK-ból érkezel

  • Állítsd az alap URL-t https://api.shannon-ai.com/v1 értékre, a kulcsot pedig a Shannon-kulcsodra. A Chat Completions és a Responses hívások ezután az SDK-val módosítás nélkül működnek.
  • A model értéke csak Shannon azonosító lehet. Egy másik szolgáltató modellnevére, például a gpt-4o-ra, 400 és unknown model a válasz.
  • A gondolkodás (reasoning) külön mezőben érkezik: reasoning_content a content mellett, az üzenetben és a stream deltáiban.
  • A stream az utolsó chunkjában mindig hordozza a usage mezőt, a finish_reason mellett.
  • Az eszközhívás streamben egyetlen chunkként érkezik, a teljes arguments stringgel.
  • A válasz egy choice-t tartalmaz.
  • Az OpenAI API azon útvonalaira, amelyek nincsenek a fenti táblázatban, például a /v1/embeddings útvonalra, 404 a válasz.

Ha Anthropic SDK-ból érkezel

  • Állítsd az alap URL-t https://api.shannon-ai.com értékre, /v1 nélkül, a kulcsot pedig a Shannon-kulcsodra. Az SDK x-api-key fejlécként küldi.
  • A model értéke csak Shannon azonosító lehet.
  • A max_tokens ezen az API-n opcionális. Az alapértéke 4,096.
  • A válasz thinking, text és tool_use típusú tartalmi blokkokat tartalmaz. Az első blokk nem mindig a szöveg: a blokkokat type szerint válaszd ki.
  • A stop_reason értéke end_turn vagy tool_use. Shannon modell streamje max_tokens értékkel is végződhet.
  • Az anthropic-version és az anthropic-beta fejlécet elfogadja, így az SDK változtatás nélkül működik. A kérésnek nincs rájuk szüksége.
  • A /v1/messages hibái Anthropic-alakúak: {"type": "error", "error": {…}}.

Az ilyen formátumokat beszélő kódoló eszközöket ugyanígy kell beállítani: alap URL, kulcs és egy Shannon azonosító modellként. CLI kódoló eszközök