Две цены и почему доминирует ввод
Тарифы составляют $0,15 за 1 млн входных токенов и $0,50 за 1 млн выходных токенов. В расчёте на токен это $0,00000015 за входной токен и $0,0000005 за выходной. Выходные токены стоят чуть более чем в три раза дороже, но чат-бот отправляет гораздо больше входных данных, чем получает.
Причина в том, что API чата не имеет состояния. Каждый запрос должен включать персонажа и всю историю разговора до текущего момента. Ход 30 стоит дороже хода 1, так как содержит 29 предыдущих реплик. Поэтому любая оценка стоимости NSFW Chatbot API, основанная на длине одного ответа, оказывается заниженной.
Неудачные или отклонённые запросы не оплачиваются. Баланс предоплачен и не сгорает, поэтому нет ежемесячного минимума.
Предположения для примеров
Реальные числа зависят от ваших персонажей, поэтому приведены явные допущения, которые вы можете заменить на свои.
- Персонаж и заметки: 800 токенов, отправляются на каждом ходе.
- Сообщение пользователя: в среднем 60 токенов.
- Ответ модели: в среднем 200 токенов.
- Каждый завершённый ход добавляет 60 + 200 = 260 токенов в историю.
Количество токенов в вашем трафике указано в поле usage каждого ответа. Замените расчётные значения неделей реальных данных перед установкой цен.
Один диалог на 40 ходов
На ходу k ввод состоит из персонажа (800), нового сообщения пользователя (60) и 260 токенов истории за каждый предыдущий ход. Итого: 860 + 260 × (k − 1) токенов.
| Ход | Входные токены | Выходные токены |
|---|---|---|
| 1 | 860 | 200 |
| 10 | 3 200 | 200 |
| 20 | 5 800 | 200 |
| 40 | 11 000 | 200 |
Суммируем ввод за все 40 ходов: 40 × 860 = 34 400 плюс 260 × (0 + 1 + … + 39) = 260 × 780 = 202 800. Всего ввода: 237 200 токенов. Всего вывода: 40 × 200 = 8 000 токенов.
- Вход: 237 200 × $0,15 / 1 000 000 = $0,03558
- Выход: 8 000 × $0,50 / 1 000 000 = $0,00400
- Итого: $0,03958, примерно $0,040 за разговор или примерно $0,001 за реплику
Пополнение на $20 покрывает около 505 таких разговоров ($20 / $0,03958).
Длинные истории: почему важно ограничение
Входная составляющая растёт пропорционально квадрату числа реплик, потому что каждая новая реплика повторно отправляет всё, что было до неё. Возьмём историю из 200 реплик без обрезки:
- Ввод: 200 × 860 = 172 000 плюс 260 × (0 + 1 + … + 199) = 260 × 19 900 = 5 174 000. Итого: 5 346 000 токенов.
- Стоимость ввода: 5 346 000 × $0,15 / 1 000 000 = $0,8019
- Вывод: 200 × 200 = 40 000 токенов = $0,0200
- Итого: около $0,82
Последняя реплика в этой истории отправляет 800 + 60 + 260 × 199 = 52,600 входных токенов. Это укладывается в окно на 100,000 токенов, но вы платите за это при каждом ходе. Теперь ограничьте историю так, чтобы ни один запрос не отправлял более примерно 6,000 токенов прошлых реплик:
- Каждый ход отправляет не более 800 + 6,000 + 60 = 6,860 входных токенов, поэтому 200 ходов — это не более 1,372,000 токенов.
- Стоимость ввода: 1 372 000 × $0,15 / 1 000 000 = $0,2058
- Стоимость вывода: $0,0200
- Итого: около $0,23, примерно на 72% меньше, чем в истории без ограничений
Цена ограничения — память. Сочетайте его со скользящим итогом, чтобы важные факты сохранялись. Статья о интеграции NSFW LLM охватывает, как строятся запросы, а в документации перечислены параметры.
Стоимость на активного пользователя
Переведите разговоры в пользователей. Предположим, что типичный активный пользователь общается 20 дней в месяц и завершает один разговор из 40 реплик в день. Это 20 разговоров по $0,03958, или $0,79 на пользователя в месяц с учётом стоимости модели. Более активный пользователь, который ведёт три таких разговора в день в течение 20 дней, обойдётся примерно в $2,37.
| Профиль | Диалогов в месяц | Стоимость модели в месяц |
|---|---|---|
| Лёгкий, 5 разговоров | 5 | $0,20 |
| Типичный, 1 в день в течение 20 дней | 20 | $0,79 |
| Интенсивный, 3 в день в течение 20 дней | 60 | $2,37 |
Эти цифры охватывают только модель. Хостинг, комиссии и поддержка — отдельные статьи в вашем бюджете.
Чтобы установить цену на свой продукт, умножьте показатель на пользователя на количество ваших пользователей и добавьте маржу на повторные попытки, пользователей с высокой нагрузкой на длинном хвосте и стоимость запросов на создание сводки, которые вы можете запускать. Для пилотного проекта из 100 типичных пользователей 100 × $0,79 = $79 в месяц. Следите за верхней границей, а не за средним значением: несколько пользователей, которые общаются весь день, могут стоить дороже, чем сотня лёгких.
Сравнение с подписочными приложениями
Подписочные приложения продают фиксированную ежемесячную плату. Это другой продукт: вы получаете интерфейс, персонажей и часто изображения, не написав ни строчки кода. Если вы пользователь, приложение может быть проще. Если вы создаёте продукт, API превращает вопрос в маржу с пользователя.
Для сравнения возьмите ежемесячную цену любого приложения с его сайта (проверьте их актуальные тарифы) и разделите на $0,79. Если подписка стоит $10 в месяц, типичный пользователь из примера выше тратит около 8% этой суммы на модель, оставляя остальное на серверы, платежи и прибыль. Очень активный пользователь с фиксированной платой — это тот случай, когда оплата за токен безопаснее для вас: вы платите только за то, что используется.
Другой случай — активные пользователи. Пользователь, отправляющий 100 реплик в день при лимите в 6 860 токенов, стоит примерно 100 × 30 × (6 860 × $0,00000015 + 200 × $0,0000005) = 3 000 × $0,001129 = $3,39 в месяц.
Способы снизить счёт
Когда вы знаете, куда уходят токены, три изменения дают наибольший эффект в таком порядке.
- Ограничьте историю. Показано: экономия около 72% на истории из 200 реплик.
- Укоротите описание персонажа. Сокращение с 800 до 400 токенов экономит 400 × 40 = 16 000 входных токенов в разговоре на 40 реплик, что составляет 16 000 × $0,15 / 1 000 000 = $0,0024 за разговор. Мелочь за один чат, но за 10 000 разговоров в месяц это $24.
- Уменьшите длину ответов. Запрос около 150 токенов вместо 200 экономит 50 × 40 = 2,000 выходных токенов, или $0.001 за разговор. Это также замедляет рост истории, так как каждая реплика добавляет меньше токенов в журнал.
Не жертвуйте качеством ради экономии нескольких тысячных долей цента. Слишком короткий ответ заставляет пользователей отправлять больше сообщений, а каждое сообщение отправляет весь промпт заново. Измеряйте стоимость за удовлетворённый сеанс, а не стоимость за запрос.
В конце установите потолок max_tokens как страховку. Это необязательно, но неограниченный ответ от болтливого персонажа может занять тысячи токенов. При $0,50 за 1 млн выходных токенов это всё ещё дёшево, хотя при повторении ошибки расходы могут вырасти.
Пополнение и планирование баланса
Пополняйте на любую целую сумму от $20 до $500, с бонусом +5% от $50, +10% от $100 и +15% от $200. Пополнение на $100 даёт $110 предоплаченного баланса. Оплата только криптовалютой: USDT в сети TRC20 или USDC в сети Base.
Следите за балансом с помощью заголовка X-Balance-USD в каждом ответе или вызовите GET /v1/balance. Текущую таблицу цен смотрите на странице тарифов, а получите API-ключ, чтобы протестировать. Новые пользователи могут одним кликом получить пробный баланс $0,50 на 7 дней без привязки карты: этого хватит примерно на 12 диалогов по 40 реплик, описанных выше.
Расчёт первого пополнения — простая арифметика. Для пилотного проекта на 100 пользователей пополнение на $100 с учётом бонуса +10% превращается в $110, чего хватит примерно на 1,4 месяца ($110 ÷ $79). Пополнение на $50 превращается в $52,50. Держите резерв: вирусная неделя обходится дороже, чем спокойная, и настройте оповещение по заголовку X-Balance-USD, чтобы пополнить баланс до его исчерпания.
