API reference

Документация без лишнего слоя

Протокол совместим с OpenAI Chat Completions. Эта страница описывает именно то, что принимает и возвращает Lumina.

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

Создайте ключ в кабинете и передайте его как Bearer-токен. Для начала достаточно заменить базовый адрес в уже существующем OpenAI-клиенте.

from openai import OpenAI

client = OpenAI(
    base_url="https://lumina-ai.work/v1",
    api_key="lum-ВАШ_КЛЮЧ",
)

r = client.chat.completions.create(
    model="claude-sonnet-5",
    messages=[{"role": "user", "content": "Привет!"}],
)

Запрос

Метод POST /v1/chat/completions принимает JSON-тело в формате OpenAI. Обязательны model и непустой массив messages.

ПолеТипОписание
modelstringИдентификатор из каталога моделей.
messagesarrayСообщения с ролями system, user, assistant.
max_tokensintegerМаксимальный размер ответа. По умолчанию 4 096, максимум 128 000.
temperaturenumberПередаётся upstream-модели, если поддерживается.
streambooleanВернуть ответ как server-sent events.

Стриминг

Установите stream: true. Ответ приходит как поток SSE, каждая строка содержит JSON-объект в формате OpenAI, завершается маркером [DONE].

event stream
data: {"id":"chatcmpl_...","choices":[{"delta":{"content":"Текст"}}]}
data: [DONE]

Модели

Список можно получить запросом GET /v1/models. Доступ к PRO-моделям появляется после пополнения баланса.

МодельКонтекстFREE
claude-opus-51Mнет
claude-sonnet-51Mнет
claude-fable-51Mнет
claude-haiku-4-5200Kда
kimi-k3256Kда

Лимиты и биллинг

FREE даёт 5 запросов в минуту и 20 в сутки. PRO даёт 50 запросов в минуту без дневного лимита. На PRO токены списываются с баланса по ставкам из таблицы цен.

Перед запросом резервируется оценка стоимости, после ответа она пересчитывается по фактическому usage. При ошибке резерв возвращается.

Коды ошибок

КодТипПричина
200Запрос выполнен.
400invalid_request_errorНекорректное тело или отсутствует обязательное поле.
401unauthorizedНеверный, отозванный или отсутствующий ключ.
403model_access_errorМодель недоступна на вашем тарифе.
429rate_limit_errorПревышен лимит запросов в минуту.
429daily_limit_errorИсчерпан дневной лимит FREE.
402insufficient_balanceНа балансе недостаточно средств для резерва. Пополните баланс.
413request_too_largeТело запроса превышает 16 MB.
502upstream_errorИсточник вернул некорректный ответ. Повторите запрос.
503upstream_unavailableИсточник модели временно недоступен. Используйте повтор с backoff.