Umumiy ko‘rinish
API xaritasi: har bir endpoint, so'rov va xato qanday ko'rinishi, chaqiruvlar uchun qanday to'lanishi hamda OpenAI yoki Anthropic SDK'dan kelganda nimani bilish kerakligi.
Endpointlar
Har bir endpoint bitta base URL ostida va HTTPS orqali xizmat ko'rsatadi.
https://api.shannon-ai.com | Endpoint | Format | Nima uchun |
|---|---|---|
POST /v1/chat/completions | OpenAI Chat Completions | Suhbatni yuboring, keyingi javobni oling. Streaming bilan yoki usiz. |
POST /v1/messages | Anthropic Messages | Xuddi shu, Anthropic SDK'larining so'rov va javob shakllarida. |
POST /v1/responses | OpenAI Responses | Xuddi shu, Responses shakllarida. Endpoint holat saqlamaydi: suhbatni har bir so'rov bilan yuboring. |
GET /v1/models | OpenAI model ro'yxati | Modellarni kontekst oynasi, narxlar va imkoniyatlari bilan sanab chiqing. Kalit kerak emas. |
POST /v1/tokenize | Shannon API | Xostingdagi open-weight model uchun matn yoki chat so'rovi tokenlarini sanang. Bepul. |
POST /v1/messages/count_tokens | Anthropic token sanash | Xostingdagi open-weight model uchun Messages so'rovining kirish tokenlarini sanang. Bepul. |
Matn hosil qiladigan uchta endpoint bir xil modellarga yetadi. Kodingiz allaqachon ishlatadigan formatdagisini tanlang.
So'rov asoslari
| Sarlavha | Tavsif |
|---|---|
Authorization: Bearer <key> | API kalitingiz. x-api-key yubormasangiz, GET /v1/modelsdan tashqari har bir endpointda majburiy. |
x-api-key: <key> | Anthropic SDK'lar yuboradigan sarlavhada xuddi shu kalit. Har bir endpointda o'qiladi. |
Content-Type: application/json | Har bir POST da majburiy. Usiz javob 415. |
x-request-id: <your id> | Ixtiyoriy. So'rov uchun o'zingizning id'ingiz; u x-request-id javob sarlavhasida qaytadi. Bo'lmasa API 12 ta o'n oltilik belgidan iborat id yaratadi. |
- Har bir
POSTtanasi bitta JSON obyekti, 32 MiB gacha. - API bilmaydigan maydon xatoga olib kelmaydi va ta'siri yo'q. Boshqa provayder uchun yozilgan so'rov ortiqcha maydon tufayli muvaffaqiyatsiz bo'lmaydi.
- Noto'g'ri JSON turidagi ma'lum maydon yoki yo'q majburiy maydonga
422bilan javob beriladi. Yaroqli JSON bo'lmagan tanaga400bilan javob beriladi. model— Modellar va narxlar sahifasidagi id'lardan biri. Katta va kichik harflar ahamiyatsiz.
Javob JSON yoki so'rov streamni true qilganda server-sent events oqimi. Har bir endpoint o'z formatida javob beradi. Har bir javobda x-request-id sarlavhasi bor.
So'rov nimalardan o'tadi
So'rov model ishga tushishidan oldin qat'iy tartibda tekshiriladi. Muvaffaqiyatsiz bo'lgan birinchi tekshiruv javob beradi, shuning uchun 401 tana haqida hali hech narsa aytmaydi.
| Shu tartibda tekshiriladi | Muvaffaqiyatsiz bo'lganda holat |
|---|---|
| API kalit | 401 |
| Tana: o'lcham, kontent turi, JSON, maydon turlari | 413 · 415 · 400 · 422 |
| Model id | 400 |
| Flood himoyasi: hisob uchun daqiqasiga 120 ta so'rov | 429 |
| Balans: so'rovning chiqish byudjeti sig'ishi kerak | 429 |
Xato shakli
Xato — type va messageni o'z ichiga olgan errorli JSON obyekti. /v1/messages uni Anthropic SDK'lar kutganidek o'raydi; boshqa har bir yo'l OpenAI shaklidan foydalanadi.
{
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} {
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} typevamessageni o'qing.codevaparamfaqat ba'zi xatolarda bor: ularni ixtiyoriy deb hisoblang.paramdoimnull.- Oqim boshlangandan keyin holat allaqachon
200. Nosozlik keyin oqim ichida xato freymi sifatida keladi. - Har bir xato javobi
x-request-idsarlavhasini olib keladi.
| Holat | Tur | Qachon |
|---|---|---|
400 | invalid_request_error | Tana yaroqli JSON emas, model id noma'lum yoki model siz yuborgan kirish turini qabul qilmaydi. |
401 | authentication_error | Kalit yo'q yoki yaroqsiz. |
404 | not_found_error | Yo'l mavjud emas. |
405 | api_error | Yo'l mavjud, metod noto'g'ri. |
413 | invalid_request_error | Tana 32 MiB dan katta. |
415 | invalid_request_error | Content-Type application/json emas. |
422 | invalid_request_error | Maydon noto'g'ri JSON turida yoki majburiy maydon yo'q. |
429 | rate_limit_error | Balans so'rovni qoplamaydi, bir daqiqada 120 tadan ortiq so'rov keldi, oynaning Shannon Coder chaqiruvlari tugagan yoki model band. Qaysi biri ekanini xabar aytadi. |
5xx | api_error | Holat 500, 502, 503 yoki 504: so'rov yaroqli edi va unga javob berib bo'lmadi. Uni qayta yuboring. 500 server_error turini olib kelishi mumkin. |
To'lov va balans
- Har bir hisobga bitta balans to'g'ri keladi, chat va API uni baham ko'radi: avval bugungi reja limiti, keyin sotib olingan kredit. API'ning o'z kvotasi yo'q.
- So'rov chiqish byudjetini (
max_tokens, standart 4,096) ajratib qo'yadi va keyin haqiqatda ishlatgan tokenlari uchun modelning narxida hisoblanadi. - Har bir javob token sonlarini
usageda ko'rsatadi. Keys & usage sahifasi balansni va har bir so'rov qancha turganini ko'rsatadi. - Har bir so'rovga teng xizmat ko'rsatiladi. So'rovlar tezligi bo'yicha yagona limit — flood himoyasi: hisob uchun daqiqasiga 120 ta so'rov. Parallel yuborilgan so'rovlar navbatda kutadi.
Limitlar va balans Modellar va narxlar Keys & usage
Modelga bog'liq maydonlar
Har bir model bir xil so'rovni qabul qiladi. Bir nechta maydon faqat ba'zi modellarda kuchga kiradi; jadval qayerda ekanini nomlaydi. Endpoint sahifalari har bir maydonni sanab beradi.
| Maydon | Tavsif | Qo'llaydi |
|---|---|---|
system | Model uchun ko'rsatmalar: Chat Completions'da system xabari, Messages'da system, Responses'da instructions. | Xostingdagi open-weight modellar, shannon-1.6-*, shannon-2-*, shannon-coder-1 |
temperature | Sampling temperaturasi. | Xostingdagi open-weight modellar, shannon-1.6-*, shannon-coder-1 |
top_p | Nucleus sampling. | Xostingdagi open-weight modellar |
seed | Sampling uchun qat'iy seed. | Xostingdagi open-weight modellar |
stop | 4 tagacha to'xtash ketma-ketligi. | Xostingdagi open-weight modellar |
reasoning_effort | Model javob berishdan oldin qanchalik mulohaza qiladi. Responses'da reasoning.effort, Messages'da thinking. | Xostingdagi open-weight modellar |
web_search | true modelga shu so'rov uchun veb'da qidirishga imkon beradi. Bu API'ning maydoni, Chat Completions va Messages'da. | shannon-coder-1dan tashqari Shannon modellari |
max_tokens | Chiqish byudjeti. Har bir modelda u balansingizdan ajratib qo'yiladigan miqdorni belgilaydi. | Javob uzunligi limiti sifatida: xostingdagi open-weight modellar, shannon-1.6-*, shannon-coder-1 |
OpenAI SDK'dan kelganda
- Base URL'ni
https://api.shannon-ai.com/v1ga, kalitni esa Shannon kalitingizga o'rnating. Shunda Chat Completions va Responses chaqiruvlari SDK bilan o'z holicha ishlaydi. modelShannon id'si bo'lishi kerak. Boshqa provayderning model nomiga, masalangpt-4oga,400vaunknown modelbilan javob beriladi.- Mulohaza o'z maydonida keladi:
contentyonidareasoning_content, xabarda va oqim deltalarida. - Oqim
usageni doim oxirgi chunk'da,finish_reasonbilan birga olib keladi. - Oqimdagi tool chaqiruvi to'liq
argumentssatri bilan bitta chunk sifatida keladi. - Javobda bitta choice bor.
- OpenAI API'ning yuqoridagi jadvalda yo'q yo'llariga, masalan
/v1/embeddingsga,404bilan javob beriladi.
Anthropic SDK'dan kelganda
- Base URL'ni
https://api.shannon-ai.comga,/v1siz, kalitni esa Shannon kalitingizga o'rnating. SDK unix-api-keysifatida yuboradi. modelShannon id'si bo'lishi kerak.- Bu API'da
max_tokensixtiyoriy. Uning standart qiymati 4,096. - Javob
thinking,textvatool_useturidagi kontent bloklarini o'z ichiga oladi. Birinchi blok doim matn emas: bloklarnitypebo'yicha tanlang. stop_reason—end_turnyokitool_use. Shannon modeli oqimimax_tokensbilan ham tugashi mumkin.anthropic-versionvaanthropic-betaqabul qilinadi, shuning uchun SDK o'zgarishsiz ishlaydi. So'rovga ular shart emas./v1/messagesdagi xatolar Anthropic shaklida:{"type": "error", "error": {…}}.
Bu formatlarda gaplashadigan kodlash vositalari xuddi shunday sozlanadi: base URL, kalit va model sifatida Shannon id'si. CLI kodlash vositalari