API документация
Инструкция по использованию API прокси Cognify Router для выполнения запросов к моделям OpenRouter.
Аутентификация
Все запросы к API выполняются с помощью ключа, который вы создаёте в личном кабинете на вкладке «API-ключи». Ключ имеет формат sk-cr-… и передаётся в заголовке Authorization как Bearer-токен.
Authorization: Bearer sk-cr-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxChat Completions
Эндпоинт совместим с OpenAI / OpenRouter Chat Completions. Отправьте массив сообщений и получите ответ модели.
/api/v1/chat/completionscurl -X POST https://router.cognify-labs.ru/api/v1/chat/completions \
-H "Authorization: Bearer sk-cr-..." \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-4o-mini",
"messages": [
{"role": "system", "content": "Ты полезный ассистент."},
{"role": "user", "content": "Объясни квантовую запутанность простыми словами"}
],
"temperature": 0.7
}'Пример ответа
{
"id": "chatcmpl-abc123",
"model": "openai/gpt-4o-mini",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Квантовая запутанность — это явление..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 25,
"completion_tokens": 150,
"total_tokens": 175
}
}Стриминг
Для потоковых ответов передайте "stream": true. Ответ приходит как SSE-поток (Server-Sent Events), завершающийся data: [DONE].
/api/v1/chat/completionscurl -N -X POST https://router.cognify-labs.ru/api/v1/chat/completions \
-H "Authorization: Bearer sk-cr-..." \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-4o-mini",
"messages": [{"role": "user", "content": "Напиши сказку про кота"}],
"stream": true
}'Формат SSE-потока
data: {"choices":[{"delta":{"content":"Ж"}, "index":0}]}
data: {"choices":[{"delta":{"content":"ил"}, "index":0}]}
data: {"choices":[{"delta":{"content":"-был"}, "index":0}]}
data: {"choices":[{"delta":{}, "index":0}], "finish_reason":"stop"}
data: [DONE]Генерация изображений
Генерация изображений через POST /api/v1/images. Поддерживается стриминг частичных результатов.
/api/v1/imagescurl -X POST https://router.cognify-labs.ru/api/v1/images \
-H "Authorization: Bearer sk-cr-..." \
-H "Content-Type: application/json" \
-d '{
"model": "google/gemini-2.5-flash-image",
"prompt": "Космический кот в стиле киберпанк",
"stream": true
}'Генерация видео
Генерация видео — асинхронный процесс. Создайте задачку, опрашивайте статус и скачайте результат.
1. Создание задачи
/api/v1/videoscurl -X POST https://router.cognify-labs.ru/api/v1/videos \
-H "Authorization: Bearer sk-cr-..." \
-H "Content-Type: application/json" \
-d '{
"model": "google/veo-3",
"prompt": "Закат над океаном, slow motion"
}'Пример ответа
{
"id": "vid_abc123",
"status": "processing",
"polling_url": "/api/v1/videos/vid_abc123"
}2. Проверка статуса
/api/v1/videos/{job_id}curl https://router.cognify-labs.ru/api/v1/videos/vid_abc123 \
-H "Authorization: Bearer sk-cr-..."Пример ответа
{
"id": "vid_abc123",
"status": "completed",
"unsigned_urls": ["/api/v1/videos/vid_abc123/content?index=0"]
}3. Скачивание видео
/api/v1/videos/{job_id}/contentcurl https://router.cognify-labs.ru/api/v1/videos/vid_abc123/content?index=0 \
-H "Authorization: Bearer sk-cr-..." \
-o video.mp4Список моделей
Список доступных моделей с ценами в рублях доступен по адресу /api/models (без авторизации) или на странице «Цены».
/api/modelscurl https://router.cognify-labs.ru/api/modelsПример ответа
{
"models": [
{
"id": "openai/gpt-4o-mini",
"context_length": 128000,
"pricing": {
"prompt": "0.15 RUB",
"completion": "0.60 RUB"
}
}
]
}Обработка ошибок
Ошибки возвращаются с соответствующим HTTP-статусом. Тела ошибок санитизированы: URL OpenRouter, идентификаторы и внутренние метаданные не передаются. 402 означает, что нужно пополнить баланс.
| Код | Значение |
|---|---|
| 200 | Успешный ответ |
| 401 | Неверный или просроченный ключ |
| 402 | Недостаточно средств — пополните баланс |
| 403 | Аккаунт заблокирован или IP не в списке |
| 429 | Превышен лимит ключа |
| 502 | Upstream-провайдер недоступен |
| 503 | Сервис временно недоступен |