Документация · API-шлюз

Один ключ на все модели

Nira говорит на двух протоколах сразу: OpenAI Chat Completions и Anthropic Messages. Любой клиент, который умеет один из них, работает без правок кода — меняется только адрес и ключ. Внутри — модели Anthropic, OpenAI, Google, DeepSeek и других, оплата по факту из общего баланса.

База · OpenAI

https://nirastudio.org/v1

Cursor, Continue, Cline, Aider, SDK openai

База · Anthropic

https://nirastudio.org

Claude Code сам дописывает /v1/messages

Ключ

nira_live_…

Создаётся в аккаунте, тариф «Про»

Схема

/v1/openapi.json

Без ключа, для генераторов

Что это такое#

Шлюз стоит между вашим клиентом и провайдерами моделей. Вы держите один ключ и один адрес, а какой моделью отвечать — решает поле model в запросе. Переключение с Claude на Gemini — это правка одной строки, а не новый аккаунт, новый ключ и новая библиотека.

Совместимость честная: тело запроса и форма ответа те же, что у первоисточника, включая стрим, вызов инструментов и картинки во входе. Если библиотека работает с OpenAI, она работает и здесь.

Методы#

Полный список отдаёт сам шлюз: GET /v1 открывается без ключа и возвращает адреса всех методов — удобно, когда клиент умеет обнаружение.

МетодЗачем
GET /v1Обнаружение: адреса методов и ссылка на эту документацию
GET /v1/openapi.jsonМашинная схема OpenAPI 3.1. Без ключа
GET /v1/modelsКаталог чат-моделей: id, контекст, цена за токен
GET /v1/models/{id}Одна модель. Слэш в идентификаторе допустим
POST /v1/chat/completionsОсновной метод: стрим, инструменты, картинки, рассуждение
POST /v1/messagesAnthropic Messages — для Claude Code и его SDK
GET /v1/accountТариф, баланс, удержания
Без ключа открыты только GET /v1 и GET /v1/openapi.json. Каталог моделей требует ключа — цены зависят от вашего тарифа.

Ключ и заголовки#

Ключ создаётся в настройках аккаунта и показывается один раз — при закрытии окна его уже не посмотреть, только выпустить новый. Передавать можно любым из двух способов:

http
Authorization: Bearer nira_live_…
x-api-key: nira_live_…

Первый вариант ждут OpenAI-клиенты, второй — Anthropic. Шлюз принимает оба на любом методе, поэтому подставлять «правильный» под клиент не нужно.

Первый запрос#

Проверка занимает одну команду. Идентификатор модели — поле id из каталога, а не человеческое имя из интерфейса.

bash
curl https://nirastudio.org/v1/chat/completions \
  -H "Authorization: Bearer $NIRA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-4.6",
    "messages": [{ "role": "user", "content": "Скажи «работает»" }]
  }'

Дальше — быстрый старт с ответом целиком и стримом, либо сразу настройка вашего клиента.

О чём стоит знать заранее#

  • Доступ к API даёт тариф «Про». Без него ключ вернёт 403 с кодом PLAN.
  • Списание — по факту, из общего баланса кредитов. Цена берётся из отчёта провайдера о запросе, а не из прикидки по длине текста.
  • Тело запроса — до 32 МБ: агент может прислать весь контекст проекта, не разбивая его.
  • CORS открыт, стрим идёт без буферизации на прокси — SSE доходит по событию, а не пачкой в конце.