Документация
API совместим с форматом OpenAI Chat Completions. Запросы отправляются напрямую в API, магазин их не проксирует.
Быстрый старт
- Зарегистрируйтесь, пополните баланс и создайте API-ключ в кабинете.
- Используйте базовый адрес
{API_BASE_URL}. - Отправляйте запросы с заголовком
Authorization: Bearer sk-….
Аутентификация
Во всех запросах передавайте заголовок:
Authorization: Bearer sk-...
Полный ключ создаётся в кабинете. Храните его в секрете: по ключу списывается квота вашего аккаунта. Если ключ скомпрометирован, удалите его в кабинете и создайте новый.
Эндпоинты
POST /chat/completions
Основной эндпоинт. В теле запроса передаются model, messages и другие параметры формата OpenAI. Потоковый режим включается полем stream: true.
GET /models
Возвращает список доступных моделей. Актуальный каталог с ценами также показан на главной странице.
Примеры
curl
curl {API_BASE_URL}/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-..." \
-d '{
"model": "{MODEL_ID}",
"messages": [{"role": "user", "content": "Привет!"}]
}'
Python (requests)
import requests
resp = requests.post(
"{API_BASE_URL}/chat/completions",
headers={"Authorization": "Bearer sk-..."},
json={
"model": "{MODEL_ID}",
"messages": [{"role": "user", "content": "Привет!"}],
},
)
print(resp.json())
Node.js (fetch)
const resp = await fetch("{API_BASE_URL}/chat/completions", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer sk-...",
},
body: JSON.stringify({
model: "{MODEL_ID}",
messages: [{ role: "user", content: "Привет!" }],
}),
});
const data = await resp.json();
Python (openai SDK)
from openai import OpenAI
client = OpenAI(
api_key="sk-...",
base_url="{API_BASE_URL}",
)
resp = client.chat.completions.create(
model="{MODEL_ID}",
messages=[{"role": "user", "content": "Привет!"}],
)
print(resp.choices[0].message.content)
Ошибки
| Код | Причина | Что делать |
|---|---|---|
| 400 | Неверный запрос: ошибка в формате JSON или параметрах | Проверьте тело запроса, имя модели и формат сообщений |
| 401 | Ключ не принят: ключ неверный, удалён, отключён или его квота исчерпана | Проверьте ключ в кабинете, создайте новый или пополните существующий |
| 403 | Доступ запрещён: аккаунт заблокирован или действие недоступно | Обратитесь в поддержку в Telegram |
| 429 | Слишком много запросов | Уменьшите частоту запросов и повторите позже |
| 500 | Внутренняя ошибка сервера | Повторите запрос позже |
| 503 | Сервис временно недоступен | Повторите запрос позже |