Ikuspegi orokorra
APIaren mapa: endpoint guztiak, eskaera eta errore baten itxura, deiak nola ordaintzen diren, eta zer jakin behar duzun OpenAI edo Anthropic SDK batetik zatozenean.
Endpoint-ak
Endpoint guztiak base URL bakar baten azpian daude eta HTTPS bidez zerbitzatzen dira.
https://api.shannon-ai.com | Endpoint-a | Formatua | Zertarako den |
|---|---|---|
POST /v1/chat/completions | OpenAI Chat Completions | Bidali elkarrizketa bat, jaso hurrengo erantzuna. Streamingarekin edo gabe. |
POST /v1/messages | Anthropic Messages | Gauza bera, Anthropic SDK-en eskaera- eta erantzun-formetan. |
POST /v1/responses | OpenAI Responses | Gauza bera, Responses formetan. Endpoint-ak ez du egoerarik gordetzen: bidali elkarrizketa eskaera guztiekin. |
GET /v1/models | OpenAI modelo-zerrenda | Zerrendatu modeloak testuinguru-leiho, prezio eta gaitasunekin. Ez du gakorik behar. |
POST /v1/tokenize | Shannon API | Kontatu testu baten edo txat-eskaera baten tokenak pisu irekiko modelo ostatatu baterako. Doakoa. |
POST /v1/messages/count_tokens | Anthropic token-kontaketa | Kontatu Messages eskaera baten sarrera-tokenak pisu irekiko modelo ostatatu baterako. Doakoa. |
Testua sortzen duten hiru endpoint-ek modelo berberetara iristen dira. Aukeratu zure kodeak jada erabiltzen duen formatukoa.
Eskaeren oinarriak
| Goiburua | Deskribapena |
|---|---|
Authorization: Bearer <key> | Zure API gakoa. Beharrezkoa endpoint guztietan GET /v1/models izan ezik, x-api-key bidaltzen ez baduzu. |
x-api-key: <key> | Gako bera Anthropic SDK-ek bidaltzen duten goiburuan. Endpoint guztietan irakurtzen da. |
Content-Type: application/json | Beharrezkoa POST guztietan. Gabe erantzuna 415 da. |
x-request-id: <your id> | Aukerakoa. Eskaerarentzako zure id propioa; x-request-id erantzun-goiburuan itzultzen da. Gabe, APIak 12 karaktere hexadezimaleko bat sortzen du. |
- Edozein
POST-en gorputza JSON objektu bakar bat da, 32 MiB arte. - APIak ezagutzen ez duen eremu batek ez du errorerik eragiten eta ez du eraginik. Beste hornitzaile baterako idatzitako eskaerak ez du huts egiten eremu gehigarri batengatik.
- JSON mota okerra duen eremu ezagun bati, edo beharrezko eremu falta bati,
422erantzuten zaio. JSON baliodun ez den gorputz bati400erantzuten zaio. modelModeloak eta prezioak orrialdeko id-etako bat da. Maiuskulek eta minuskulek ez dute axolarik.
Erantzuna JSON da, edo server-sent events stream bat eskaerak stream true gisa ezartzen duenean. Endpoint bakoitzak bere formatuan erantzuten du. Erantzun guztiek x-request-id goiburua dute.
Eskaera batek zer gainditzen duen
Eskaera bat ordena finko batean egiaztatzen da modeloa exekutatu aurretik. Huts egiten duen lehen egiaztapenak erantzuten du, beraz 401 batek ez dizu oraindik ezer esaten gorputzari buruz.
| Egiaztatua, ordena honetan | Huts egitean egoera |
|---|---|
| API gakoa | 401 |
| Gorputza: tamaina, eduki-mota, JSON, eremu-motak | 413 · 415 · 400 · 422 |
| Modelo-id-a | 400 |
| Flood protection: minutuko 120 eskaera kontu bakoitzeko | 429 |
| Saldoa: eskaeraren irteera-aurrekontuak sartu behar du | 429 |
Errore-forma
Errore bat type eta message dituen error bat duen JSON objektu bat da. /v1/messages-ek Anthropic SDK-ek espero duten moduan biltzen du; beste bide guztiek OpenAI forma erabiltzen dute.
{
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} {
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} - Irakurri
typeetamessage.codeetaparamerrore batzuetan bakarrik daude: hartu aukerakotzat.parambetinullda. - Stream bat hasi ondoren egoera
200da jada. Hutsegite bat orduan streamaren barruko errore-frame gisa iristen da. - Errore-erantzun guztiek
x-request-idgoiburua dute.
| Egoera | Mota | Noiz |
|---|---|---|
400 | invalid_request_error | Gorputza ez da JSON baliodun bat, modelo-id-a ezezaguna da, edo modeloak ez du bidali duzun sarrera-mota hartzen. |
401 | authentication_error | Gakoa falta da edo ez da baliodun. |
404 | not_found_error | Bidea ez dago. |
405 | api_error | Bidea badago, metodoa okerra da. |
413 | invalid_request_error | Gorputza 32 MiB baino handiagoa da. |
415 | invalid_request_error | Content-Type ez da application/json. |
422 | invalid_request_error | Eremu batek JSON mota okerra du edo beharrezko eremu bat falta da. |
429 | rate_limit_error | Saldoak ez du eskaera estaltzen, minutu batean 120 eskaera baino gehiago iritsi dira, leihoko Shannon Coder deiak agortu dira, edo modeloa okupatuta dago. Mezuak zein den esaten du. |
5xx | api_error | 500, 502, 503 edo 504 egoera: eskaera baliodun zen eta ezin izan da erantzun. Bidali berriro. 500 batek server_error mota izan dezake. |
Fakturazioa eta saldoa
- Kontu bakoitzeko saldo bakarra dago, eta txatak eta API-ak partekatzen dute: lehenik gaurko planaren kupoa, gero erositako kreditua. APIak ez du kupo propiorik.
- Eskaera batek bere irteera-aurrekontua erreserbatzen du (
max_tokens, lehenetsia 4,096) eta gero benetan erabilitako tokenengatik kobratzen da, modeloaren prezioan. - Erantzun bakoitzak bere token-kontaketak jakinarazten ditu
usage-n. Gakoak eta erabilera orrialdeak saldoa eta eskaera bakoitzak zenbat kostatu duen erakusten du. - Eskaera guztiak berdin zerbitzatzen dira. Eskaera-tasaren gaineko muga bakarra flood protection da: minutuko 120 eskaera kontu bakoitzeko. Paraleloan bidalitako eskaerak ilaran itxaroten dute.
Mugak eta saldoa Modeloak eta prezioak Gakoak eta erabilera
Modeloaren araberako eremuak
Modelo guztiek eskaera bera hartzen dute. Eremu batzuek modelo batzuetan bakarrik dute eragina; taulak non adierazten du. Endpoint-orrialdeek eremu guztiak zerrendatzen dituzte.
| Eremua | Deskribapena | Aplikatzen duena |
|---|---|---|
system | Modeloarentzako jarraibideak: system mezu bat Chat Completions-en, system Messages-en, instructions Responses-en. | Pisu irekiko modelo ostatatuak, shannon-1.6-*, shannon-2-*, shannon-coder-1 |
temperature | Laginketa-tenperatura. | Pisu irekiko modelo ostatatuak, shannon-1.6-*, shannon-coder-1 |
top_p | Nukleo-laginketa. | Pisu irekiko modelo ostatatuak |
seed | Laginketarako hazi finko bat. | Pisu irekiko modelo ostatatuak |
stop | 4 gelditze-sekuentzia arte. | Pisu irekiko modelo ostatatuak |
reasoning_effort | Modeloak erantzun aurretik zenbat arrazoitzen duen. reasoning.effort Responses-en, thinking Messages-en. | Pisu irekiko modelo ostatatuak |
web_search | true balioak modeloari eskaera honetarako weba bilatzen uzten dio. API honen eremu bat, Chat Completions eta Messages endpoint-etan. | Shannon modeloak, shannon-coder-1 izan ezik |
max_tokens | Irteera-aurrekontua. Modelo guztietan zure saldotik erreserbatutako kopurua ezartzen du. | Erantzunaren luzeraren muga gisa: pisu irekiko modelo ostatatuak, shannon-1.6-*, shannon-coder-1 |
OpenAI SDK batetik zatoz
- Ezarri base URL-a
https://api.shannon-ai.com/v1gisa eta gakoa zure Shannon gako gisa. Chat Completions eta Responses deiek orduan SDK-arekin funtzionatzen dute dagoen bezala. modelShannon id bat izan behar da. Beste hornitzaile baten modelo-izen bati, adibidezgpt-4o,400etaunknown modelerantzuten zaio.- Arrazonamendua eremu propio batean dator:
reasoning_contentcontent-en ondoan, mezuan eta stream-deltetan. - Stream batek beti
usagedarama azken chunk-ean,finish_reason-ekin batera. - Stream bateko tresna-dei bat chunk bakar gisa iristen da,
argumentskate osoarekin. - Erantzun batek aukera bakarra du.
- OpenAI APIaren goiko taulan ez dauden bideei, hala nola
/v1/embeddings,404erantzuten zaie.
Anthropic SDK batetik zatoz
- Ezarri base URL-a
https://api.shannon-ai.comgisa,/v1gabe, eta gakoa zure Shannon gako gisa. SDK-akx-api-keygisa bidaltzen du. modelShannon id bat izan behar da.max_tokensaukerakoa da API honetan. Lehenetsia 4,096 da.- Erantzun batek
thinking,textetatool_usemotako eduki-blokeak ditu. Lehen blokea ez da beti testua: aukeratu blokeaktypebidez. stop_reasonend_turnedotool_useda. Shannon modelo baten stream batekmax_tokens-ekin ere amaitu daiteke.anthropic-versionetaanthropic-betaonartzen dira, SDK-a aldatu gabe funtzionatzeko. Eskaera batek ez ditu behar./v1/messagesendpoint-eko erroreek Anthropic forma dute:{"type": "error", "error": {…}}.
Formatu hauekin hitz egiten duten programazio-tresnak modu berean konfiguratzen dira: base URL-a, gakoa eta Shannon id bat modelo gisa. Programatzeko CLI tresnak