Для разработчиков

OpenAI-compatible API в России

Сохраните привычный формат SDK и меняйте модели через единый gateway NormaHub: без VPN, с рублёвым балансом и прозрачным usage.

Для кого: backend-разработчики, AI-функции продуктов и небольшие команды

Создать API key

Быстрый старт

От ключа до первого ответа

  1. 01

    Создайте API key и задайте spend limit.

  2. 02

    Получите MODEL_ID из каталога.

  3. 03

    Отправьте короткий запрос и сохраните X-Request-Id.

Рабочий шаблон

Скопируйте основу и замените модель

Используйте только идентификатор из актуального каталога. Ключ храните в переменной окружения.

Python · OpenAI SDK
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["NORMAHUB_API_KEY"],
    base_url="https://api.normahub.cc/v1",
)

response = client.chat.completions.create(
    model="MODEL_ID",
    messages=[{"role": "user", "content": "Привет"}],
)
print(response.choices[0].message.content)
Единый base URL для OpenAI-compatible клиентов.
Раздельные цены входных и выходных токенов.
История usage и итоговой стоимости в личном кабинете.

Детали решения

Как это устроено

Переезд с прямого OpenAI за три строки

Меняются base_url на https://api.normahub.cc/v1, ключ на ключ NormaHub и model на ID из актуального каталога. Формат запросов, SDK, streaming и tools остаются привычными: переписывать интеграцию не нужно. Начните с короткого запроса без большого контекста и зафиксируйте статус, фактическую модель и X-Request-Id — это acceptance-тест переезда.

Почему единый gateway дешевле разрозненных кабинетов

Каждый прямой провайдер — это отдельный аккаунт, валюта, способ оплаты и биллинг. Здесь один баланс покрывает GPT, Claude и остальные модели каталога, а финальная сумма каждого запроса сохраняется в истории с usage. Для команды это означает один счёт вместо пяти и общий контроль расходов через лимиты ключей.

Маршруты под разные клиенты

Один base_url обслуживает Chat Completions, Responses API и Anthropic-совместимый /v1/messages. Маршрут выбирайте по формату клиента, а не по названию модели, и проверяйте capabilities модели до переключения: tools, streaming и структура ответа различаются. Детали — в документации API и гайде OpenAI SDK.

Безопасность ключа и лимиты

Ключ живёт в переменных окружения сервера, а не в коде, браузере и логах. На каждый ключ задаётся spend limit: тестовый, продуктовый и агентский ключи тратят из общего баланса, но останавливаются на своих порогах. Скомпрометированный ключ отзывается в кабинете одной кнопкой, после чего выпускается новый — интеграция меняется в одном месте.

Оплата и контроль расходов

Запросы оплачиваются с предварительно пополненного баланса по актуальным ставкам выбранной модели. Минимум и комиссия показываются перед оплатой в кабинете; лимит расходов задаётся для API-ключа.

Ограничения доступности

Возможности зависят от модели и внешнего маршрута. При недоступности provider запрос может завершиться ошибкой; проверяйте каталог, статус и документацию перед production.

Частые вопросы

Что менять в коде при переходе с api.openai.com?

Три значения: base_url, api_key и model. Остальная интеграция — SDK, обработка ответов, streaming — остаётся без изменений.

Нужен ли VPN для запросов из России?

Нет. Запросы идут на api.normahub.cc напрямую, оплата — с рублёвого баланса личного кабинета.

Как понять, сколько стоил запрос?

Финальная сумма с usage сохраняется в истории личного кабинета. Формула расчёта — в гайде по стоимости токенов.

Что делать при 401 или 402?

401 — проверьте ключ (неверен или отозван), 402 — пополните баланс или поднимите spend limit ключа. Повторять эти ошибки бессмысленно, сначала исправьте причину.

Где смотреть актуальные модели и цены?

В каталоге моделей: ID, контекст, возможности и ставки входа/выхода. Точный ID для кода берите оттуда же или ответом /v1/models.