Справочник API
Эндпоинты ZetaAPI, аутентификация, совместимые форматы, коды ошибок и лимиты. Сквозная поддержка форматов OpenAI и Anthropic — без изменения SDK.
Обновлено 2026-04-17
Base URL
https://api.staging.cosmos-router.com
- Эндпоинты, совместимые с OpenAI, — под
/v1/* - Эндпоинт, совместимый с Anthropic, —
/v1/messages - Оба формата используют один и тот же API-ключ
Аутентификация
Каждый запрос должен содержать Authorization: Bearer sk-xxxxx:
curl https://api.staging.cosmos-router.com/v1/chat/completions \
-H "Authorization: Bearer sk-xxxxx" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "hi"}]}'
Формат Anthropic также принимает x-api-key (как у официального API):
curl https://api.staging.cosmos-router.com/v1/messages \
-H "x-api-key: sk-xxxxx" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"model": "claude-sonnet-4-6", "max_tokens": 1024, "messages": [{"role": "user", "content": "hi"}]}'
Обзор эндпоинтов
| Эндпоинт | Протокол | Примечания |
|---|---|---|
POST /v1/chat/completions | OpenAI | Дополнение чата, поддержка SSE-стрима |
POST /v1/completions | OpenAI | Классическое дополнение текста (старые модели) |
POST /v1/embeddings | OpenAI | Векторные эмбеддинги |
POST /v1/messages | Anthropic | Нативный формат Claude, поддержка prompt cache |
GET /v1/models | OpenAI | Список моделей, доступных аккаунту |
Поддерживаемые семейства моделей
- Claude:
claude-opus-4-8,claude-opus-4-7,claude-sonnet-4-6 - GPT:
gpt-5.5,gpt-5.3-chat,gpt-5.3-codex,gpt-5.2-codex,gpt-4o,o3,o4-mini - Gemini:
gemini-3-pro-preview,gemini-2.5-pro,gemini-3-flash-preview,gemini-flash-latest - DeepSeek / Qwen / Kimi / MiniMax и другие открытые и китайские модели
Модели и цены обновляются с каждым деплоем; списки выше — лишь примеры. Полный список моделей и актуальные коэффициенты цен см. на странице цен — она является источником истины.
Потоковые ответы (SSE)
Установите в запросе "stream": true:
stream = client.chat.completions.create(
model="claude-sonnet-4-6",
messages=[{"role": "user", "content": "Напиши быструю сортировку на Python"}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="", flush=True)
SSE возвращает формат data: {...}\n\n и завершается data: [DONE] — полностью как в официальных API OpenAI / Anthropic.
Prompt Cache
Модели OpenAI
Кэшируются автоматически, без дополнительных параметров. Повторяющиеся префиксы тарифицируются по ставке попадания в кэш (50% от цены ввода или ниже, в зависимости от модели).
Claude (формат Anthropic)
Отметьте явно на блоке system или messages:
{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"system": [
{
"type": "text",
"text": "Длинный системный промпт...",
"cache_control": { "type": "ephemeral" }
}
],
"messages": [...]
}
Ставка попадания в кэш — 10% от цены ввода, как у официального API. См. замер стоимости Prompt Cache.
Коды ошибок
| HTTP | Code | Значение | Рекомендация |
|---|---|---|---|
| 400 | invalid_request_error | Неверные параметры (нет поля, неверный формат, имя модели) | Проверьте тело запроса |
| 401 | authentication_error | Ключ недействителен или отозван | Создайте новый ключ |
| 402 | insufficient_quota | Недостаточно средств | Пополните в консоли |
| 403 | permission_error | Ключ не имеет доступа к этой модели | Проверьте права ключа |
| 404 | not_found_error | Опечатка в имени модели | См. /v1/models |
| 429 | rate_limit_error | Сработал лимит | Повтор с экспоненциальной задержкой |
| 500 | internal_error | Внутренняя ошибка платформы | Учитывается в статистике сбоев; компенсация — по заявке согласно опубликованным правилам |
| 502 / 503 | upstream_error | Сбой вышестоящего, идёт переключение каналов | Клиент может повторить сразу |
| 504 | timeout_error | Таймаут вышестоящего | Клиент может повторить сразу |
Тело ошибки совпадает с форматом OpenAI:
{
"error": {
"type": "invalid_request_error",
"message": "model 'gpt-4-vision' not found",
"code": null
}
}
Лимиты
- По умолчанию: 600 RPM / 300k TPM (на ключ, не на аккаунт)
- Корпоративные и активные пользователи могут запросить повышение лимита в консоли
- При превышении возвращается
429+ заголовокRetry-After(в секундах)
Автоматическое переключение
Когда доступность вышестоящего канала аномально падает, платформа автоматически перенаправляет трафик на резервный канал — в подавляющем большинстве случаев прозрачно для клиента.
Компенсация SLA рассчитывается по календарному месяцу + группе SKU; сейчас выплата оформляется по заявке (ручной расчёт); как подать заявку и уровни: Заявка на компенсацию (архитектура: Правила компенсации как продукт).
Поддержка SDK
- Python: официальные SDK
openaiиanthropicработают напрямую — достаточно сменитьbase_url - Node.js:
openai/@anthropic-ai/sdk, аналогично - Go / Rust / Java: любая совместимая с OpenAI библиотека с настраиваемым base URL
Дополнительно
- Детали тарификации → тарификация
- Частые вопросы → FAQ
- Изменения платформы → Changelog