Dubawa
Taswirar API: kowane endpoint, yadda request da kuskure suke, yadda ake biyan kira, da abin da ya kamata ku sani idan kuna zuwa daga OpenAI ko Anthropic SDK.
Endpoints
Kowane endpoint yana ƙarƙashin base URL ɗaya kuma ana yi masa hidima ta HTTPS.
https://api.shannon-ai.com | Endpoint | Tsari | Menene amfaninsa |
|---|---|---|
POST /v1/chat/completions | OpenAI Chat Completions | Ku aika tattaunawa, ku sami amsa ta gaba. Da streaming ko ba tare da shi ba. |
POST /v1/messages | Anthropic Messages | Haka ma, a siffofin request da amsa na Anthropic SDKs. |
POST /v1/responses | OpenAI Responses | Haka ma, a siffofin Responses. Endpoint ɗin ba ya riƙe state: ku aika tattaunawa da kowace request. |
GET /v1/models | Jerin models na OpenAI | Ku lissafa models tare da context window, farashi da capabilities. Ba ya buƙatar maɓalli. |
POST /v1/tokenize | Shannon API | Ku ƙirga tokens na rubutu ko na request na taɗi ga hosted open-weight model. Kyauta. |
POST /v1/messages/count_tokens | Ƙirgan tokens na Anthropic | Ku ƙirga input tokens na request na Messages ga hosted open-weight model. Kyauta. |
Endpoints uku da ke samar da rubutu suna isa ga models iri ɗaya. Ku zaɓi wanda tsarinsa code ɗinku ke amfani da shi tuni.
Muhimman abubuwan request
| Header | Bayani |
|---|---|
Authorization: Bearer <key> | Maɓallin API ɗinku. Wajibi ne a kowane endpoint in ban da GET /v1/models, sai dai idan kun aika x-api-key. |
x-api-key: <key> | Maɓalli iri ɗaya a header da Anthropic SDKs ke aikawa. Ana karantawa a kowane endpoint. |
Content-Type: application/json | Wajibi a kowane POST. Ba tare da shi ba amsar ita ce 415. |
x-request-id: <your id> | Zaɓi. Id ɗinku na request ɗin; yana dawowa a header na amsa x-request-id. Idan babu shi API yana ƙirƙirar ɗaya na haruffan hexadecimal 12. |
- Jikin kowane
POSTJSON object ɗaya ne, har zuwa 32 MiB. - Field da API bai sani ba ba ya haifar da kuskure kuma ba ya da tasiri. Request da aka rubuta wa wani provider ba ya gazawa saboda ƙarin field.
- Field da aka sani mai nau'in JSON mara kyau, ko field da ake buƙata da ya ɓace, ana amsa shi da
422. Jiki wanda ba JSON mai inganci ba ana amsa shi da400. modelɗaya ne daga ids da ke Models & farashi. Manyan haruffa da ƙanana ba su da muhimmanci.
Amsa JSON ce, ko stream na server-sent events idan request ya saita stream zuwa true. Kowane endpoint yana amsawa a tsarinsa. Kowace amsa tana da header x-request-id.
Abin da request ke wucewa
Ana duba request bisa tsari tsayayye kafin model ya gudana. Binciken farko da ya gaza shi ke amsawa, don haka 401 bai gaya muku komai game da jiki tukuna ba.
| Ana dubawa, bisa wannan tsari | Matsayi idan ya gaza |
|---|---|
| Maɓallin API | 401 |
| Jiki: girma, content type, JSON, nau'ikan fields | 413 · 415 · 400 · 422 |
| Model id | 400 |
| Flood protection: requests 120 a minti ɗaya ga kowane asusu | 429 |
| Balance: dole output budget na request ya shiga | 429 |
Siffar kuskure
Kuskure JSON object ne mai error wanda ke ɗauke da type da message. /v1/messages yana nannaɗe shi yadda Anthropic SDKs ke tsammani; kowace sauran hanya tana amfani da siffar OpenAI.
{
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} {
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} - Ku karanta
typedamessage.codedaparamsuna nan a wasu kurakurai kaɗai: ku ɗauke su a matsayin zaɓi.paramkoyaushenullne. - Bayan stream ya fara, matsayin ya riga ya zama
200. Gazawa sai ta zo a matsayin error frame a cikin stream. - Kowace amsar kuskure tana ɗauke da header
x-request-id.
| Matsayi | Nau'i | Lokaci |
|---|---|---|
400 | invalid_request_error | Jikin ba JSON mai inganci ba ne, ba a san model id ba, ko model ba ya karɓar nau'in input da kuka aika. |
401 | authentication_error | Maɓalli ya ɓace ko ba shi da inganci. |
404 | not_found_error | Hanyar ba ta wanzu. |
405 | api_error | Hanyar tana nan, method ɗin ba daidai ba ne. |
413 | invalid_request_error | Jikin ya fi 32 MiB girma. |
415 | invalid_request_error | Content-Type ba application/json ba ne. |
422 | invalid_request_error | Field yana da nau'in JSON mara kyau ko kuma field da ake buƙata ya ɓace. |
429 | rate_limit_error | Balance bai isa request ba, fiye da requests 120 sun iso a minti ɗaya, an gama kiran Shannon Coder na taga, ko model yana aiki da yawa. Saƙon yana faɗin wanne. |
5xx | api_error | Matsayi 500, 502, 503 ko 504: request yana da inganci kuma ba a iya amsa shi ba. Ku sake aika shi. 500 na iya ɗaukar nau'in server_error. |
Biyan kuɗi da balance
- Akwai balance ɗaya ga kowane asusu, kuma taɗi da API suna raba shi: plan allowance na yau da farko, sannan credit da aka saya. API ba shi da quota na kansa.
- Request yana ware output budget ɗinsa (
max_tokens, na asali 4,096) sannan a caje shi don tokens da ya yi amfani da su da gaske, a farashin model. - Kowace amsa tana bayyana ƙirgan tokens ɗinta a
usage. Shafin Maɓallai & amfani yana nuna balance da abin da kowace request ta kashe. - Ana yi wa kowace request hidima daidai. Iyaka ɗaya tilo kan yawan requests ita ce flood protection: requests 120 a minti ɗaya ga kowane asusu. Requests da aka aika a lokaci guda suna jira a layi.
Iyakoki da balance Models & farashi Maɓallai & amfani
Fields da suka dogara da model
Kowane model yana karɓar request iri ɗaya. Wasu fields suna aiki a wasu models kaɗai; teburin yana faɗin inda. Shafukan endpoints suna lissafa kowane field.
| Field | Bayani | Wanda ke aiwatarwa |
|---|---|---|
system | Umarni ga model: saƙon system a Chat Completions, system a Messages, instructions a Responses. | Hosted open-weight models, shannon-1.6-*, shannon-2-*, shannon-coder-1 |
temperature | Sampling temperature. | Hosted open-weight models, shannon-1.6-*, shannon-coder-1 |
top_p | Nucleus sampling. | Hosted open-weight models |
seed | Seed tsayayye don sampling. | Hosted open-weight models |
stop | Har zuwa stop sequences 4. | Hosted open-weight models |
reasoning_effort | Yawan reasoning da model ke yi kafin ya amsa. reasoning.effort a Responses, thinking a Messages. | Hosted open-weight models |
web_search | true yana barin model ya bincika yanar gizo don wannan request. Field na wannan API, a Chat Completions da Messages. | Models na Shannon in ban da shannon-coder-1 |
max_tokens | Output budget. A kowane model yana saita adadin da ake ware daga balance ɗinku. | A matsayin iyaka kan tsawon amsa: hosted open-weight models, shannon-1.6-*, shannon-coder-1 |
Idan kuna zuwa daga OpenAI SDK
- Ku saita base URL zuwa
https://api.shannon-ai.com/v1kuma maɓalli zuwa maɓallinku na Shannon. Kiran Chat Completions da Responses sai suna aiki da SDK yadda yake. - Dole
modelya zama id na Shannon. Sunan model na wani provider, kamargpt-4o, ana amsa shi da400daunknown model. - Reasoning yana zuwa a field na kansa:
reasoning_contentkusa dacontent, a saƙo da kuma a stream deltas. - Stream koyaushe yana ɗauke da
usagea chunk ɗinsa na ƙarshe, tare dafinish_reason. - Kiran tool a stream yana zuwa a chunk ɗaya tare da cikakken string na
arguments. - Amsa tana da choice ɗaya.
- Hanyoyin OpenAI API da ba su cikin teburin da ke sama, kamar
/v1/embeddings, ana amsa su da404.
Idan kuna zuwa daga Anthropic SDK
- Ku saita base URL zuwa
https://api.shannon-ai.com, ba tare da/v1ba, kuma maɓalli zuwa maɓallinku na Shannon. SDK yana aika shi a matsayinx-api-key. - Dole
modelya zama id na Shannon. max_tokenszaɓi ne a wannan API. Na asali shi ne 4,096.- Amsa tana ɗauke da content blocks na nau'in
thinking,textdatool_use. Block na farko ba koyaushe rubutu ba ne: ku zaɓi blocks tatype. stop_reasonshi neend_turnkotool_use. Stream na model na Shannon na iya ƙarewa damax_tokensma.- Ana karɓar
anthropic-versiondaanthropic-beta, don haka SDK yana aiki ba tare da canji ba. Request ba ya buƙatar su. - Kurakurai a
/v1/messagessuna da siffar Anthropic:{"type": "error", "error": {…}}.
Ana saita kayan rubuta code da ke magana da waɗannan tsare-tsare iri ɗaya: base URL, maɓalli, da id na Shannon a matsayin model. Kayan CLI na rubuta code