API

Совместим с OpenAI Chat Completions. Любой код и инструмент, который умеет работать с OpenAI, работает и с нами: достаточно поменять адрес и ключ.

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

  1. Зарегистрируйтесь и пополните баланс.
  2. Создайте ключ в разделе API-ключи.
  3. Укажите адрес https://slovai.ru/v1.
bash
curl https://slovai.ru/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "openai/gpt-6-luna", "messages": [{"role": "user", "content": "Привет!"}]}'
python
from openai import OpenAI

client = OpenAI(base_url="https://slovai.ru/v1", api_key="sk-slovai-…")
r = client.chat.completions.create(
    model="openai/gpt-6-luna",
    messages=[{"role": "user", "content": "Привет!"}],
)
print(r.choices[0].message.content)
javascript
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://slovai.ru/v1", apiKey: process.env.API_KEY });
const r = await client.chat.completions.create({
  model: "anthropic/claude-sonnet-5",
  messages: [{ role: "user", content: "Привет!" }],
});
console.log(r.choices[0].message.content);

Авторизация

Ключ передаётся в заголовке Authorization: Bearer sk-slovai-…. Ключ показывается один раз при создании, мы храним только его отпечаток. У ключа можно задать месячный лимит в рублях. Утёкший ключ отзовите в кабинете: остальные продолжат работать.

Чат-комплишены

POST /v1/chat/completions принимает те же поля, что и OpenAI: model, messages, temperature, max_tokens, tools, response_format и другие. Дополнительные поля передаются модели без изменений. Если поставщик модели не отвечает, запрос автоматически уходит к резервному.

Стриминг

С "stream": true ответ приходит событиями text/event-stream, как у OpenAI. Последнее событие перед [DONE] всегда содержит usage с токенами и суммой. Если соединение оборвётся, спишется только то, что модель успела сгенерировать.

Стоимость запроса

В каждом ответе в usage есть поле cost_rub: сколько списано с баланса за этот запрос. Так можно считать расходы по пользователям своего продукта без отдельной аналитики.

json
"usage": {
  "prompt_tokens": 1240,
  "completion_tokens": 380,
  "total_tokens": 1620,
  "prompt_tokens_details": { "cached_tokens": 0 },
  "cost_rub": 1.8614
}

Если поставщик не сообщил количество токенов, мы считаем их по длине текста и добавляем "estimated": true. Заголовок x-request-id — номер запроса в детализации кабинета.

Список моделей

GET /v1/models отдаёт доступные модели с ценами в рублях за 1 млн токенов. Ключ не нужен.

json
{
  "id": "anthropic/claude-sonnet-5",
  "owned_by": "Anthropic",
  "context_length": 1000000,
  "pricing": { "currency": "RUB", "prompt_per_million": 362, "completion_per_million": 1810 },
  "data_in_russia": false
}

Данные только в России

Модели с "data_in_russia": true — YandexGPT, Alice AI и GigaChat — обрабатывают запросы только на серверах в России. Остальные модели передают текст запроса разработчику за рубеж. Чтобы запрос гарантированно не покинул Россию, добавьте параметр:

json
{
  "model": "yandex/yandexgpt-5.1-pro",
  "messages": [{ "role": "user", "content": "Привет!" }],
  "provider": { "country": "ru" }
}

Если выбранная модель работает за рубежом, запрос не уйдёт никуда и вернётся ошибка 403 data_residency. Для всей компании режим включается в кабинете, раздел «Команда»: тогда ограничение действует для чата и всех ключей без изменений в коде. Другие поля provider мы не передаём: поставщика выбирает шлюз.

Ошибки

400invalid_requestНеверный формат запроса. Текст ошибки подскажет поле.
401invalid_api_keyНет ключа, ключ неверный или отозван.
402insufficient_balanceЗакончились деньги на балансе.
403data_residencyМодель работает за рубежом, а запрос ограничен Россией.
404model_not_foundТакой модели нет. Проверьте id в GET /v1/models.
429key_limit_exceededИсчерпан месячный лимит ключа.
429rate_limitedБольше 10 запросов в секунду с одного ключа.
502upstream_unavailableВсе поставщики модели недоступны. Повторите позже или выберите другую модель.
json
{ "error": { "message": "Недостаточно средств на балансе…", "type": "insufficient_quota", "code": "insufficient_balance" } }

Готовые инструменты

Везде, где можно указать свой OpenAI-совместимый адрес: Cursor, Continue, n8n, Make, LangChain, LlamaIndex, Open WebUI, боты в Telegram. Укажите адрес https://slovai.ru/v1, свой ключ и id модели из списка.