Один ключ на все модели
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/messages | Anthropic Messages — для Claude Code и его SDK |
GET /v1/account | Тариф, баланс, удержания |
GET /v1 и GET /v1/openapi.json. Каталог моделей требует ключа — цены зависят от вашего тарифа.Ключ и заголовки#
Ключ создаётся в настройках аккаунта и показывается один раз — при закрытии окна его уже не посмотреть, только выпустить новый. Передавать можно любым из двух способов:
Authorization: Bearer nira_live_… x-api-key: nira_live_…
Первый вариант ждут OpenAI-клиенты, второй — Anthropic. Шлюз принимает оба на любом методе, поэтому подставлять «правильный» под клиент не нужно.
Первый запрос#
Проверка занимает одну команду. Идентификатор модели — поле id из каталога, а не человеческое имя из интерфейса.
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доходит по событию, а не пачкой в конце.