Счёт MiniMax API нельзя оценивать по одной цене за токен. Текст, речь, видео и изображения тарифицируются в разных единицах: в одном аккаунте могут одновременно встречаться токены, длительность, символы, штуки и число задач. Если бюджет строится только по текстовой ставке, при переходе к речи или видео затраты легко недооценить.

Текстовая часть — тоже не «общее число токенов умножить на одно число». Вход, выход и попадание в кэш считаются отдельно, длинный контекст может переходить в более высокий тариф, а повторы и история сообщений увеличивают фактический расход.

Ниже разобраны единицы тарификации по возможностям, структура текстового счёта, источники роста затрат на длинном контексте и повторах, а также оценка по usage и сверка бюджета. Конкретные ставки — на странице цены на модели и в официальной документации.

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

1. Сначала разберитесь, в каких единицах тарифицируется каждая возможность

Тарификация MiniMax по факту использования использует разные единицы для разных возможностей. Официальная документация приводит примерно такую картину:

Возможность Основная единица Что легко упустить
Языковые модели, часть видеозадач Токены (вход, выход, кэш отдельно) Системный промпт, история и описания инструментов входят во вход
Распознавание речи Длительность аудио Тишина и повторная загрузка тоже занимают время
Синтез речи Символы (за десятки тысяч) Китайский иероглиф считается за два символа, пунктуация и пробелы тоже
Дизайн или клонирование голоса Разовая цена за голос Списание при первом синтезе
Генерация видео Секунды вывода + входные материалы Повторная генерация снова тарифицирует входные материалы
Генерация изображений За штуку Сначала уточните размеры и правила подсчёта
Вызов инструментов, музыка За вызов или за трек Цикл агента накапливает расход

Не используйте «среднюю цену за запрос» для всего бизнеса. Текстовая поддержка, голосовая поддержка и короткие видео имеют совершенно разную структуру затрат; при работе только с текстом следите за тремя составляющими токенов, а после подключения речи или видео стройте отдельную таблицу затрат.

2. Три статьи текстового счёта: вход, выход и кэш

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

Кэш служит для повторного использования одинаковых префиксов. Кэш промптов MiniMax сопоставляет по префиксу; официально порядок такой: описания инструментов, системный промпт, история диалога. Кэш включается автоматически, но вход должен быть не меньше 512 токенов. Попадание тарифицируется по более низкой входной ставке, новый ввод — по стандартной; наличие платы за запись зависит от модели.

Стоимость одного запроса = вход из кэша × ставка попадания + новый вход × входная ставка + выход × выходная ставка; при наличии платы за запись кэша добавляется ещё одна статья.

Чаще всего недооценивают «новый вход». Если каждый шаг вставлять полное руководство или возвращать весь ответ инструмента в следующий шаг, он будет расти. Кэш смягчает повторяющиеся префиксы, но не заменяет поиск и сокращение.

3. Длинный контекст: 512k — граница тарификации

Сильный длинный контекст не означает дешевизну. По текущему официальному описанию, после превышения 512k токенов на входе M3 переходит в более высокий тариф, и вход, и выход считаются по более высокой цене; у разных моделей порог может отличаться, ориентируйтесь на таблицу цен.

Вторая составляющая затрат — число шагов: чем длиннее контекст, тем больше истории несёт каждый шаг. Если сохранять полный диалог на каждом шаге, вход накапливается с числом шагов, и счёт растёт быстрее ожиданий; это чаще всего проявляется в кодовых ассистентах, вопросах по документам и агентских задачах.

Для контроля затрат сначала сделайте три вещи: сузьте область поиска, ведите скользящее резюме истории и размещайте стабильное содержимое в начале для лучшего попадания в кэш. Удлиняйте контекст только тогда, когда действительно нужен вывод по нескольким документам.

4. Повторы и неудачные запросы: не предполагайте, что они бесплатны

Каждый повтор — новый запрос, который может снова нести полный вход; автоматическая отправка после 429 и таймаута без backoff и ограничения попыток легко раздувает расход. Единого обещания по тарификации неудачных текстовых запросов нет — ориентируйтесь на записи usage и счёт. Для видео правила яснее: неудачная генерация или срабатывание проверки безопасности не списывает баллы; для речи и изображений действуют собственные описания.

Практические рекомендации:

  • Повторяйте только восстановимые ошибки; ошибки авторизации и параметров не отправляйте снова.
  • Используйте экспоненциальный backoff и максимальное число попыток.
  • Записывайте request ID, модель, длину входа и число повторов.
  • Для пакетных задач сначала проверяйте долю успеха на малой выборке.

5. Оценка по usage, которую можно воспроизвести

