Ümumi baxış
API-nin xəritəsi: hər endpoint, sorğu və xətanın necə göründüyü, çağırışların necə ödənildiyi və OpenAI və ya Anthropic SDK-dan gəldiyiniz zaman nələri bilmək lazım olduğu.
Endpoint-lər
Hər endpoint bir əsas URL altındadır və HTTPS ilə xidmət göstərir.
https://api.shannon-ai.com | Endpoint | Format | Nə üçündür |
|---|---|---|
POST /v1/chat/completions | OpenAI Chat Completions | Söhbəti göndərin, növbəti cavabı alın. Streaming ilə və ya onsuz. |
POST /v1/messages | Anthropic Messages | Eyni şey, Anthropic SDK-larının sorğu və cavab formalarında. |
POST /v1/responses | OpenAI Responses | Eyni şey, Responses formalarında. Endpoint vəziyyət saxlamır: söhbəti hər sorğu ilə göndərin. |
GET /v1/models | OpenAI model siyahısı | Modelləri kontekst pəncərəsi, qiymətlər və imkanlarla siyahıya alın. Açar tələb etmir. |
POST /v1/tokenize | Shannon API | Host edilən açıq çəkili model üçün mətnin və ya çat sorğusunun tokenlərini sayın. Pulsuzdur. |
POST /v1/messages/count_tokens | Anthropic token sayı | Host edilən açıq çəkili model üçün Messages sorğusunun giriş tokenlərini sayın. Pulsuzdur. |
Mətn yaradan üç endpoint eyni modellərə çıxış verir. Kodunuzun artıq istifadə etdiyi formatı seçin.
Sorğunun əsasları
| Başlıq | Təsvir |
|---|---|
Authorization: Bearer <key> | API açarınız. x-api-key göndərmədiyiniz halda GET /v1/models istisna olmaqla hər endpoint-də tələb olunur. |
x-api-key: <key> | Anthropic SDK-larının göndərdiyi başlıqda eyni açar. Hər endpoint-də oxunur. |
Content-Type: application/json | Hər POST-da tələb olunur. Onsuz cavab 415-dir. |
x-request-id: <your id> | İxtiyari. Sorğu üçün öz id-niz; cavab başlığı x-request-id-də geri qayıdır. Onsuz API 12 hexadecimal simvoldan ibarət id yaradır. |
- Hər
POST-un gövdəsi 32 MiB-a qədər bir JSON obyektidir. - API-nin tanımadığı sahə xəta yaratmır və təsiri yoxdur. Başqa provayder üçün yazılmış sorğu əlavə sahəyə görə uğursuz olmur.
- Yanlış JSON tipli məlum sahə və ya çatışmayan məcburi sahə
422ilə cavablandırılır. Etibarlı JSON olmayan gövdə400ilə cavablandırılır. modelModels & pricing səhifəsindəki id-lərdən biridir. Böyük və kiçik hərf fərq etmir.
Cavab JSON-dur, sorğu stream-i true təyin etdikdə isə server-sent events axınıdır. Hər endpoint öz formatında cavab verir. Hər cavabda x-request-id başlığı var.
Sorğunun keçdiyi yoxlamalar
Sorğu model işə düşməzdən əvvəl müəyyən ardıcıllıqla yoxlanılır. Uğursuz olan ilk yoxlama cavab verir, ona görə 401 gövdə haqqında hələ heç nə demir.
| Bu ardıcıllıqla yoxlanılır | Uğursuz olduqda status |
|---|---|
| API açarı | 401 |
| Gövdə: ölçü, məzmun tipi, JSON, sahə tipləri | 413 · 415 · 400 · 422 |
| Model id-si | 400 |
| Flood protection: hesab başına dəqiqədə 120 sorğu | 429 |
| Balans: sorğunun output büdcəsi sığmalıdır | 429 |
Xəta forması
Xəta type və message saxlayan error olan JSON obyektidir. /v1/messages onu Anthropic SDK-larının gözlədiyi kimi bükür; hər digər yol OpenAI formasından istifadə edir.
{
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} {
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} typevəmessage-i oxuyun.codevəparamyalnız bəzi xətalarda olur: onları ixtiyari sayın.paramhəmişənull-dır.- Axın başladıqdan sonra status artıq
200-dür. Bu halda uğursuzluq axının içində xəta frame-i kimi gəlir. - Hər xəta cavabı
x-request-idbaşlığını daşıyır.
| Status | Tip | Nə vaxt |
|---|---|---|
400 | invalid_request_error | Gövdə etibarlı JSON deyil, model id-si naməlumdur və ya model göndərdiyiniz giriş növünü qəbul etmir. |
401 | authentication_error | Açar yoxdur və ya etibarlı deyil. |
404 | not_found_error | Yol mövcud deyil. |
405 | api_error | Yol mövcuddur, metod yanlışdır. |
413 | invalid_request_error | Gövdə 32 MiB-dan böyükdür. |
415 | invalid_request_error | Content-Type application/json deyil. |
422 | invalid_request_error | Sahənin JSON tipi yanlışdır və ya məcburi sahə yoxdur. |
429 | rate_limit_error | Balans sorğunu ödəmir, dəqiqədə 120-dən çox sorğu gəlib, pəncərənin Shannon Coder çağırışları bitib və ya model məşğuldur. Mesaj hansı olduğunu deyir. |
5xx | api_error | Status 500, 502, 503 və ya 504: sorğu etibarlı idi və cavablandırıla bilmədi. Yenidən göndərin. 500 server_error tipini daşıya bilər. |
Ödəniş və balans
- Hər hesab üçün bir balans var və çat ilə API onu bölüşür: əvvəlcə bugünkü plan limiti, sonra alınmış kredit. API-nin öz kvotası yoxdur.
- Sorğu output büdcəsini (
max_tokens, standart 4,096) rezerv edir və sonra real istifadə etdiyi tokenlər üçün modelin qiymətilə hesablanır. - Hər cavab token saylarını
usage-də bildirir. Keys & usage səhifəsi balansı və hər sorğunun nəyə başa gəldiyini göstərir. - Hər sorğuya bərabər xidmət göstərilir. Sorğu sürətinə yeganə limit flood protection-dır: hesab başına dəqiqədə 120 sorğu. Paralel göndərilən sorğular növbədə gözləyir.
Limitlər və balans Modellər və qiymətlər Keys & usage
Modeldən asılı olan sahələr
Hər model eyni sorğunu qəbul edir. Bəzi sahələr yalnız bəzi modellərdə təsir göstərir; cədvəl harada olduğunu göstərir. Endpoint səhifələri hər sahəni sadalayır.
| Sahə | Təsvir | Tətbiq edən |
|---|---|---|
system | Model üçün təlimatlar: Chat Completions-da system mesajı, Messages-də system, Responses-da instructions. | Host edilən açıq çəkili modellər, shannon-1.6-*, shannon-2-*, shannon-coder-1 |
temperature | Sampling temperature. | Host edilən açıq çəkili modellər, shannon-1.6-*, shannon-coder-1 |
top_p | Nucleus sampling. | Host edilən açıq çəkili modellər |
seed | Sampling üçün sabit seed. | Host edilən açıq çəkili modellər |
stop | 4-ə qədər dayanma ardıcıllığı. | Host edilən açıq çəkili modellər |
reasoning_effort | Modelin cavab verməzdən əvvəl nə qədər reasoning etməsi. Responses-da reasoning.effort, Messages-də thinking. | Host edilən açıq çəkili modellər |
web_search | true modelə bu sorğu üçün vebdə axtarış etməyə icazə verir. Bu API-nin sahəsidir, Chat Completions və Messages-də. | shannon-coder-1 istisna olmaqla Shannon modelləri |
max_tokens | Output büdcəsi. Hər modeldə balansınızdan rezerv edilən miqdarı təyin edir. | Cavabın uzunluğuna limit kimi: host edilən açıq çəkili modellər, shannon-1.6-*, shannon-coder-1 |
OpenAI SDK-dan gələnlər üçün
- Əsas URL-i
https://api.shannon-ai.com/v1kimi, açarı isə Shannon açarınız kimi təyin edin. Onda Chat Completions və Responses çağırışları SDK ilə olduğu kimi işləyir. modelShannon id-si olmalıdır.gpt-4okimi başqa provayderin model adı400vəunknown modelilə cavablandırılır.- Reasoning ayrıca sahədə gəlir: mesajda və axın delta-larında
content-in yanındareasoning_content. - Axın
usage-i həmişə son chunk-da,finish_reasonilə birlikdə daşıyır. - Axında alət çağırışı tam
argumentssətri olan bir chunk kimi gəlir. - Cavabda bir choice olur.
- OpenAI API-nin yuxarıdakı cədvəldə olmayan yolları, məsələn
/v1/embeddings,404ilə cavablandırılır.
Anthropic SDK-dan gələnlər üçün
- Əsas URL-i
https://api.shannon-ai.comkimi,/v1olmadan, açarı isə Shannon açarınız kimi təyin edin. SDK onux-api-keykimi göndərir. modelShannon id-si olmalıdır.- Bu API-də
max_tokensixtiyaridir. Standart dəyəri 4,096-dır. - Cavab
thinking,textvətool_usetipli məzmun blokları saxlayır. İlk blok həmişə mətn deyil: bloklarıtype-a görə seçin. stop_reasonend_turnvə yatool_use-dur. Shannon modelinin axınımax_tokensilə də bitə bilər.anthropic-versionvəanthropic-betaqəbul edilir, ona görə SDK dəyişmədən işləyir. Sorğuya onlar lazım deyil./v1/messages-də xətalar Anthropic formasındadır:{"type": "error", "error": {…}}.
Bu formatlarla işləyən kodlaşdırma alətləri eyni qaydada qurulur: əsas URL, açar və model kimi Shannon id-si. CLI kodlaşdırma alətləri