Как считается стоимость
Способ зависит от типа задачи:Текст: за токены
Цены публикуются за миллион токенов и разделены на входные и выходные. В каталоге это поляcost_context и cost_completion, десятичные строки, рядом лежит currency — обычно RUB.
Цена, которую вы видите в каталоге, — это и есть цена списания. Никакого дополнительного начисления поверх неё нет.
Медиа: за генерацию
Способ зависит от модели:Точную цену любой медиа-модели читайте в поле
pricing ответа GET /api/v1/media/models, а не в таблице документации: поле всегда соответствует текущей версии API. Поле pricing.type показывает, какой из трёх способов применён. Разбор поля — на странице Каталог медиа-моделей.Когда списываются деньги
Плата за медиа-задачу списывается в момент создания — то есть платите вы за запуск, а не за успешный результат. Задача остаётся оплаченной, пока выполняется. Если отправка задачи провайдеру не удалась, списание возвращается автоматически.Посекундная тарификация
Для моделей, где цена зависит от длительности, длительность считается по тому, что вы отправили. Если вы не знаете её заранее, узнайте до отправки:cURL
duration_seconds на цену секунды из pricing модели — и вы знаете стоимость до списания.
Как прочитать списание в ответе
В каждом ответе текстовой модели вusage.cost лежит сумма, списанная с вашего кошелька в рублях:
Так работают
/api/v1/chat/completions и /api/v1/responses. У /api/v1/messages форма ответа повторяет формат Anthropic, и объекта cost в нём нет: там считайте расход по формату чата либо по остатку на эндпоинте баланса.
Пример расчёта
Допустим, модель стоит150.00 за миллион входных токенов и 600.00 за миллион выходных. Запрос из примера выше вернул prompt_tokens: 9 и completion_tokens: 7.
Python
float: суммы приходят строками, и двоичное представление накапливает ошибку, которая проявится при сверке списаний.
Токены рассуждений и кэша
Две составляющиеusage считаются не так, как можно ожидать, и это регулярный источник недооценки расходов.
Токены рассуждений тарифицируются как выходные. Они видны в usage.completion_tokens_details.reasoning_tokens и уже включены в completion_tokens — отдельно платить за них не нужно, но увеличение effort напрямую увеличивает чек.
Закэшированные входные токены видны в usage.prompt_tokens_details.cached_read_tokens. Они учитываются по сниженной тарифной ставке там, где это поддерживается.
Баланс
Остаток доступен без обёртки — объект «валюта → десятичная строка»:cURL
{} — это не ошибка.
Суммы приходят строками. Разбирайте их в десятичный тип (
Decimal, decimal.Decimal, BigDecimal), а не в float.Проверка перед дорогим запросом
Запрос к платной модели отклоняется с кодом402 insufficient_quota, если баланс неположительный. Проверка происходит до обращения к провайдеру модели, то есть деньги за отказ не списываются.
Бесплатные и нулевые по цене модели проходят без этой проверки.
Пополнение
Пополнение баланса — в веб-приложении, на speshu.ai/profile: банковская карта либо счёт для юридических лиц.Тариф и оплата по факту
Тариф может включать месячную квоту запросов и токенов. Пока вы в квоте, запросы в неё попадают. Что происходит после исчерпания квоты, зависит от эндпоинта. На/api/v1/chat/completions запрос может молча уйти на резервную модель и посчитаться по факту. Подробности — на странице Лимиты.
Валюты
Цены у провайдеров моделей изначально в долларах и переводятся в рубли. Списывается тот баланс, который в рублях: он и отражает фактический расход.Юридическим лицам
Для организаций и ИП доступны выставление счёта и закрывающие документы — см. страницу Бизнес-кейсы.Что дальше
Каталог моделей
Цены за миллион токенов
Каталог медиа-моделей
Поле
pricing и тарифы генерацииБаланс
Остаток кошелька по валютам
Лимиты
Квоты тарифа и таймауты
