Muhtasari
Ramani ya API: kila endpoint, ombi na kosa vinavyoonekanaje, jinsi wito unavyolipiwa, na unachopaswa kujua unapotoka kwenye SDK ya OpenAI au Anthropic.
Endpoint
Kila endpoint iko chini ya base URL moja na inahudumiwa kupitia HTTPS.
https://api.shannon-ai.com | Endpoint | Umbizo | Ni ya nini |
|---|---|---|
POST /v1/chat/completions | OpenAI Chat Completions | Tuma mazungumzo, pata jibu linalofuata. Kwa streaming au bila. |
POST /v1/messages | Anthropic Messages | Vivyo hivyo, kwa maumbo ya ombi na jibu ya SDK za Anthropic. |
POST /v1/responses | OpenAI Responses | Vivyo hivyo, kwa maumbo ya Responses. Endpoint haihifadhi hali: tuma mazungumzo kwa kila ombi. |
GET /v1/models | Orodha ya model ya OpenAI | Orodhesha model pamoja na dirisha la muktadha, bei na capabilities. Haihitaji key. |
POST /v1/tokenize | Shannon API | Hesabu tokens za maandishi au za ombi la chat kwa model ya open-weight inayopangishwa. Bure. |
POST /v1/messages/count_tokens | Hesabu ya tokens ya Anthropic | Hesabu tokens za input za ombi la Messages kwa model ya open-weight inayopangishwa. Bure. |
Endpoint tatu zinazozalisha maandishi hufikia model zile zile. Chagua ile ambayo umbizo lake code yako tayari inatumia.
Misingi ya ombi
| Header | Maelezo |
|---|---|
Authorization: Bearer <key> | API key yako. Inahitajika kwenye kila endpoint isipokuwa GET /v1/models, usipotuma x-api-key. |
x-api-key: <key> | Key ile ile kwenye header ambayo SDK za Anthropic hutuma. Husomwa kwenye kila endpoint. |
Content-Type: application/json | Inahitajika kwenye kila POST. Bila hiyo jibu ni 415. |
x-request-id: <your id> | Si lazima. Id yako mwenyewe ya ombi; inarudi kwenye header ya jibu x-request-id. Bila hiyo API huunda moja ya herufi 12 za hexadecimal. |
- Mwili wa kila
POSTni kitu kimoja cha JSON, hadi 32 MiB. - Field ambayo API haijui haisababishi kosa na haina athari. Ombi lililoandikwa kwa mtoa huduma mwingine halifeli kwa sababu ya field ya ziada.
- Field inayojulikana yenye aina isiyo sahihi ya JSON, au field inayohitajika iliyokosekana, hujibiwa kwa
422. Mwili usio JSON halali hujibiwa kwa400. modelni mojawapo ya id zilizo kwenye Model na bei. Herufi kubwa na ndogo hazijalishi.
Jibu ni JSON, au stream ya server-sent events ombi linapoweka stream kuwa true. Kila endpoint hujibu kwa umbizo lake. Kila jibu lina header ya x-request-id.
Ombi hupitia nini
Ombi hukaguliwa kwa mpangilio uliowekwa kabla model haijaendeshwa. Ukaguzi wa kwanza unaoshindwa ndio unaojibu, kwa hiyo 401 bado haikuambii chochote kuhusu mwili.
| Hukaguliwa, kwa mpangilio huu | Hali inaposhindwa |
|---|---|
| API key | 401 |
| Mwili: ukubwa, content type, JSON, aina za fields | 413 · 415 · 400 · 422 |
| Model id | 400 |
| Flood protection: maombi 120 kwa dakika kwa kila akaunti | 429 |
| Salio: bajeti ya output ya ombi lazima itoshee | 429 |
Umbo la kosa
Kosa ni kitu cha JSON chenye error inayoshikilia type na message. /v1/messages hulifunga kama SDK za Anthropic zinavyotarajia; kila path nyingine hutumia umbo la OpenAI.
{
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} {
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} - Soma
typenamessage.codenaparamzipo kwenye baadhi ya makosa pekee: zichukulie kama hiari.paramdaima ninull. - Baada ya stream kuanza, hali tayari ni
200. Hitilafu basi hufika kama frame ya kosa ndani ya stream. - Kila jibu la kosa hubeba header ya
x-request-id.
| Hali | Aina | Lini |
|---|---|---|
400 | invalid_request_error | Mwili si JSON halali, model id haijulikani, au model haikubali aina ya input uliyotuma. |
401 | authentication_error | Key haipo au si halali. |
404 | not_found_error | Path haipo. |
405 | api_error | Path ipo, method si sahihi. |
413 | invalid_request_error | Mwili ni mkubwa kuliko 32 MiB. |
415 | invalid_request_error | Content-Type si application/json. |
422 | invalid_request_error | Field ina aina isiyo sahihi ya JSON au field inayohitajika haipo. |
429 | rate_limit_error | Salio halitoshi kwa ombi, maombi zaidi ya 120 yalifika ndani ya dakika, wito wa Shannon Coder wa dirisha umeisha, au model ina shughuli nyingi. Ujumbe unasema ni ipi. |
5xx | api_error | Hali 500, 502, 503 au 504: ombi lilikuwa halali na halikuweza kujibiwa. Litume tena. 500 inaweza kubeba aina server_error. |
Malipo na salio
- Kuna salio moja kwa kila akaunti, na chat na API hulitumia pamoja: kwanza kiasi cha mpango wa leo, kisha mikopo uliyonunua. API haina quota yake yenyewe.
- Ombi hutenga bajeti yake ya output (
max_tokens, chaguo-msingi 4,096) na kisha hutozwa kwa tokens ilizotumia kweli, kwa bei ya model. - Kila jibu huripoti hesabu zake za tokens kwenye
usage. Ukurasa wa Keys na matumizi unaonyesha salio na kila ombi liligharimu nini. - Kila ombi linahudumiwa kwa usawa. Kikomo pekee cha kasi ya maombi ni flood protection: maombi 120 kwa dakika kwa kila akaunti. Maombi yanayotumwa kwa sambamba husubiri kwenye foleni.
Mipaka na salio Model na bei Keys na matumizi
Fields zinazotegemea model
Kila model inakubali ombi lile lile. Fields chache zinafanya kazi kwenye baadhi ya model pekee; jedwali linataja mahali. Kurasa za endpoint zinaorodhesha kila field.
| Field | Maelezo | Inatumiwa na |
|---|---|---|
system | Maagizo kwa model: ujumbe wa system kwenye Chat Completions, system kwenye Messages, instructions kwenye Responses. | Model za open-weight zinazopangishwa, shannon-1.6-*, shannon-2-*, shannon-coder-1 |
temperature | Sampling temperature. | Model za open-weight zinazopangishwa, shannon-1.6-*, shannon-coder-1 |
top_p | Nucleus sampling. | Model za open-weight zinazopangishwa |
seed | Seed isiyobadilika kwa sampling. | Model za open-weight zinazopangishwa |
stop | Hadi stop sequences 4. | Model za open-weight zinazopangishwa |
reasoning_effort | Kiasi ambacho model hufikiri kabla ya kujibu. reasoning.effort kwenye Responses, thinking kwenye Messages. | Model za open-weight zinazopangishwa |
web_search | true huiruhusu model kutafuta kwenye wavuti kwa ombi hili. Field ya API hii, kwenye Chat Completions na Messages. | Model za Shannon isipokuwa shannon-coder-1 |
max_tokens | Bajeti ya output. Kwenye kila model huweka kiasi kinachotengwa kutoka kwenye salio lako. | Kama kikomo cha urefu wa jibu: model za open-weight zinazopangishwa, shannon-1.6-*, shannon-coder-1 |
Ukitoka kwenye SDK ya OpenAI
- Weka base URL kuwa
https://api.shannon-ai.com/v1na key kuwa key yako ya Shannon. Wito wa Chat Completions na Responses kisha hufanya kazi na SDK kama ilivyo. modellazima iwe id ya Shannon. Jina la model la mtoa huduma mwingine, kamagpt-4o, hujibiwa kwa400naunknown model.- Reasoning huja kwenye field yake yenyewe:
reasoning_contentkando yacontent, kwenye ujumbe na kwenye stream deltas. - Stream daima hubeba
usagekwenye chunk yake ya mwisho, pamoja nafinish_reason. - Wito wa tool kwenye stream hufika kama chunk moja yenye string kamili ya
arguments. - Jibu lina choice moja.
- Paths za OpenAI API ambazo hazimo kwenye jedwali la juu, kama
/v1/embeddings, hujibiwa kwa404.
Ukitoka kwenye SDK ya Anthropic
- Weka base URL kuwa
https://api.shannon-ai.com, bila/v1, na key kuwa key yako ya Shannon. SDK huituma kamax-api-key. modellazima iwe id ya Shannon.max_tokenssi lazima kwenye API hii. Chaguo-msingi ni 4,096.- Jibu lina content blocks za aina
thinking,textnatool_use. Block ya kwanza si daima maandishi: chagua blocks kwatype. stop_reasonniend_turnautool_use. Stream ya model ya Shannon inaweza pia kuisha namax_tokens.anthropic-versionnaanthropic-betazinakubaliwa, kwa hiyo SDK inafanya kazi bila mabadiliko. Ombi halizihitaji.- Makosa kwenye
/v1/messagesyana umbo la Anthropic:{"type": "error", "error": {…}}.
Coding tools zinazotumia umbizo hizi husanidiwa kwa njia ile ile: base URL, key, na id ya Shannon kama model. Zana za CLI za kuandika code