Hubris
Базовые концепции

Цены

Как считается стоимость запроса в рублях. Таблицы цен — в каталоге моделей.

Цены

Hubris работает по модели pay-as-you-go: вы платите только за фактически использованные токены. Никаких подписок, минимальных платежей или скрытых комиссий. Цены — в ₽ за 1 миллион токенов.

Что такое токен

Токен — это единица обработки текста для модели. Грубо: 1 токен ≈ 0.75 английских слов или ≈ 0.5 русских слов. Точное число зависит от языка и токенизатора модели. Один абзац обычно — 50–100 токенов.

При расчёте стоимости запроса различаются:

  • prompt_tokens (входные) — то, что вы отправили в messages.
  • completion_tokens (выходные) — то, что модель вернула в choices[0].message.content.

Цены за вход и выход разные — выход обычно в 3–5 раз дороже.

Формула расчёта

стоимость_запроса = prompt_tokens × цена_входа + completion_tokens × цена_выхода

Где цены — в ₽ за токен (то есть input_rub_per_million / 1_000_000). Округление — в большую сторону до копейки, чтобы Hubris не накапливал долг на дробных копейках.

Цены в каталоге

В каталоге моделей /models для каждой модели видно:

  • Вход — ₽ за 1М входных токенов.
  • Выход — ₽ за 1М выходных токенов.

Программно те же значения возвращает GET /v1/models в поле pricing:

{
  "id": "anthropic/claude-haiku-4.5",
  "pricing": {
    "input_rub_per_million": 30.45,
    "output_rub_per_million": 152.25,
    "currency": "RUB"
  }
}

Пример расчёта

Запрос к anthropic/claude-haiku-4.5 с 1000 prompt-токенов и 500 completion-токенов при цене 30.45 ₽ / 152.25 ₽ за 1М:

стоимость = 1000 × (30.45 / 1_000_000) + 500 × (152.25 / 1_000_000)
         = 0.03045 + 0.0761
         = 0.10655 ₽
         ≈ 11 копеек (округление вверх)

Как узнать стоимость конкретного запроса

В ответе любого запроса к /v1/chat/completions есть поле usage:

{
  "usage": {
    "prompt_tokens": 1000,
    "completion_tokens": 500,
    "total_tokens": 1500
  }
}

В разделе /usage дашборда отображается полный лог запросов с фактической стоимостью каждого. Баланс в реальном времени — на странице /billing.

Стоимость стриминга

При stream: true цена считается так же — по usage из последнего chunk-а перед [DONE]. Hubris автоматически добавляет stream_options: { include_usage: true } к стрим-запросам, чтобы вы (и мы) знали окончательное число токенов.

Если соединение разорвалось до окончания стрима — мы всё равно дочитываем ответ от провайдера и списываем деньги (защита от «бесплатных токенов» через abort).

Что входит в счёт

  • Успешные запросы (200 OK).
  • Запросы со стримингом до получения usage (включая прерванные клиентом).

Что НЕ входит в счёт

  • Запросы с ошибкой авторизации (401, 403).
  • Запросы с невалидным телом (400).
  • Запросы к несуществующим моделям (404).
  • Ошибки апстрима (502, 503, 504) — модель не отработала, денег не списываем.
  • Запросы при недостаточном балансе (402) — отвергаются ДО запроса к модели.

Что дальше