Prehľad
Mapa API: každý endpoint, ako vyzerá request a chyba, ako sa volania platia a čo vedieť, keď prichádzate z SDK OpenAI alebo Anthropic.
Endpointy
Každý endpoint sídli pod jednou základnou URL a obsluhuje sa cez HTTPS.
https://api.shannon-ai.com | Endpoint | Formát | Na čo slúži |
|---|---|---|
POST /v1/chat/completions | OpenAI Chat Completions | Pošlete konverzáciu, dostanete ďalšiu odpoveď. So streamovaním aj bez neho. |
POST /v1/messages | Anthropic Messages | To isté, v tvaroch requestu a odpovede SDK Anthropic. |
POST /v1/responses | OpenAI Responses | To isté, v tvaroch Responses. Endpoint neuchováva stav: konverzáciu posielajte s každým requestom. |
GET /v1/models | Zoznam modelov OpenAI | Vypíše modely s kontextovým oknom, cenami a možnosťami. Nepotrebuje kľúč. |
POST /v1/tokenize | Shannon API | Spočíta tokeny textu alebo chatového requestu pre hostovaný open-weight model. Zadarmo. |
POST /v1/messages/count_tokens | Počítanie tokenov Anthropic | Spočíta vstupné tokeny requestu Messages pre hostovaný open-weight model. Zadarmo. |
Tri endpointy, ktoré tvoria text, dosiahnu tie isté modely. Vyberte ten, ktorého formát váš kód už používa.
Základy requestu
| Hlavička | Popis |
|---|---|
Authorization: Bearer <key> | Váš API kľúč. Povinný na každom endpointe okrem GET /v1/models, pokiaľ neposielate x-api-key. |
x-api-key: <key> | Ten istý kľúč v hlavičke, ktorú posielajú SDK Anthropic. Číta sa na každom endpointe. |
Content-Type: application/json | Povinná pri každom POST. Bez nej je odpoveď 415. |
x-request-id: <your id> | Voliteľná. Vaše vlastné id requestu; vráti sa v hlavičke odpovede x-request-id. Bez nej API vytvorí id z 12 hexadecimálnych znakov. |
- Telo každého
POSTje jeden objekt JSON, najviac 32 MiB. - Pole, ktoré API nepozná, nespôsobí chybu a nemá žiadny účinok. Request napísaný pre iného poskytovateľa nezlyhá kvôli nadbytočnému poľu.
- Na známe pole so zlým typom JSON alebo chýbajúce povinné pole sa odpovie
422. Na telo, ktoré nie je platný JSON, sa odpovie400. modelje jedno z id na stránke Modely a ceny. Na veľkých a malých písmenách nezáleží.
Odpoveď je JSON, alebo stream server-sent events, keď request nastaví stream na true. Každý endpoint odpovedá vo vlastnom formáte. Každá odpoveď má hlavičku x-request-id.
Čo request prejde
Request sa pred spustením modelu kontroluje v pevnom poradí. Odpovie prvá kontrola, ktorá zlyhá, takže 401 vám o tele zatiaľ nič nehovorí.
| Kontroluje sa v tomto poradí | Status pri zlyhaní |
|---|---|
| API kľúč | 401 |
| Telo: veľkosť, typ obsahu, JSON, typy polí | 413 · 415 · 400 · 422 |
| Id modelu | 400 |
| Ochrana pred zahltením: 120 requestov za minútu na účet | 429 |
| Zostatok: výstupný rozpočet requestu sa musí zmestiť | 429 |
Tvar chyby
Chyba je objekt JSON s error, ktorý obsahuje type a message. /v1/messages ho zabalí tak, ako to očakávajú SDK Anthropic; každá iná cesta používa tvar OpenAI.
{
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} {
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} - Čítajte
typeamessage.codeaparamsú prítomné len pri niektorých chybách: berte ich ako voliteľné.paramje vždynull. - Po začatí streamu je status už
200. Zlyhanie potom príde ako chybový frame vo vnútri streamu. - Každá chybová odpoveď nesie hlavičku
x-request-id.
| Stav | Typ | Kedy |
|---|---|---|
400 | invalid_request_error | Telo nie je platný JSON, id modelu je neznáme, alebo model neprijíma druh vstupu, ktorý ste poslali. |
401 | authentication_error | Kľúč chýba alebo nie je platný. |
404 | not_found_error | Cesta neexistuje. |
405 | api_error | Cesta existuje, metóda je nesprávna. |
413 | invalid_request_error | Telo je väčšie než 32 MiB. |
415 | invalid_request_error | Content-Type nie je application/json. |
422 | invalid_request_error | Pole má nesprávny typ JSON alebo chýba povinné pole. |
429 | rate_limit_error | Zostatok request nepokryje, za minútu prišlo viac než 120 requestov, volania Shannon Coder v okne sú vyčerpané, alebo je model vyťažený. Správa uvádza, ktorý prípad nastal. |
5xx | api_error | Status 500, 502, 503 alebo 504: request bol platný a nedalo sa naň odpovedať. Pošlite ho znova. 500 môže niesť typ server_error. |
Fakturácia a zostatok
- Na účet pripadá jeden zostatok a chat a API ho zdieľajú: najprv dnešný limit plánu, potom zakúpený kredit. API nemá vlastnú kvótu.
- Request si rezervuje svoj výstupný rozpočet (
max_tokens, predvolene 4,096) a potom sa mu účtujú tokeny, ktoré skutočne použil, za cenu modelu. - Každá odpoveď hlási svoje počty tokenov v
usage. Stránka Kľúče a využitie ukazuje zostatok a koľko stál každý request. - Každý request sa obsluhuje rovnako. Jediným limitom frekvencie requestov je ochrana pred zahltením: 120 requestov za minútu na účet. Requesty poslané paralelne čakajú v rade.
Limity a zostatok Modely a ceny Kľúče a využitie
Polia, ktoré závisia od modelu
Každý model berie rovnaký request. Niekoľko polí platí len na niektorých modeloch; tabuľka uvádza kde. Stránky endpointov uvádzajú každé pole.
| Pole | Popis | Uplatňuje |
|---|---|---|
system | Pokyny pre model: správa system na Chat Completions, system na Messages, instructions na Responses. | Hostované open-weight modely, shannon-1.6-*, shannon-2-*, shannon-coder-1 |
temperature | Teplota vzorkovania. | Hostované open-weight modely, shannon-1.6-*, shannon-coder-1 |
top_p | Nucleus sampling. | Hostované open-weight modely |
seed | Pevné seed pre vzorkovanie. | Hostované open-weight modely |
stop | Až 4 stop sekvencie. | Hostované open-weight modely |
reasoning_effort | Ako veľmi model uvažuje, než odpovie. reasoning.effort na Responses, thinking na Messages. | Hostované open-weight modely |
web_search | true dovolí modelu pri tomto requeste vyhľadávať na webe. Pole tohto API, na Chat Completions a Messages. | Modely Shannon okrem shannon-coder-1 |
max_tokens | Výstupný rozpočet. Na každom modeli určuje sumu rezervovanú zo zostatku. | Ako limit dĺžky odpovede: hostované open-weight modely, shannon-1.6-*, shannon-coder-1 |
Ak prichádzate z SDK OpenAI
- Nastavte základnú URL na
https://api.shannon-ai.com/v1a kľúč na váš kľúč Shannon. Volania Chat Completions a Responses potom s SDK fungujú tak, ako je. modelmusí byť id Shannon. Na názov modelu iného poskytovateľa, napríkladgpt-4o, sa odpovie400aunknown model.- Uvažovanie prichádza vo vlastnom poli:
reasoning_contentvedľacontent, v správe aj v delta streamu. - Stream vždy nesie
usagevo svojom poslednom chunku spolu sfinish_reason. - Volanie nástroja v streame príde ako jeden chunk s úplným reťazcom
arguments. - Odpoveď má jednu voľbu.
- Na cesty API OpenAI, ktoré nie sú v tabuľke vyššie, napríklad
/v1/embeddings, sa odpovie404.
Ak prichádzate z SDK Anthropic
- Nastavte základnú URL na
https://api.shannon-ai.com, bez/v1, a kľúč na váš kľúč Shannon. SDK ho posiela akox-api-key. modelmusí byť id Shannon.max_tokensje v tomto API voliteľné. Jeho predvolená hodnota je 4,096.- Odpoveď obsahuje bloky obsahu typu
thinking,textatool_use. Prvý blok nie je vždy text: bloky vyberajte podľatype. stop_reasonjeend_turnalebotool_use. Stream modelu Shannon môže skončiť aj smax_tokens.anthropic-versionaanthropic-betasa prijímajú, takže SDK funguje bez zmien. Request ich nepotrebuje.- Chyby na
/v1/messagesmajú tvar Anthropic:{"type": "error", "error": {…}}.
Nástroje na programovanie, ktoré tieto formáty používajú, sa nastavujú rovnako: základná URL, kľúč a id Shannon ako model. CLI nástroje na programovanie