Sozdai LogoDocs
Начало/Billing

Правила тарификации

Sozdai ведёт учёт в микроединицах и списывает деньги в два этапа — «заморозка, затем расчёт». Это гарантирует точность списаний и сохранность средств даже при большом числе одновременных запросов.

#1. Единицы учёта (микроединицы)

Чтобы полностью исключить ошибки округления при вычислениях с плавающей точкой, Sozdai хранит все балансы и списания в базе как **BigInt (64-битные целые)** в микроединицах.
- Соотношение: `1 кредит = 1 000 000 микроединиц`.
- Например, `0,0015` кредита хранится как `1 500` микроединиц (0,0015 × 1 000 000).

#2. Схема «заморозка — расчёт»

При любом запросе к API (диалог с моделью или генерация изображения) система выполняет три шага:

  • Заморозка: на счёте резервируется предварительная сумма (обычно 0,1 кредита). Если доступного баланса (общий минус замороженный) не хватает, запрос отклоняется с ошибкой `402 Insufficient Balance`.
  • Выполнение: запрос маршрутизируется в канал провайдера, система ждёт полного ответа или окончания потока.
  • Расчёт: по фактически израсходованным токенам (или числу генераций) вычисляется точная сумма — например 0,002 кредита. Резерв в 0,1 сразу снимается, списывается только фактическая стоимость.

Тарификация при обрыве потока

Даже если вы закроете страницу или отмените запрос в середине потоковой выдачи (SSE), шлюз поймает обрыв и спишет ровно за те токены, которые уже были сгенерированы.

#3. Типы тарификации

В зависимости от модели и эндпоинта Sozdai применяет разные схемы тарификации:

  • По токенам: для языковых моделей. Входные, выходные токены, запись и чтение кэша могут стоить по-разному — смотрите страницу конкретной модели.
  • За вызов: для изображений, музыки и части видеомоделей. Списывается фиксированная сумма за каждую успешную генерацию.
  • За секунду: для видеомоделей, где цена зависит от длительности результата.

#4. Сбои и возвраты

Sozdai отвечает за каждый ваш кредит:

  • Если запрос не прошёл не по вашей вине — ошибка провайдера, таймаут, срабатывание модерации — **замороженная сумма возвращается полностью, списание равно нулю**.
  • Для асинхронных медиазадач деньги списываются только при статусе `succeeded`. Если задача завершилась как `failed`, резерв автоматически снимается и возвращается в доступный баланс.