Разделы документации

Документация / Использование

Стоимость

Как резервируется и списывается оплата запроса, что значат usage.cost и cost_status и почему суммы могут расходиться.

Резерв и списание

  1. До отправки модели шлюз резервирует наибольшую возможную стоимость запроса — по ценам модели, пределу вывода, вложениям и инструментам. Не хватает баланса на резерв — ответ 402, модель запрос не получает.
  2. После ответа списывается фактическая стоимость: закупка у провайдера, пересчитанная в рубли по курсу с наценкой. Остаток резерва возвращается на баланс.
  3. Если стоимость нельзя ограничить заранее, запрос отклоняется с кодом 400 и ничего не списывается.

usage.cost и cost_status

usage.cost — фактически списанная сумма в рублях с пятью знаками после точки (тысячные доли копейки), без округления до копейки. Закупка провайдера (cost_details) в ответ не передаётся.

  • finalСписано по фактической закупке провайдера.
  • estimatedПровайдер стоимость не сообщил — списано по нашей таблице цен модели.
  • pendingСтоимость дозапрашивается у провайдера; cost — null, списание пройдёт позже, его видно в кабинете.
  • reviewСписание на проверке у оператора; cost — null.

null в usage.cost — допустимое значение: типизируйте поле как число или null.

Почему суммы могут расходиться

Сумма usage.cost по запросам с usage равна сумме их списаний. С балансом и выпиской она расходится по девяти причинам:

  1. Резервы запросов в работе уже вычтены из доступного баланса.
  2. Запись списания в журнал идёт с задержкой в секунды после ответа.
  3. Синтез речи и видео списываются фоновым сборщиком и usage в ответе не отдают.
  4. Поштучные модели (за генерацию) списывают весь резерв, а не сумму, названную провайдером.
  5. Когда провайдер не сообщил стоимость, списание идёт по нашей таблице цен (cost_status: estimated).
  6. Минимальное списание — одна тысячная копейки: на потоке очень дешёвых запросов это даёт систематический перебор.
  7. Округления на трёх участках (курс, наценка, перевод в рубли) идут в разные стороны.
  8. Баланс в кабинете показывается с округлением вниз до копейки.
  9. Сверка и прогрев балансов переписывают рабочую копию баланса из журнала.

Тарифы моделей — в каталоге, история списаний — в кабинете.