Přehled
Mapa API: každý endpoint, jak vypadá požadavek a chyba, jak se volání platí a co vědět, když přicházíte ze SDK OpenAI nebo Anthropic.
Endpointy
Každý endpoint leží pod jednou základní URL a obsluhuje se přes HTTPS.
https://api.shannon-ai.com | Endpoint | Formát | K čemu slouží |
|---|---|---|
POST /v1/chat/completions | OpenAI Chat Completions | Pošlete konverzaci, dostanete další odpověď. Se streamováním i bez něj. |
POST /v1/messages | Anthropic Messages | Totéž, ve tvarech požadavků a odpovědí SDK Anthropic. |
POST /v1/responses | OpenAI Responses | Totéž, ve tvarech Responses. Endpoint si nic nepamatuje: konverzaci pošlete s každým požadavkem. |
GET /v1/models | Seznam modelů OpenAI | Vypíše modely s kontextovým oknem, cenami a možnostmi. Nepotřebuje klíč. |
POST /v1/tokenize | API Shannon | Spočítá tokeny textu nebo chatového požadavku pro hostovaný model s otevřenými váhami. Zdarma. |
POST /v1/messages/count_tokens | Počítání tokenů Anthropic | Spočítá vstupní tokeny požadavku Messages pro hostovaný model s otevřenými váhami. Zdarma. |
Tři endpointy, které vytvářejí text, dosáhnou na stejné modely. Zvolte ten, jehož formát už váš kód používá.
Základy požadavků
| Hlavička | Popis |
|---|---|
Authorization: Bearer <key> | Váš klíč API. Vyžadován na každém endpointu kromě GET /v1/models, pokud neposíláte x-api-key. |
x-api-key: <key> | Stejný klíč v hlavičce, kterou posílají SDK Anthropic. Čte se na každém endpointu. |
Content-Type: application/json | Vyžadováno u každého POST. Bez něj je odpověď 415. |
x-request-id: <your id> | Volitelné. Vaše vlastní id požadavku; vrátí se v hlavičce odpovědi x-request-id. Bez něj API vytvoří id o 12 hexadecimálních znacích. |
- Tělo každého
POSTje jeden objekt JSON, nejvýše 32 MiB. - Pole, které API nezná, nezpůsobí chybu a nemá žádný účinek. Požadavek psaný pro jiného poskytovatele kvůli nadbytečnému poli neselže.
- Na známé pole se špatným typem JSON nebo na chybějící povinné pole se odpoví
422. Na tělo, které není platný JSON, se odpoví400. modelje jedno z id na stránce Modely a ceny. Na velikosti písmen nezáleží.
Odpověď je JSON, nebo stream server-sent events, pokud požadavek nastaví stream na true. Každý endpoint odpovídá ve svém formátu. Každá odpověď má hlavičku x-request-id.
Čím požadavek projde
Požadavek se před spuštěním modelu kontroluje v pevném pořadí. Odpoví první kontrola, která selže, takže 401 o těle zatím nic neříká.
| Kontrolováno v tomto pořadí | Status při selhání |
|---|---|
| Klíč API | 401 |
| Tělo: velikost, typ obsahu, JSON, typy polí | 413 · 415 · 400 · 422 |
| Id modelu | 400 |
| Ochrana proti zahlcení: 120 požadavků za minutu na účet | 429 |
| Zůstatek: výstupní rozpočet požadavku se musí vejít | 429 |
Tvar chyby
Chyba je objekt JSON s polem error, které obsahuje type a message. /v1/messages jej zabalí tak, jak to SDK Anthropic očekávají; každá jiná cesta používá tvar OpenAI.
{
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} {
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} - Čtěte
typeamessage.codeaparamjsou přítomny jen u některých chyb: považujte je za volitelné.paramje vždynull. - Po zahájení streamu je status už
200. Selhání pak přichází jako chybový rámec uvnitř streamu. - Každá chybová odpověď nese hlavičku
x-request-id.
| Stav | Typ | Kdy |
|---|---|---|
400 | invalid_request_error | Tělo není platný JSON, id modelu je neznámé, nebo model nepřijímá druh vstupu, který jste poslali. |
401 | authentication_error | Klíč chybí nebo není platný. |
404 | not_found_error | Cesta neexistuje. |
405 | api_error | Cesta existuje, metoda je špatná. |
413 | invalid_request_error | Tělo je větší než 32 MiB. |
415 | invalid_request_error | Content-Type není application/json. |
422 | invalid_request_error | Pole má špatný typ JSON, nebo chybí povinné pole. |
429 | rate_limit_error | Zůstatek požadavek nekryje, během minuty dorazilo více než 120 požadavků, volání Shannon Coder v okně jsou vyčerpána, nebo je model zaneprázdněn. Která z těchto možností nastala, říká zpráva. |
5xx | api_error | Status 500, 502, 503 nebo 504: požadavek byl platný a nešlo na něj odpovědět. Pošlete jej znovu. 500 může nést typ server_error. |
Fakturace a zůstatek
- Na účet připadá jeden zůstatek, který sdílí chat a API: nejdřív dnešní limit plánu, potom zakoupený kredit. API nemá vlastní kvótu.
- Požadavek si rezervuje svůj výstupní rozpočet (
max_tokens, výchozí 4,096) a poté se mu účtují tokeny, které skutečně použil, za cenu modelu. - Každá odpověď hlásí své počty tokenů v
usage. Stránka Klíče a využití ukazuje zůstatek a cenu každého požadavku. - Každý požadavek se obsluhuje stejně. Jediným limitem frekvence požadavků je ochrana proti zahlcení: 120 požadavků za minutu na účet. Požadavky odeslané paralelně čekají ve frontě.
Limity a zůstatek Modely a ceny Klíče a využití
Pole, která závisí na modelu
Každý model přijímá stejný požadavek. Několik polí se uplatní jen u některých modelů; tabulka říká u kterých. Všechna pole uvádějí stránky endpointů.
| Pole | Popis | Uplatňují |
|---|---|---|
system | Instrukce pro model: zpráva system u Chat Completions, system u Messages, instructions u Responses. | Hostované modely s otevřenými váhami, shannon-1.6-*, shannon-2-*, shannon-coder-1 |
temperature | Teplota vzorkování. | Hostované modely s otevřenými váhami, shannon-1.6-*, shannon-coder-1 |
top_p | Nucleus sampling. | Hostované modely s otevřenými váhami |
seed | Pevný seed pro vzorkování. | Hostované modely s otevřenými váhami |
stop | Až 4 stop sekvence. | Hostované modely s otevřenými váhami |
reasoning_effort | Jak moc model před odpovědí uvažuje. reasoning.effort u Responses, thinking u Messages. | Hostované modely s otevřenými váhami |
web_search | true dovolí modelu pro tento požadavek hledat na webu. Pole tohoto API, u Chat Completions a Messages. | Modely Shannon kromě shannon-coder-1 |
max_tokens | Výstupní rozpočet. U každého modelu určuje částku rezervovanou ze zůstatku. | Jako limit délky odpovědi: hostované modely s otevřenými váhami, shannon-1.6-*, shannon-coder-1 |
Přicházíte ze SDK OpenAI
- Nastavte základní URL na
https://api.shannon-ai.com/v1a klíč na svůj klíč Shannon. Volání Chat Completions a Responses pak se SDK fungují beze změn. modelmusí být id Shannon. Na název modelu jiného poskytovatele, napříkladgpt-4o, se odpoví400aunknown model.- Uvažování přichází ve vlastním poli:
reasoning_contentvedlecontent, ve zprávě i v deltách streamu. - Stream vždy nese
usageve svém posledním chunku, spolu sfinish_reason. - Volání nástroje ve streamu přichází jako jeden chunk s kompletním řetězcem
arguments. - Odpověď má jednu volbu.
- Na cesty API OpenAI, které nejsou v tabulce výše, například
/v1/embeddings, se odpoví404.
Přicházíte ze SDK Anthropic
- Nastavte základní URL na
https://api.shannon-ai.com, bez/v1, a klíč na svůj klíč Shannon. SDK jej posílá jakox-api-key. modelmusí být id Shannon.max_tokensje v tomto API volitelné. Výchozí hodnota je 4,096.- Odpověď obsahuje bloky obsahu typu
thinking,textatool_use. První blok není vždy text: bloky vybírejte podletype. stop_reasonjeend_turnnebotool_use. Stream modelu Shannon může skončit také smax_tokens.anthropic-versionaanthropic-betase přijímají, takže SDK funguje beze změn. Požadavek je nepotřebuje.- Chyby na
/v1/messagesmají tvar Anthropic:{"type": "error", "error": {…}}.
Nástroje pro programování, které tyto formáty umějí, se nastavují stejně: základní URL, klíč a id Shannon jako model. CLI nástroje pro programování