Zum Inhalt sprangen
Iwwersiicht

Iwwersiicht

D'Kaart vun der API: all Endpoint, wéi eng Ufro an e Feeler ausgesinn, wéi Ruffer bezuelt ginn, a wat ze wëssen ass, wann Dir vun engem OpenAI- oder Anthropic-SDK kënnt.

Endpoints

All Endpoint läit ënner enger Basis-URL a gëtt iwwer HTTPS bedéngt.

Basis-URL
https://api.shannon-ai.com
Endpoint Format Wofir et ass
POST /v1/chat/completions OpenAI Chat Completions Eng Konversatioun schécken, déi nächst Äntwert kréien. Mat oder ouni Streaming.
POST /v1/messages Anthropic Messages Datselwecht, an de Ufro- an Äntwert-Formen vun den Anthropic-SDKs.
POST /v1/responses OpenAI Responses Datselwecht, an de Responses-Formen. Den Endpoint hält keen Zoustand: schéckt d'Konversatioun mat all Ufro.
GET /v1/models OpenAI-Modellëscht D'Modeller mat Kontextfënster, Präisser a Fäegkeeten opzielen. Brauch kee Schlëssel.
POST /v1/tokenize Shannon-API D'Tokens vun engem Text oder vun enger Chat-Ufro fir en Hosted Open-Weight-Modell zielen. Gratis.
POST /v1/messages/count_tokens Anthropic-Tokenzielung D'Input-Tokens vun enger Messages-Ufro fir en Hosted Open-Weight-Modell zielen. Gratis.

Déi dräi Endpoints, déi Text produzéieren, erreechen déiselwecht Modeller. Wielt deen, dessen Format Äre Code scho benotzt.

Grondlage vun der Ufro

Header Beschreiwung
Authorization: Bearer <key> Ären API-Schlëssel. Op all Endpoint erfuerderlech, ausser GET /v1/models, ausser Dir schéckt x-api-key.
x-api-key: <key> Deeselwechte Schlëssel an dem Header, deen d'Anthropic-SDKs schécken. Op all Endpoint gelies.
Content-Type: application/json Bei all POST erfuerderlech. Ouni en ass d'Äntwert 415.
x-request-id: <your id> Optional. Är eege ID fir d'Ufro; si kënnt am Äntwert-Header x-request-id zréck. Ouni si erstellt d'API eng mat 12 hexadezimale Zeechen.
  • De Body vun all POST ass een JSON-Objet, bis zu 32 MiB.
  • E Feld, dat d'API net kennt, verursaacht kee Feeler a wierkt net. Eng Ufro, déi fir en aneren Ubidder geschriwwe gouf, schléit net wéinst engem zousätzleche Feld fehl.
  • E bekannt Feld mam falsche JSON-Typ, oder en erfuerderlecht Feld, dat feelt, gëtt mat 422 beäntwert. E Body, deen net gülteg JSON ass, gëtt mat 400 beäntwert.
  • model ass eng vun den IDen op Modeller & Präisser. Grouss- a Klengschreiwung spillt keng Roll.

Eng Äntwert ass JSON, oder e Stream vu Server-sent Events, wann d'Ufro stream op true setzt. All Endpoint äntwert a sengem eegene Format. All Äntwert huet den Header x-request-id.

Wat eng Ufro duerchleeft

Eng Ufro gëtt a fixer Reiefolleg kontrolléiert, ier e Modell leeft. Déi éischt Kontroll, déi feelschléit, äntwert, sou datt e 401 iwwer de Body nach näischt seet.

Kontrolléiert, an dëser Reiefolleg Status bei engem Feeler
API-Schlëssel 401
Body: Gréisst, Content-Type, JSON, Feldtypen 413 · 415 · 400 · 422
Modell-ID 400
Flood-Schutz: 120 Ufroen pro Minutt pro Kont 429
Solde: den Output-Budget vun der Ufro muss passen 429

Form vun de Feeler

E Feeler ass e JSON-Objet mat engem error, deen type a message enthält. /v1/messages packt en esou an, wéi d'Anthropic-SDKs et erwaarden; all aner Pfad benotzt d'OpenAI-Form.

{
  "error": {
    "type": "invalid_request_error",
    "message": "unknown model: gpt-4o"
  }
}
  • Liest type a message. code a param si just bei e puer Feeler do: behandelt se als optional. param ass ëmmer null.
  • Nodeems e Stream ugefaang huet, ass de Status schonn 200. E Feeler dono kënnt als Feeler-Frame am Stream.
  • All Feeler-Äntwert enthält den Header x-request-id.
Status Typ Wéini
400 invalid_request_error De Body ass kee gültegt JSON, d'Modell-ID ass onbekannt, oder de Modell hëlt eng Zort Input net, déi Dir geschéckt hutt.
401 authentication_error De Schlëssel feelt oder ass net gülteg.
404 not_found_error De Pfad gëtt et net.
405 api_error De Pfad gëtt et, d'Method ass falsch.
413 invalid_request_error De Body ass méi grouss wéi 32 MiB.
415 invalid_request_error Content-Type ass net application/json.
422 invalid_request_error E Feld huet de falsche JSON-Typ, oder en erfuerderlecht Feld feelt.
429 rate_limit_error De Solde deckt d'Ufro net of, méi wéi 120 Ufroen sinn an enger Minutt ukomm, d'Shannon-Coder-Ruffer vum Fënster sinn opgebraucht, oder de Modell ass beschäftegt. D'Message seet, wat et ass.
5xx api_error Status 500, 502, 503 oder 504: d'Ufro war gülteg a konnt net beäntwert ginn. Schéckt se nach eng Kéier. En 500 ka den Typ server_error hunn.

