Баланс и оплата
Единица учёта это g. 1 g равен одной минуте аудио при тарифе ×1.
Сколько стоит запись
Списывается длительность записи в минутах, умноженная на тариф включённых платных опций:
| Опции | Тариф | Минута записи |
|---|---|---|
| без платных опций | ×1 | 1 g |
| «Персональные данные» | ×1.2 | 1.2 g |
| «Эмоции: смех и недовольство» | ×1.2 | 1.2 g |
| «Краткое резюме звонка» | ×1.3 | 1.3 g |
| все платные опции | ×1.7 | 1.7 g |
Старая опция emotion (классы эмоций) убрана и не оплачивается: запрос, который всё ещё присылает "emotion": true, стоит ×1; смех и недовольство — это опция «Эмоции», voice_events (подробно).
Списание происходит по факту, когда запись распознана: 4 минуты 43 секунды со всеми опциями это 8.02 g. Пока задача в очереди или в работе, её оценка удерживается из доступного остатка, чтобы серия загрузок не ушла в минус. Неудавшаяся задача не списывает ничего.
Бета-период
Пока идёт бета, денег за балансом нет. Каждую полночь по Ташкенту баланс каждого аккаунта пополняется до дневной цели, по умолчанию 240 g, то есть четыре часа записей при тарифе ×1. Пополнение равно разнице до цели: потратили за день 37 g, ночью придёт +37 g. Если баланс и так на цели, пополнения не будет и в истории ничего не появится.
Цель можно поменять для конкретного аккаунта по договорённости.
Промокоды
Разовое начисление поверх дневной цели: за репост, партнёру, участникам конференции. Промокод несёт часы записи; введите его на странице «Биллинг», и они сразу ложатся на баланс строкой promo в истории. Ночное пополнение только дотягивает баланс до цели и не трогает баланс выше неё, поэтому начисленные часы остаются, пока не потрачены, а дневное пополнение возвращается, когда баланс опускается ниже цели. Один аккаунт активирует код один раз; у кода может быть срок действия и число активаций. Начисление, сделанное администратором вручную, видно в истории как adjust с пометкой, за что.
Где смотреть
- В кабинете: баланс под именем в левом меню и на странице «Биллинг» с историей пополнений и списаний.
- В API:
GET /v1/usageотдаётbalance_g,in_flight_g,available_gиtopup_target_g;GET /v1/billingотдаёт баланс и историю:
{"unit": "g", "balance_g": 203.63,
"transactions": [
{"kind": "charge", "amount_g": -5.65, "balance_after_g": 203.63, "job_id": "41f79b78-…", "seconds": 282.7, "factor": 1.2, "note": "", "created_at": "…"},
{"kind": "topup", "amount_g": 214, "balance_after_g": 240, "job_id": null, "note": "beta period", "created_at": "…"}
]}Если баланса не хватает на запись, POST /v1/jobs отвечает 429 insufficient_balance с подсказкой, сколько есть, сколько нужно и когда будет пополнение.