Назад в блог

Оптимизация расходовРазбор

Сколько токенов уходит на запрос к API: замеры на трёх задачах

Настоящие замеры на DeepSeek-V4-Flash: короткий вопрос, пересказ абзаца и письмо в JSON — токены, стоимость 1 000 запросов и скрипт для ваших промптов.

Автор: CheapTokens TeamОпубликовано Обновлено 5 мин чтения

Карточка с полем usage ответа API: prompt_tokens 23, completion_tokens 87, total_tokens 110
Содержание
  1. Быстрый вопрос
  2. Пересказ и токены, которых вы не читаете
  3. Письмо на входе, чистый JSON на выходе
  4. Все три рядом
  5. Проверьте на своих промптах
  6. С чего начать

Спросите, сколько стоит один запрос к API нейросети, и почти наверняка услышите «зависит от задачи». Так и есть, но бюджет по такому ответу не спланируешь. Поэтому мы взяли три обычные задачи, отправили их в DeepSeek-V4-Flash через API CheapTokens 23 октября 2026 года и каждый раз записывали, что показало поле usage.

Если коротко: быстрый вопрос обошёлся в 110 токенов, пересказ абзаца — в 396, а письмо, превращённое в JSON, — в 299. Ниже — как выглядел каждый запрос, что пришло в ответ и сколько это стоит.

Быстрый вопрос#

Начали с того, о чём чат-ассистентов спрашивают постоянно: чем git merge отличается от git rebase, в двух-трёх предложениях.

Анимация: вопрос про git merge и git rebase уходит в DeepSeek-V4-Flash, появляется ответ из трёх предложений, затем строка usage: 23 токена запроса, 87 токенов ответа, 110 всего
Настоящий запрос и ответ, 23 октября 2026 года

Вопрос занял 23 токена, ответ — 87. Это первое, что бросается в глаза: ответ почти вчетверо длиннее вопроса, а выход стоит дороже входа — на MiniMax-M2.7 сейчас $0.15 за 1M токенов выхода против $0.05 за вход. По этим ценам один такой запрос стоит $0.000014, тысяча — $0.0142.

Вот этот запрос целиком — можно увидеть те же цифры у себя:

bash
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MiniMaxAI/MiniMax-M2.7",
    "messages": [
      {"role": "user", "content": "What is the difference between git merge and git rebase? Answer in two or three sentences."}
    ],
    "max_tokens": 2048,
    "temperature": 0.2
  }'

Счётчики лежат в блоке usage в конце ответа: prompt_tokens — что вы отправили, completion_tokens — что написала модель, total_tokens — всё вместе.

Пересказ и токены, которых вы не читаете#

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

text
Summarize this incident report in two sentences.

On Tuesday between 14:05 and 14:50 UTC the checkout API returned errors for about 6% of requests. The cause was a configuration change deployed at 13:58 that lowered the database connection pool from 50 to 5 connections per instance. Under normal load nobody noticed, but when the afternoon traffic peak arrived, requests queued for a free connection and timed out after 30 seconds. The on-call engineer saw the growing p99 latency at 14:12, found the change in the deploy log at 14:31 and rolled it back at 14:44. To prevent a repeat, the pool size is now validated in CI against a minimum value, and an alert fires when more than 20 requests wait for a connection for two minutes.

И ответ:

On Tuesday, a configuration change that reduced the database connection pool from 50 to 5 caused checkout API errors for about 6% of requests during the afternoon peak, until it was rolled back at 14:44. To prevent recurrence, the pool size is now validated in CI and an alert triggers when connection wait times exceed thresholds.

Два предложения, 331 символ — и 146 токенов выхода. Многовато для такого короткого текста, и ответ сам объяснил почему: в usage нашлось ещё одно поле, reasoning_tokens: 76. Перед ответом модель потратила 76 токенов на размышление. Они входят в те же 146 (250 входа + 146 выхода = 396 всего), так что примерно половина выхода ушла на размышление, которое не входит в текст ответа, — и оплачивается оно как обычный выход.

Это полезно помнить, когда считаете бюджет: на задачах, где модель сначала думает, выход бывает заметно больше текста, который вы получаете. Тысяча таких пересказов стоит $0.0344.

Письмо на входе, чистый JSON на выходе#