Feelerbehandlung

Facturatioun a Solde

  • Et gëtt een Solde pro Kont, a Chat an API deelen en: fir d'éischt d'Plan-Zuelung vun haut, dann de gekaafte Crédit. D'API huet keng eege Quota.
  • Eng Ufro reservéiert hiren Output-Budget (max_tokens, Standard 4,096) a gëtt dann fir d'Tokens berechent, déi si wierklech benotzt huet, zum Präis vum Modell.
  • All Äntwert mellt hir Tokenzuelen an usage. D'Säit Schlësselen & Notzung weist de Solde a wat all Ufro kascht huet.
  • All Ufro gëtt gläich behandelt. Déi eenzeg Limit fir d'Ufro-Rate ass de Flood-Schutz: 120 Ufroen pro Minutt pro Kont. Ufroen, déi parallel geschéckt ginn, waarde an der Schlaang.

Limiten a Solde Modeller a Präisser Schlësselen & Notzung

Felder, déi vum Modell ofhänken

All Modell hëlt déiselwecht Ufro. E puer Felder wierken nëmmen bei e puer Modeller; d'Tabell seet wou. D'Säite vun den Endpoints lëschten all Feld op.

Feld Beschreiwung Ugewannt vun
system Instruktioune fir de Modell: eng system-Message bei Chat Completions, system bei Messages, instructions bei Responses. Hosted Open-Weight-Modeller, shannon-1.6-*, shannon-2-*, shannon-coder-1
temperature Sampling-Temperatur. Hosted Open-Weight-Modeller, shannon-1.6-*, shannon-coder-1
top_p Nucleus Sampling. Hosted Open-Weight-Modeller
seed E fixe Seed fir d'Sampling. Hosted Open-Weight-Modeller
stop Bis zu 4 Stop-Sequenzen. Hosted Open-Weight-Modeller
reasoning_effort Wéi vill de Modell reasonéiert, ier en äntwert. reasoning.effort bei Responses, thinking bei Messages. Hosted Open-Weight-Modeller
web_search true léisst de Modell fir dës Ufro am Web sichen. E Feld vun dëser API, bei Chat Completions a Messages. Shannon-Modeller ausser shannon-coder-1
max_tokens Den Output-Budget. Bei all Modell setzt en de Betrag, deen aus Ärem Solde reservéiert gëtt. Als Limit fir d'Längt vun der Äntwert: Hosted Open-Weight-Modeller, shannon-1.6-*, shannon-coder-1

Chat Completions

Wann Dir vun engem OpenAI-SDK kënnt

  • Setzt d'Basis-URL op https://api.shannon-ai.com/v1 an de Schlëssel op Äre Shannon-Schlëssel. Chat-Completions- a Responses-Ruffer funktionéieren dann mat der SDK esou, wéi se ass.
  • model muss eng Shannon-ID sinn. E Modellnumm vun engem anere Ubidder, wéi gpt-4o, gëtt mat 400 an unknown model beäntwert.
  • D'Reasoning kënnt an engem eegene Feld: reasoning_content niewent content, an der Message an an de Stream-Deltaen.
  • E Stream enthält ëmmer usage a sengem leschte Chunk, zesumme mat finish_reason.
  • E Tool-Ruff an engem Stream kënnt als ee Chunk mam kompletten arguments-String.
  • Eng Äntwert huet eng Choice.
  • Pfaden vun der OpenAI-API, déi net an der Tabell uewen stinn, wéi /v1/embeddings, ginn mat 404 beäntwert.

Wann Dir vun engem Anthropic-SDK kënnt

  • Setzt d'Basis-URL op https://api.shannon-ai.com, ouni /v1, an de Schlëssel op Äre Shannon-Schlëssel. D'SDK schéckt en als x-api-key.
  • model muss eng Shannon-ID sinn.
  • max_tokens ass bei dëser API optional. De Standard ass 4,096.
  • Eng Äntwert enthält Inhaltsblöck vum Typ thinking, text an tool_use. Deen éischte Block ass net ëmmer den Text: sicht d'Blöck no type eraus.
  • stop_reason ass end_turn oder tool_use. E Stream vun engem Shannon-Modell kann och mat max_tokens ophalen.
  • anthropic-version an anthropic-beta ginn akzeptéiert, sou datt d'SDK onverännert funktionéiert. Eng Ufro brauch se net.
  • Feeler op /v1/messages hunn d'Anthropic-Form: {"type": "error", "error": {…}}.

Coding-Tools, déi dës Formater schwätzen, ginn op déiselwecht Manéier agestallt: Basis-URL, Schlëssel, an eng Shannon-ID als Modell. CLI-Coding-Tools