Разделы документации
Обзор API LibraChat
Программный доступ к моделям LibraChat: формат OpenAI Chat Completions, ключи sk-libra- и предоплаченный баланс в токенах.
Что это
API LibraChat — программный доступ к моделям LibraChat из вашего кода. Вы отправляете запрос, получаете ответ модели: одно сообщение, диалог с историей или поток слов по мере генерации.
Формат запроса и ответа совпадает с OpenAI Chat Completions. Если у вас уже есть код на официальных библиотеках openai для Python или Node.js — достаточно поменять базовый адрес и ключ, остальное работать будет как раньше.
Из чего состоит
Три вещи, которые нужно понимать перед стартом.
Эндпоинты. Их два, оба требуют ключ:
Ключи. Начинаются с префикса sk-libra-, дальше около 43 символов. Создаются в кабинете: «Настройки → API». Сырое значение показывается один раз при создании — на сервере хранится только SHA-256-хеш, восстановить ключ нельзя. В интерфейсе видна укороченная форма вида sk-libra-ab12cd…
- До 10 активных ключей на аккаунт, одиннадцатый вернёт 409 too_many_keys
- Отзыв мгновенный
- По каждому ключу фиксируется дата последнего использования
- Передаётся заголовком: Authorization: Bearer sk-libra-…
Баланс. Предоплаченный, считается в токенах и общий на все ключи аккаунта. Перед запросом проверяется: если баланс ≤ 0, придёт 402 insufficient_balance. Списание происходит после ответа, по факту израсходованных токенов. Все движения видны в журнале операций: пополнение, расход, начисление, возврат.
С чего начать
Создайте ключ в кабинете, подставьте базовый адрес и сделайте первый запрос.
Что работает сегодня, а что готовится
Честный срез возможностей на текущий момент.
- Работает: текстовые ответы, диалоги с историей сообщений, потоковая передача (стриминг), список моделей, учёт расхода токенов
- Учитываются параметры: model, messages, temperature (по умолчанию 0.3), max_tokens (от 1 до 32000), stream
- Готовится: изображения, видео, голос, веб-поиск и другие инструменты, вызов функций, эмбеддинги, файлы и коллекции, пакетная и приоритетная обработка, JSON-режим, выбор режима рассуждений
Грабли, о которых лучше знать заранее
Самая частая причина «работает не так, как ожидал» — параметры, которые сервис принимает, но не применяет.
- Молча игнорируются: tools, tool_choice, top_p, n, stop, seed, response_format, presence_penalty, frequency_penalty, logprobs, user. Ошибки не будет — просто не подействует
- Картинки, переданные в messages частями (image_url), молча отбрасываются: vision не работает
- В стриминге у последнего фрагмента choices пустой, зато есть usage. В Python обязательна проверка if chunk.choices, иначе получите IndexError на последнем чанке
- stream_options {include_usage: true} сервис проставляет сам — передавать не нужно
- Поток закрывается строкой data: [DONE]
- В PowerShell кириллица в ответе может превратиться в мусор: ответы отдаются как application/json; charset=utf-8, поэтому читайте тело как UTF-8 явно, а не полагайтесь на кодировку консоли по умолчанию
Лимиты, ошибки и цены
Ограничения считаются на ключ: 120 запросов в минуту и 1 000 000 токенов в минуту, max_tokens до 32 000. При превышении — 429 rate_limited. Если хранилище лимитов временно недоступно, ограничения пропускаются.
| Код | Ошибка | Когда |
|---|---|---|
| 401 | no_api_key | заголовок Authorization не передан |
| 401 | invalid_api_key | ключ неверный или отозван |
| 402 | insufficient_balance | баланс аккаунта ≤ 0 |
| 409 | too_many_keys | уже 10 активных ключей |
| 429 | rate_limited | превышен лимит запросов или токенов |
| 502 | upstream_error | ошибка на стороне генерации |
Тексты ошибок приходят на русском.
| Модель | Вход, ₽ / 1 млн | Кеш, ₽ / 1 млн | Выход, ₽ / 1 млн |
|---|---|---|---|
| libra-fast | 337,50 | 54 | 675 |
| libra-pro | 450 | 72 | 900 |
Контекст — 1 млн токенов. Пополнение баланса — от 1 млн токенов, 450 ₽ за 1 млн.