Третья задача — письмо о заказе, из которого нужна запись для базы данных.

Анимация: слева письмо о заказе, справа JSON, который DeepSeek-V4-Flash из него извлёк: номер заказа, товары, цены, доставка, сумма, перевозчик, трек-номер и дата доставки; usage: 199 токенов запроса и 100 токенов ответа
Письмо, которое мы отправили, и JSON, который пришёл в ответ, с отступами для чтения

Модель вернула ровно те ключи, которые мы просили, и ничего вокруг — никаких «Вот ваш JSON». Сумма совпадает с письмом, а дата доставки пришла как 2026-11-03 — сразу в нужном формате. 199 токенов на вход, 100 на выход.

Интереснее другое — плотность: 100 токенов на 276 символов JSON, тогда как ответ про git занял 87 токенов на 421 символ обычного текста. Кавычки, скобки и запятые — тоже токены, поэтому структурированный ответ в пересчёте на символ дороже прозы. Тысяча таких писем — $0.025.

Все три рядом#

Задача Токенов на входе Токенов на выходе 1 000 запросов
Быстрый вопрос 23 87 $0.0142
Пересказ 250 146 $0.0344
Письмо в JSON 199 100 $0.025

Стоимость считается по этим счётчикам и текущей цене MiniMax-M2.7, так что при смене цен она останется верной.

Куда уходят деньги в 1 000 запросов: вход и выход
  • Пересказ: выход$0.0219
  • Письмо в JSON: выход$0.015
  • Быстрый вопрос: выход$0.0131
  • Пересказ: вход$0.0125
  • Письмо в JSON: вход$0.01
  • Быстрый вопрос: вход$0.0012

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

Для масштаба: бот поддержки, который отвечает на 2 000 быстрых вопросов в день, каждый как первый, тратит на MiniMax-M2.7 около $0.852 в месяц. В настоящем чате история пересылается каждый раз, поэтому вход растёт с каждым сообщением, но для разовых вопросов счёт именно такой.

Проверьте на своих промптах#

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

python
import os
from openai import OpenAI

client = OpenAI(base_url="https://api.cheaptokens.dev/v1", api_key=os.environ["CHEAPTOKENS_API_KEY"])

MODEL = "MiniMaxAI/MiniMax-M2.7"
PRICE_IN, PRICE_OUT = 1.00, 4.00  # USD per 1M tokens: example values, use the current ones from the price list

PROMPTS = [
    "What is the difference between git merge and git rebase? Answer in two or three sentences.",
    # add your own prompts here
]

for prompt in PROMPTS:
    r = client.chat.completions.create(
        model=MODEL,
        messages=[{"role": "user", "content": prompt}],
        max_tokens=2048,
        temperature=0.2,
    )
    if r.choices[0].finish_reason != "stop":
        print("cut off at max_tokens, raise the limit:", prompt[:40])
        continue
    tin, tout = r.usage.prompt_tokens, r.usage.completion_tokens
    per_1000 = (tin * PRICE_IN + tout * PRICE_OUT) * 1000 / 1_000_000
    print(f"{tin} in, {tout} out, 1,000 requests = ${per_1000:.4f} | {prompt[:40]}")

Подставьте текущие цены в PRICE_IN и PRICE_OUT: для MiniMax-M2.7 это $0.05 за 1M токенов входа и $0.15 за 1M токенов выхода. Первый промпт — из нашего теста; у разных моделей счёт токенов немного отличается, так что ждите цифры того же порядка, что 23 на входе и 87 на выходе. Нужен пакет openai (pip install openai) и ключ в CHEAPTOKENS_API_KEY.

Если какая-то цифра странная: finish_reason: length значит, что ответ упёрся в max_tokens (почему ответ обрывается на полуслове); большой reasoning_tokens объясняет выход больше самого текста; а формула для цен входа и выхода — в статье вход и выход: за что вы платите.

С чего начать#

В сумме, с учётом входа и выхода, MiniMax-M2.7 в CheapTokens дешевле референсной цены OpenRouter во всех трёх задачах выше. У модели контекст 180K, ответ до 8 192 токенов и одна цена в любое время суток. Пополните баланс, создайте ключ и отправьте запрос curl из начала статьи: в документации — ключ и базовый адрес, на странице DeepSeek — каталог моделей, на странице цен — актуальные цены.