Оптимізація витратРозбір
Скільки токенів використовує запит до API? Виміряно на 3 задачах
Реальні цифри використання від DeepSeek-V4-Flash: коротке запитання, резюме абзацу та перетворення листа на JSON, із вартістю 1 000 запитів і скриптом для ваших власних запитів.

На цій сторінці
Запитайте, скільки коштує один запит до AI API, і зазвичай почуєте «залежить від ситуації». Це так, але на цьому не сплануєш бюджет. Тож ми взяли три повсякденні задачі, надіслали їх до DeepSeek-V4-Flash через CheapTokens API 23 жовтня 2026 року і записали, що кожного разу показувало поле usage.
Коротко: швидке запитання — 110 токенів, резюме абзацу — 396, а перетворення електронного листа на JSON — 299. Нижче показано, як виглядав кожен запит, що повернулося і скільки це коштує.
Швидке запитання#
Ми почали з того, що люди постійно запитують у чат-асистентів: різниця між git merge і git rebase у двох-трьох реченнях.

Запитання зайняло 23 токени, відповідь — 87. Ось перше, що варто помітити: відповідь майже вчетверо довша за запитання, а вихідні токени коштують дорожче — на MiniMax-M2.7 зараз це $0.15 за 1M вихідних токенів проти $0.05 за вхідні. За такими тарифами один такий запит коштує $0.000014. Тисяча таких — $0.0142.
Ось той самий запит, якщо хочете побачити цифри на власному екрані:
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_ — те, що написала модель, total_tokens — обидва разом.
Резюме, і токени, які ви не читаєте#
Друга задача: стиснути короткий звіт про інцидент до двох речень. Команди проганяють таке через модель цілий день: тікети, звіти, довгі ланцюжки листів. Ось запит:
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.А ось відповідь:
У вівторок зміна конфігурації, яка зменшила пул з'єднань з базою даних з 50 до 5, спричинила помилки API оформлення замовлення приблизно для 6% запитів під час післяобіднього піку, доки її не відкотили о 14:44. Щоб запобігти повторенню, розмір пулу тепер перевіряється в CI, а сповіщення спрацьовує, коли час очікування з'єднання перевищує порогові значення.
Два речення, 331 символ і 146 вихідних токенів. Це виглядало забагато для такого короткого тексту, і відповідь пояснила чому: usage мав ще одне поле, reasoning_. Перед відповіддю модель витратила 76 токенів на обдумування. Вони входять до 146 (250 вхідних + 146 вихідних = 396 усього), тож близько половини вихідних токенів пішло на міркування, які не є частиною тексту відповіді, і вони тарифікуються як будь-які інші вихідні токени.
Корисно знати під час планування бюджету: у задачах, де модель зупиняється подумати, вихід може бути помітно більшим за текст, який ви отримуєте. Тисяча таких резюме коштує $0.0344.
Лист на вході, чистий 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, тож вони залишаються правильними, коли ціни змінюються.
Вихідні перемагають у кожній задачі, навіть у резюме, де ми надіслали більше, ніж отримали назад. Тож найпростіший важіль впливу на ваш рахунок — довжина відповіді: «у двох-трьох реченнях» або «поверни лише JSON» справді працюють.
Для масштабу: бот підтримки, який відповідає на 2 000 швидких запитань на день, кожне як перше, витрачає близько $0.852 на місяць на MiniMax-M2.7. Справжній чат надсилає свою історію щоразу, тож вхідні дані зростають з кожним повідомленням, але для одноразових запитань це весь рахунок.
Спробуйте на власних запитах#
Ваші запити дадуть інші числа, і щоб це з'ясувати, потрібна хвилина. Цей скрипт надсилає кожен запит, пропускає обрізані відповіді та виводить токени й вартість 1 000 запитів:
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_.
Якщо число виглядає дивним: finish_ означає, що відповідь досягла max_tokens (чому відповіді обриваються на півслові); великий reasoning_tokens пояснює вихід, більший за текст; а повна формула для цін на вхідні та вихідні токени — у вхідні проти вихідних токенів.
З чого почати#
Загалом, з урахуванням вхідних і вихідних токенів разом, MiniMax-M2.7 на CheapTokens дешевший за довідкову ціну OpenRouter для всіх трьох задач вище. Він має контекст 180K, відповіді до 8 192 токенів і одну ціну в будь-яку годину. Поповніть баланс, створіть ключ і надішліть curl-запит із початку цієї сторінки: документація охоплює ключ і базову URL-адресу, сторінка DeepSeek містить каталог моделей, а ціни — актуальний прайс-лист.