Не угадывайте токены по числу символов. После каждого вызова читайте usage из ответа; за неделю непрерывных записей вы получите реальную структуру своего бизнеса. Ниже пример вызова через OpenAI-совместимый вход с чтением полей кэша:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["ZSQH_API_KEY"],
    base_url="https://ai.zhongshangqihang.com/v1",
)

resp = client.chat.completions.create(
    model="MiniMax-M3",  # имя модели — по странице цен
    messages=[
        {"role": "system", "content": "Вы помощник поддержки, отвечайте не более чем тремя предложениями."},
        {"role": "user", "content": "Можно ли изменить адрес после отправки заказа?"},
    ],
    max_completion_tokens=256,
)

usage = resp.usage
cached = 0
details = getattr(usage, "prompt_tokens_details", None)
if details is not None:
    cached = getattr(details, "cached_tokens", 0) or 0

print("Всего входа", usage.prompt_tokens)
print("Попадание в кэш", cached)
print("Новый вход", usage.prompt_tokens - cached)
print("Выход", usage.completion_tokens)

Записывайте в лог время, проект, модель, вход, попадание в кэш, выход и число повторов, затем сводите по проекту, модели и сценарию. Официальный ориентир — примерно 1600 китайских символов на 1000 токенов, но разброс велик, поэтому опирайтесь на usage.

Бюджет лучше задавать тремя диапазонами — низким, средним и высоким: это ближе к реальному счёту, чем одна точная цифра. Доля попадания в кэш, длина вывода и доля повторов колеблются, поэтому интервальная оценка надёжнее.

6. Порядок снижения затрат: сначала измерения, потом модель

  1. Измерьте: по usage и логам посчитайте вход, выход, попадание в кэш и повторы по каждой функции.
  2. Поднимите кэш: зафиксируйте порядок инструментов и системный промпт, перенесите метки времени и случайные ID в конец запроса.
  3. Сократите вход: поиск должен возвращать только релевантные фрагменты, историю сжимайте в резюме, из ответов инструментов оставляйте необходимые поля.
  4. Ограничьте выход: задайте разумный max_completion_tokens, требуйте JSON или фиксированные поля.
  5. Распределите модели: классификацию и извлечение отдайте лёгким моделям, сложные рассуждения — более сильным; при чувствительности к задержке рассмотрите приоритетный уровень.
  6. Асинхронность и оповещения: офлайн-задачи ставьте в очередь, задавайте бюджет и напоминания о низком балансе по проекту и ключу.

Не меняйте порядок. Если сначала взять дешёвую модель, но не навести порядок во входе и не попадать в кэш, счёт не снизится, а качество упадёт.

7. Как сверять бюджет, счёт и документы

Месячный бюджет складывается из «расход сценария × ставка», затем умножается на коэффициент запаса; ставки берутся со страницы цены на модели. Тестовые и производственные ключи создавайте отдельно и задавайте им разные лимиты, чтобы они не конкурировали.

При сверке смотрите три места: соответствует ли структура токенов логам, верен ли тарифный уровень модели, не создают ли неудачные повторы дополнительные записи. Официальный счёт выставляется на фактически оплаченную сумму; часть, покрытая ваучерами, обычно не оформляется.

Командам, которым нужны единый счёт в юанях и расход по нескольким моделям, подходит пополнение и оформление через локальный AI-шлюз; цены, курс и правила документов — на странице цен и странице пополнения.

8. Частые вопросы

MiniMax API берёт плату за число вызовов?

Не совсем. Текст тарифицируется по токенам, распознавание речи — по длительности, синтез — по символам, видео — по секундам и материалам, изображения — по штукам. Сначала определите, какие возможности использует бизнес.

Что дороже: вход или выход?

У большинства моделей выходная ставка выше входной, а вход из кэша дешевле. Сравнивайте не только ставки, а считайте стоимость одного запроса по своему соотношению входа и выхода.

Длинный контекст всегда дороже?

Не всегда, но риск выше. После порога включается более высокий тариф, а перенос истории на каждом шаге накапливает вход. Задачи, решаемые поиском и резюме, не стоит забивать контекстом.

Тарифицируются ли неудачные повторы?

Для текста единого обещания нет: повтор — новый запрос, сверяйте usage и счёт. Для видео неудачная генерация или проверка безопасности не списывает баллы; для остальных возможностей действуют собственные описания.

Почему оценка не сходится со счётом?

Частые пропуски: история сообщений, описания инструментов, промахи кэша, повторы, длинный вывод и разница тарифных уровней. Найти причину можно, сопоставив request ID с логами.

9. Дальше

Создайте тестовый ключ в ZSQH AI Gateway, отработайте неделю на реальных задачах, записывая вход, выход, попадания в кэш и повторы, затем пересчитайте бюджет по странице цены на модели.

Полезное чтение: