Откуда берется число
API модели продаёт токены, а не ключи. Для ценообразования ключа API GLM вам нужны ставка за входные данные, ставка за выходные данные и любая скидка за кэшированные или пакетные запросы — всё это указано за 1 млн токенов на официальной странице цен провайдера. Ставки и названия моделей меняются, поэтому мы не приводим их здесь. Скопируйте актуальные значения в таблицу ниже, и остальная часть статьи подходит для любого провайдера.
Токен — это фрагмент текста, примерно три четверти английского слова. Другие языки и код могут требовать больше токенов на слово. Точное количество показывает токенизатор вашего провайдера или поле usage в ответах, что точнее любых приблизительных оценок.
На страницах тарифов вы также встретите термины «длина контекста», «лимит запросов» и «тарифный план». На ваш счет влияют только первые два показателя. Длина контекста ограничивает объем данных, которые можно отправить за один запрос, а лимит запросов — скорость отправки. В этом API контекстное окно составляет 100 000 токенов, а полный ключ позволяет выполнять 8 параллельных запросов и до 300 запросов в минуту.
Подсчитайте токены в запросе
Запишите четыре числа для каждого типа запросов, которые выполняет ваше приложение:
- Фиксированный ввод: системный промпт и определения инструментов.
- Переменный ввод: сообщение пользователя, извлеченные документы, история чата.
- Вывод: типичная длина ответа.
- Объем: количество запросов в день.
История чата — обычное явление, которое часто становится сюрпризом. Каждый ход отправляет всё, что было до него, поэтому диалог из 10 ходов стоит не 10 сообщений ввода, а сумму 1 + 2 + ... + 10 сообщений, то есть 55 единиц сообщений. Сокращайте или сжимайте историю, если диалоги становятся длинными.
Чтобы измерять, а не гадать, записывайте в лог блок usage. В этом API он возвращается с каждым ответом, а при потоковой передаче данные поступают в конце потока:
from openai import OpenAI
client = OpenAI(base_url="https://api.apikeyglm.com/v1", api_key="YOUR_KEY")
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Write a 100-word product blurb for a lamp."}],
stream=True,
stream_options={"include_usage": True},
)
for event in stream:
if event.usage:
print("in:", event.usage.prompt_tokens, "out:", event.usage.completion_tokens)Для предварительного прогноза выберите реальные данные. Возьмите 50 реальных сообщений пользователей или документов, запустите их и используйте среднее значение и 90-й процентиль количества токенов. Среднее значение даст ожидаемый счет, а процентиль покажет, насколько дорогим может быть тяжелый месяц.
Пример 1: чат-бот
500 пользователей в день отправляют по 6 сообщений, то есть 3 000 запросов. Каждый запрос в среднем содержит 2 000 входных токенов (история плюс системный промпт) и 300 выходных токенов.
- Входные данные за день: 3 000 × 2 000 = 6 млн токенов, то есть 6 × $0,15 = $0,90.
- Выходные данные за день: 3 000 × 300 = 0,9 млн токенов, то есть 0,9 × $0,50 = $0,45.
- Итого за день: $1,35. За 30 дней: $40,50.
Примеры 2 и 3: пакетная обработка и поиск
Сделайте краткие выжимки по 150 токенов из 50 000 документов длиной 1 500 токенов каждый.
- Входные данные: 50 000 × 1 500 = 75 млн токенов, то есть 75 × $0,15 = $11,25.
- Выходные данные: 50 000 × 150 = 7,5 млн токенов, то есть 7,5 × $0,50 = $3,75.
- Итого: $15,00.
У пакетной обработки есть еще один рычаг: она может выполняться параллельно, но полный ключ ограничен 8 параллельными запросами и 300 запросами в минуту, поэтому 50 000 запросов займут не менее 167 минут при лимите в минуту (50 000 / 300). Планируйте время выполнения и стоимость.
Пример 3: ответы с дополнением из поиска
Помощник поддержки обрабатывает 20 000 вопросов в месяц. Каждый запрос содержит 8 000 входных токенов (инструкции плюс извлеченные фрагменты) и получает ответ из 400 токенов.
- Входные данные: 20 000 × 8 000 = 160 млн токенов, то есть 160 × $0,15 = $24,00.
- Выходные данные: 20 000 × 400 = 8 млн токенов, то есть 8 × $0,50 = $4,00.
- Итого: $28,00 в месяц.
Контекстное окно здесь составляет 100 000 токенов (промпт плюс завершение), поэтому 8 000 токенов контекста оставляют много места. Входные данные составляют 86 % этого счета, что типично для поиска: сокращение извлеченного текста важнее, чем сокращение ответов.
Как размер запроса влияет на цену
Цена за 1 000 запросов — удобная единица, так как она масштабируется простым умножением. Вот четыре формы запросов по $0,15 и $0,50 за 1 млн токенов:
| Форма запроса | Стоимость входа на 1 000 запросов | Стоимость выхода на 1 000 запросов | Итого за 1 000 |
|---|---|---|---|
| 500 вход, 200 выход | $0,075 | $0,100 | $0,175 |
| 2 000 входных, 300 выходных | $0,300 | $0,150 | $0,450 |
| 8 000 входных, 400 выходных | $1,200 | $0,200 | $1,400 |
| 30 000 входных, 1 000 выходных | $4,500 | $0,500 | $5,000 |
Паттерн очевиден. Короткие запросы чата дешевы и требуют много выходных данных. Запросы с большим контекстом требуют много входных данных, и строка ввода доминирует. Знание типа запроса помогает выбрать рычаг: короткие ответы для первого случая, сокращение контекста для второго.
Ошибки, искажающие оценку
- Подсчет слов вместо токенов. Английский текст на 1 000 слов — это примерно 1 300 токенов, а для кода или неанглийских текстов — еще больше.
- Забывание истории. Ввод в чате растёт с каждым ходом, как показано выше.
- Использование средних значений для скачкообразного трафика. В день запуска нагрузка может быть в десять раз выше обычной. Закладывайте бюджет на пик, который вы можете выдержать.
- Игнорирование повторных попыток. Добавьте запас. В этом API неудачные или отклонённые запросы не оплачиваются, но проверяйте это у любого поставщика, которого вы сравниваете.
- Пропуск ограничения на выходные данные. Выходные данные дороже за токен. Если вам нужен только ярлык или краткое резюме, запросите это явно и установите
max_tokensтам, где жёсткий лимит поможет. Здесь это необязательно.
Сравните с тарифами GLM
Заполните эту таблицу текущими данными провайдера и вашими объёмами:
| Строка | Этот API | GLM (проверьте актуальные тарифы) |
|---|---|---|
| Тариф на ввод на 1 млн | $0,15 | узнать |
| Тариф на вывод на 1 млн | $0,50 | узнать |
| Скидка за кэшированный ввод | не входит в тарифную сетку | узнать |
| Оплата за неудачные запросы | нет | узнать |
| Пополнение | предоплаченная криптовалюта, не сгорает | узнать |
Затем сравнивайте не только по цене. Поведение при отказе, длина контекстного окна и способность модели соблюдать формат вывода — всё это влияет на количество платных повторов. Этот API обслуживает одну модель с открытыми весами, uncensored, настроенную на ответы без отказов по контенту для законного использования взрослыми. Это независимый сервис, а не официальный API Zhipu, Z.ai или любого другого поставщика. Для примера похожей интеграции руководство по интеграции Kimi apikey следует тому же шаблону.
Бюджетирование и пополнение
Добавьте 20–30 % к вашей оценке на повторные запросы, длинные промпты и рост. Чат-бот за $40,50 превращается в бюджет около $49–$53. Пополняйте баланс целыми суммами от $20 до $500; пополнение на $50 даёт +5 % и кредит $52,50, на $100 — +10 % за $110,00, а на $200 — +15 % за $230,00. Оплата только криптовалютой: USDT в сети TRC20 или USDC в сети Base, кредит не сгорает.
Новые пользователи могут протестировать эндпоинт с бесплатным пробным балансом $0,50, действительным в течение 7 дней. При 2 300 токенах на запрос в примере чат-бота это около 1 100 тестовых запросов. Откройте страницу тарифов для полной тарифной сетки, затем получите ключ и прочтите документацию для получения лимитов и заголовков.
Наконец, настройте оповещение. Каждый ответ включает X-Balance-USD, поэтому несколько строк кода могут предупредить вас, когда баланс упадет ниже числа дней расходов. Руководство по интеграции Kimi apikey показывает аналогичную настройку клиента в смежном контексте.
