Обзор
API картасы: ар бир endpoint, сурам менен ката кандай көрүнөт, чалуулар кантип төлөнөт жана OpenAI же Anthropic SDK'сынан келгенде эмнени билүү керек.
Endpoint'тер
Ар бир endpoint бир негизги URL астында жана HTTPS аркылуу тейленет.
https://api.shannon-ai.com | Эндпоинт | Формат | Эмне үчүн |
|---|---|---|
POST /v1/chat/completions | OpenAI Chat Completions | Сүйлөшүүнү жөнөтүп, кийинки жоопту алыңыз. Стримингсиз же стриминг менен. |
POST /v1/messages | Anthropic Messages | Ошол эле, Anthropic SDK'ларынын сурам жана жооп формаларында. |
POST /v1/responses | OpenAI Responses | Ошол эле, Responses формаларында. Endpoint абалды сактабайт: ар бир сурам менен сүйлөшүүнү жөнөтүңүз. |
GET /v1/models | OpenAI модель тизмеси | Моделдерди контекст терезеси, баалар жана мүмкүнчүлүктөр менен тизмелеңиз. Ачкыч талап кылбайт. |
POST /v1/tokenize | Shannon API | Хостингдеги ачык салмактуу модель үчүн текстти же чат сурамын токен менен санаңыз. Акысыз. |
POST /v1/messages/count_tokens | Anthropic токен саноо | Хостингдеги ачык салмактуу модель үчүн Messages сурамынын кириш токендерин санаңыз. Акысыз. |
Текст чыгарган үч endpoint бир эле моделдерге жетет. Кодуңуз буга чейин колдонгон форматтагысын тандаңыз.
Сурамдын негиздери
| Баш | Сүрөттөмө |
|---|---|
Authorization: Bearer <key> | API ачкычыңыз. GET /v1/models кошпогондо ар бир endpoint'те талап кылынат, эгер x-api-key жөнөтпөсөңүз. |
x-api-key: <key> | Anthropic SDK'лары жөнөткөн башта ошол эле ачкыч. Ар бир endpoint'те окулат. |
Content-Type: application/json | Ар бир POST үчүн талап кылынат. Ансыз жооп 415. |
x-request-id: <your id> | Милдеттүү эмес. Сурамдын өз id'ңиз; ал жооптун x-request-id башында кайтат. Ансыз API 12 он алтылык белгиден турган id түзөт. |
- Ар бир
POSTденеси 32 MiB'ге чейинки бир JSON объекти. - API билбеген талаа ката чыгарбайт жана эч таасир этпейт. Башка провайдер үчүн жазылган сурам ашыкча талаа үчүн ишке ашпай калбайт.
- JSON түрү туура эмес белгилүү талаа же милдеттүү талаа жоктугу
422менен жооп алат. Жарактуу JSON эмес дене400менен жооп алат. model— Models & pricing бетиндеги id'лердин бири. Чоң жана кичине тамга маанилүү эмес.
Жооп — JSON, же сурам stream'ди true койгондо server-sent events стриму. Ар бир endpoint өз форматында жооп берет. Ар бир жоопто x-request-id башы бар.
Сурам эмнеден өтөт
Модель иштегенге чейин сурам бекитилген тартипте текшерилет. Ишке ашпаган биринчи текшерүү жооп берет, ошондуктан 401 дене жөнүндө азырынча эч нерсе айтпайт.
| Текшерилет, ушул тартипте | Ишке ашпаганда статус |
|---|---|
| API ачкыч | 401 |
| Дене: өлчөмү, мазмун түрү, JSON, талаа түрлөрү | 413 · 415 · 400 · 422 |
| Модель id | 400 |
| Flood protection: аккаунтка мүнөтүнө 120 сурам | 429 |
| Баланс: сурамдын чыгыш бюджети батышы керек | 429 |
Катанын формасы
Ката — type жана message камтыган error бар JSON объекти. /v1/messages аны Anthropic SDK'лары күткөндөй ороп берет; башка ар бир жол OpenAI формасын колдонот.
{
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} {
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} typeжанаmessageокуңуз.codeжанаparamкээ бир каталарда гана бар: аларды милдеттүү эмес деп эсептеңиз.paramар дайымnull.- Стрим башталгандан кийин статус буга чейин эле
200. Ошондо ката стримдин ичинде ката фрейми катары келет. - Ар бир ката жообу
x-request-idбашын алып жүрөт.
| Статус | Түрү | Качан |
|---|---|---|
400 | invalid_request_error | Дене жарактуу JSON эмес, модель id белгисиз, же модель жөнөткөн киргизүү түрүн кабыл албайт. |
401 | authentication_error | Ачкыч жок же жараксыз. |
404 | not_found_error | Жол жок. |
405 | api_error | Жол бар, метод туура эмес. |
413 | invalid_request_error | Дене 32 MiB'ден чоң. |
415 | invalid_request_error | Content-Type application/json эмес. |
422 | invalid_request_error | Талаанын JSON түрү туура эмес же милдеттүү талаа жок. |
429 | rate_limit_error | Баланс сурамды жаппайт, бир мүнөттө 120дан ашык сурам келди, терезенин Shannon Coder чалуулары түгөндү, же модель бош эмес. Билдирүү кайсынысы экенин айтат. |
5xx | api_error | 500, 502, 503 же 504 статусу: сурам жарактуу болгон, бирок жооп берүү мүмкүн болгон жок. Кайра жөнөтүңүз. 500 server_error түрүн алып жүрүшү мүмкүн. |
Эсептөө жана баланс
- Аккаунтка бир баланс, жана чат менен API аны бөлүшөт: адегенде бүгүнкү план үлүшү, андан кийин сатып алынган кредит. API'нын өз квотасы жок.
- Сурам өзүнүн чыгыш бюджетин (
max_tokens, стандарттуу 4,096) резервдейт, андан кийин чындыгында колдонулган токендер үчүн модельдин баасы боюнча эсептелет. - Ар бир жооп токен сандарын
usageичинде билдирет. Keys & usage бети балансты жана ар бир сурам канчага турганын көрсөтөт. - Ар бир сурам бирдей тейленет. Сурам ылдамдыгына жалгыз чек — flood protection: аккаунтка мүнөтүнө 120 сурам. Параллель жөнөтүлгөн сурамдар кезекте турат.
Чектөөлөр жана баланс Моделдер жана баалар Ачкычтар жана колдонуу
Моделге көз каранды талаалар
Ар бир модель бир эле сурамды кабыл алат. Бир нече талаа кээ бир моделдерде гана иштейт; таблица кайсыларда экенин атайт. Endpoint беттери ар бир талааны тизмелейт.
| Талаа | Сүрөттөмө | Колдонгон |
|---|---|---|
system | Модель үчүн нускамалар: Chat Completions боюнча system билдирүүсү, Messages боюнча system, Responses боюнча instructions. | Хостингдеги ачык салмактуу моделдер, shannon-1.6-*, shannon-2-*, shannon-coder-1 |
temperature | Үлгү алуу температурасы. | Хостингдеги ачык салмактуу моделдер, shannon-1.6-*, shannon-coder-1 |
top_p | Nucleus sampling. | Хостингдеги ачык салмактуу моделдер |
seed | Үлгү алуу үчүн туруктуу seed. | Хостингдеги ачык салмактуу моделдер |
stop | 4кө чейин токтотуу ырааттуулугу. | Хостингдеги ачык салмактуу моделдер |
reasoning_effort | Модель жооп бергенге чейин канчалык reasoning жүргүзөт. Responses боюнча reasoning.effort, Messages боюнча thinking. | Хостингдеги ачык салмактуу моделдер |
web_search | true модельге бул сурам үчүн вебден издөөгө уруксат берет. Бул API'нин талаасы, Chat Completions жана Messages боюнча. | shannon-coder-1 кошпогондо Shannon моделдери |
max_tokens | Чыгыш бюджети. Ар бир модельде ал балансыңыздан резервделген сумманы белгилейт. | Жооптун узундугунун чеги катары: хостингдеги ачык салмактуу моделдер, shannon-1.6-*, shannon-coder-1 |
OpenAI SDK'сынан келгенде
- Негизги URL'ди
https://api.shannon-ai.com/v1кылып, ал эми ачкычты Shannon ачкычыңыз кылып коюңуз. Ошондо Chat Completions жана Responses чалуулары SDK менен өзгөрүүсүз иштейт. modelShannon id болушу керек.gpt-4oсыяктуу башка провайдердин модель аты400жанаunknown modelменен жооп алат.- Reasoning өзүнчө талаада келет: билдирүүдө жана стрим дельталарында
contentжанындаreasoning_content. - Стрим акыркы чанкында ар дайым
usage'тиfinish_reasonменен бирге алып келет. - Стримдеги курал чалуусу
argumentsсапты толук камтыган бир чанк катары келет. - Жоопто бир тандоо бар.
- Жогорудагы таблицада жок OpenAI API жолдору, мисалы
/v1/embeddings,404менен жооп алат.
Anthropic SDK'сынан келгенде
- Негизги URL'ди
https://api.shannon-ai.comкылып,/v1жок, ал эми ачкычты Shannon ачкычыңыз кылып коюңуз. SDK аныx-api-keyкатары жөнөтөт. modelShannon id болушу керек.- Бул API'да
max_tokensмилдеттүү эмес. Анын стандарттуу мааниси 4,096. - Жооп
thinking,textжанаtool_useтүрүндөгү мазмун блокторун камтыйт. Биринчи блок ар дайым текст боло бербейт: блоктордуtypeбоюнча тандаңыз. stop_reason—end_turnжеtool_use. Shannon моделинин стримуmax_tokensменен да аяктай алат.anthropic-versionжанаanthropic-betaкабыл алынат, ошондуктан SDK өзгөрүүсүз иштейт. Сурамга алар керек эмес./v1/messagesбоюнча каталар Anthropic формасында:{"type": "error", "error": {…}}.
Бул форматтарда сүйлөгөн коддоо куралдары ошондой эле орнотулат: негизги URL, ачкыч жана модель катары Shannon id. Код жазуу үчүн CLI куралдары