РУСЛОПолучить ключ в кабинете

Quickstart: первый ответ за 5 минут и цена запроса в копейках — в том же ответе

Зачем эта страница: отправить первый запрос к модели и увидеть его цену в ₽ — с нуля, на русском, copy-paste.

Требуется: email для регистрации и пять минут. Карта не нужна: грант 300 ₽ активен с момента создания ключа. Ключ — одно значение ruslo-sk-… на оба формата.

Шаг 1 · 0:00–1:00 — ключ

  1. Зарегистрируйтесь: email, пароль, подтверждение письма.
  2. Кабинет → «API-ключи» → «Создать ключ». Имя: «main» или ваше правило имён.
  3. Скопируйте значение одним кликом. Ключ показывается один раз; префикс вида ruslo-sk-.

Получить ключ в кабинете

Заметка: «Не успели скопировать — отзовите ключ и создайте новый: отзыв мгновенный, статистика сохраняется.»

Ожидаемый результат: строка ключа в кабинете со статусом «активен», лимит по умолчанию RPM 60 / TPM 150 000.

Если ошибка:

  • письмо не приходит → проверьте спам и запросите повтор с формы входа
  • „аккаунт уже существует“ → войдите и создайте ключ в кабинете, повторная регистрация не нужна

Шаг 2 · 1:00–2:00 — окружение и SDK

Ключ живёт в переменной окружения, не в коде:

export RUSLO_API_KEY="ruslo-sk-…"
export RUSLO_BASE_URL="https://api.farvater.copul4.com/v1"

Dual-accept: переменные OPENAI_API_KEY и OPENAI_BASE_URL принимаются теми же маршрутами; если SDK читает только их — править ничего не нужно.

Установка SDK (выберите свой стек): pip install openai или npm i openai. Комментарии: «используем SDK OpenAI намеренно: нового формата для изучения нет.»

Если ошибка:

  • Windows PowerShell: $env:RUSLO_API_KEY="ruslo-sk-…"
  • в CI/CD кладите ключ в secrets вашей системы, не в файл workflow

Шаг 3 · 2:00–3:00 — первый запрос curl

curl https://api.farvater.copul4.com/v1/chat/completions \
  -H "Authorization: Bearer $RUSLO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mid-class-chat",
    "messages": [{"role": "user", "content": "Собери договор в 7 пунктов"}]
  }'

Ожидаемый вывод:

{
  "id": "chatcmpl-8f2…",
  "model": "mid-class-chat",
  "usage": {
    "prompt_tokens": 1500,
    "completion_tokens": 1000,
    "cost_rub": 0.42,
    "balance_rub": 299.58
  }
}

Цифры фрагмента: цена запроса 0.42 ₽, баланс после списания 299.58.

Чтение вывода: usage.cost_rub — цена запроса в ₽, usage.balance_rub — баланс после списания; заголовок ответа Ruslo-Usage-Path показывает маршрут. Та же цифра — в кабинете, «Статистика».

Подставить мой ключ

Если ошибка:

  • 401 invalid_api_key / authentication_error → ключ отозван или неверен → проверьте имя переменной и отсутствие пробелов в ключе
  • 402 payment_required / insufficient_balance → баланс ниже цены запроса или грант исчерпан → пополните от 500 ₽, автосписаний нет
  • 429 rate_limit_exceeded / rate_limit_error → достигнут лимит ключа → значения и снятие — в K3
  • 503 upstream_unavailable → вендор недоступен → повтор с backoff 1с → 2с → 4с не более трёх раз, запрос не тарифицируется
  • 400 model_not_found → возьмите идентификатор из каталога D2 как есть, без алиасов

Шаг 4 · 3:00–4:30 — то же на Python

import os
from openai import OpenAI

client = OpenAI(
    base_url=os.environ.get("RUSLO_BASE_URL", "https://api.farvater.copul4.com/v1"),
    api_key=os.environ["RUSLO_API_KEY"],
)

resp = client.chat.completions.create(
    model="mid-class-chat",
    messages=[{"role": "user", "content": "Собери договор в 7 пунктов"}],
)
print(resp.choices[0].message.content)
print(resp.usage)  # cost_rub=0.42 balance_rub=299.58

Ожидаемый вывод: текст ответа модели плюс строка usage с cost_rub=0.42. Стриминг включается параметром stream=True и работает как в SDK OpenAI.

Если ошибка:

  • 401 invalid_api_key / authentication_error → ключ отозван или неверен → проверьте имя переменной и отсутствие пробелов в ключе
  • 402 payment_required / insufficient_balance → баланс ниже цены запроса или грант исчерпан → пополните от 500 ₽, автосписаний нет
  • 429 rate_limit_exceeded / rate_limit_error → достигнут лимит ключа → значения и снятие — в K3
  • 503 upstream_unavailable → вендор недоступен → повтор с backoff 1с → 2с → 4с не более трёх раз, запрос не тарифицируется
  • openai<1.x не принимает base_url → обновите пакет: pip install -U openai
  • TimeoutError на длинной генерации → поднимите timeout клиента или включите streaming

Шаг 5 · 4:30–5:00 — что дальше

Смена модели — одна строка, diff «было/стало» (тот же артефакт, что на M1 и D3):

-    model="mid-class-chat",
+    model="flag-chat",
  • Anthropic-формат тем же ключом: endpoint /v1/messages, заголовки x-api-key и anthropic-version — ветка D1a.
  • Batch: −50% к цене единиц для офлайн-задач, окно до 24 часов — схема JSONL и статусы в D6, цифры на странице M9.
  • Единицы цен по модальностям (изображения, минуты аудио, символы синтеза, эмбеддинги) и формулы списания — D7.
  • Сравнение двух моделей на своём промпте: виджет каталога, цена каждого ответа в ₽ (S5).
  • Потолок расходов: Лимиты в кабинете — рядом с ключами, «3 000 ₽/мес ≈ 7 100 запросов mid-class-chat» — ставится до передачи экспериментов в прод; на batch лимит действует так же.

Чек-лист завершения: «ответ получен; цена запроса в ₽ видна (usage.cost_rub или заголовок Ruslo-Usage-Cost); ключ лежит в окружении, а не в репозитории.»

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

Ссылки: D1a Anthropic-quickstart, D2 каталог, D3 reference, D4 биллинг, D6 batch, D7 модальности.

Обновлено: 2026-10-26