Přeskočit na obsah
Přehled

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.

Základní URL
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 POST je 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.
  • model je 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á.

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"
  }
}
  • Čtěte type a message. code a param jsou přítomny jen u některých chyb: považujte je za volitelné. param je vždy null.
  • 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.

Zpracování chyb

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

Chat Completions

Přicházíte ze SDK OpenAI

  • Nastavte základní URL na https://api.shannon-ai.com/v1 a klíč na svůj klíč Shannon. Volání Chat Completions a Responses pak se SDK fungují beze změn.
  • model musí být id Shannon. Na název modelu jiného poskytovatele, například gpt-4o, se odpoví 400 a unknown model.
  • Uvažování přichází ve vlastním poli: reasoning_content vedle content, ve zprávě i v deltách streamu.
  • Stream vždy nese usage ve svém posledním chunku, spolu s finish_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á jako x-api-key.
  • model musí být id Shannon.
  • max_tokens je v tomto API volitelné. Výchozí hodnota je 4,096.
  • Odpověď obsahuje bloky obsahu typu thinking, text a tool_use. První blok není vždy text: bloky vybírejte podle type.
  • stop_reason je end_turn nebo tool_use. Stream modelu Shannon může skončit také s max_tokens.
  • anthropic-version a anthropic-beta se přijímají, takže SDK funguje beze změn. Požadavek je nepotřebuje.
  • Chyby na /v1/messages mají 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í