SSD Nodes Learn 🎉 VPS від $5.50/міс
Посібники Matt ConnorВід Matt Connor · Оновлено 2026-08-13

Вхідні й вихідні токени: чому Claude дорожчий

Вихідні токени Claude коштують у 5 разів дорожче за вхідні. Пояснюємо різницю між prefill і decoding та її вплив на щомісячний рахунок агента.

Чому вихідні токени коштують дорожче за вхідні токени

Вихідні токени коштують у п’ять разів дорожче за вхідні токени в кожній моделі Claude з поточного каталогу. Причина полягає в характері обчислень. Читання промпту виконується за один прохід моделі. Формування відповіді потребує окремого проходу для кожного токена, і кожен прохід має чекати на завершення попереднього.

Це співвідношення однакове в кожному рядку прайс-листа, тому вибір моделі не змінює частку вихідних токенів у вашому рахунку. Її визначає структура вашого робочого навантаження. Крок агента, який читає 60,000 токенів і формує відповідь із 800 токенів, майже не витрачає коштів на вихідні токени. Завдання з підготовки тексту, яке читає 2,000 токенів і генерує 12,000, майже не витрачає коштів на вхідні токени. Нижче розглянуто обидва випадки за опублікованими Anthropic тарифами на August 2026.

Prefill виконується один раз, decoding — один раз для кожного токена

Inference server обробляє запит у двох фазах із дуже різною вартістю. Prefill читає промпт. Decoding формує відповідь.

Prefill обробляє весь промпт одразу. Кожен токен промпту проходить через мережу в одному forward pass, тому операції attention і feed-forward перетворюються на невелику кількість великих матричних множень, які одночасно охоплюють тисячі токенів. Одного зчитування ваг моделі з пам’яті достатньо для всього промпту. Матричні блоки accelerator залишаються завантаженими, тому prefill є compute-bound: обмеженням є швидкість множення на чипі.

Decoding не може працювати так, оскільки токен 2 залежить від токена 1. Токен, який модель щойно згенерувала, стає частиною вхідних даних для наступного кроку, тому ці кроки не можна виконувати одночасно. Для кожного вихідного токена виконується окремий forward pass, і кожен такий прохід зчитує повний набір ваг моделі з high-bandwidth memory, щоб сформувати один токен. Тому decoding є memory-bound: обмеженням є швидкість переміщення ваг, а не швидкість їх множення. Той самий обсяг передавання ваг, який під час prefill обробляє весь промпт, під час decoding дає змогу отримати лише один токен.

Serving systems компенсують це за допомогою batching. Багато запитів виконують decoding одночасно, тому одне зчитування ваг формує по одному токену для кожного запиту в batch. Саме тому decoding взагалі має прийнятну вартість. Обмеженням знову є пам’ять. Кожен активний запит зберігає KV cache (key/value cache, збережений стан attention для кожного вже обробленого токена), цей cache зростає з кожним згенерованим токеном, і коли він заповнює accelerator, batch більше не може збільшуватися.

Усе це не дає точного числа, тому не слід сприймати 5x як виміряне співвідношення для hardware. Це вартісне співвідношення, встановлене Anthropic з урахуванням цієї асиметрії. Самостійно можна перевірити напрямок співвідношення, і це займає приблизно хвилину.

Самостійно виміряйте розрив між введенням і виведенням

Встановіть інструменти на будь-якій системі Ubuntu:

sudo apt update && sudo apt install -y curl jq moreutils

Тепер передайте короткий prompt із запитом на довгу відповідь і додайте до кожного рядка час його отримання.

curl -sN https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-sonnet-5","max_tokens":1000,"stream":true,
       "messages":[{"role":"user","content":"Count from 1 to 300, one number per line."}]}' \
  | ts -s '%.s'

ts -s додає до кожного рядка кількість секунд, що минула від запуску команди. У цьому виведенні варто звернути увагу на два показники. Час до першого токена — це час до першого рядка content_block_delta; увесь prefill відбувається в межах цього часу. Кожен наступний рядок відповідає одному невеликому кроку декодування, а часові позначки зростають, доки не з’явиться message_stop.

Тепер змініть співвідношення. Додайте до prompt великий документ і обмежте відповідь кількома токенами.

curl -sN https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d "$(jq -n --rawfile doc ./long-document.txt \
       '{model:"claude-sonnet-5", max_tokens:16, stream:true,
         messages:[{role:"user", content:("Answer in one word. Is this document about networking?\n\n" + $doc)}]}')" \
  | ts -s '%.s'

Перший інтервал довший, ніж у випадку з коротким prompt, оскільки prefill має обробити значно більше тексту. Після цього відповідь завершується майже одразу, бо для декодування залишається лише кілька токенів. На вхід надходять десятки тисяч токенів, але час майже не змінюється. На виході з’являється кілька сотень токенів, і годинник працює весь цей час.

Кожна відповідь без streaming завершується числами, на основі яких розраховується оплата.

{
  "usage": {
    "input_tokens": 41283,
    "output_tokens": 6,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}

Записуйте всі чотири поля для кожного запиту. output_tokens включає extended thinking, тому модель, яка виконує міркування перед відповіддю, тарифікує ці токени за ставкою для виведення. Щоб розрахувати вартість prompt до його надсилання, POST /v1/messages/count_tokens приймає те саме тіло запиту та повертає {"input_tokens": N}, не запускаючи модель; ця операція безкоштовна. Це не єдина безкоштовна частина API. Перед плануванням першого проєкту варто перевірити, за які частини Claude API з вас ніколи не стягується плата.

Вартість Claude за мільйон токенів станом на серпень 2026 року

ChartClaude API list rates, US dollars per million tokens, August 2026
The data behind this chart
[
  {
    "label": "Haiku 4.5",
    "input_usd": 1,
    "output_usd": 5,
    "output_multiple": 5
  },
  {
    "label": "Sonnet 5 (to 31 Aug)",
    "input_usd": 2,
    "output_usd": 10,
    "output_multiple": 5
  },
  {
    "label": "Sonnet 5 (from 1 Sep)",
    "input_usd": 3,
    "output_usd": 15,
    "output_multiple": 5
  },
  {
    "label": "Opus 5",
    "input_usd": 5,
    "output_usd": 25,
    "output_multiple": 5
  },
  {
    "label": "Fable 5",
    "input_usd": 10,
    "output_usd": 50,
    "output_multiple": 5
  }
]

В останньому стовпці наведено результат ділення вихідних токенів на вхідні; у кожному рядку він дорівнює 5. Haiku 4.5 тарифікує вхідні токени за $1 і вихідні за $5. Opus 5 тарифікує їх за $5 і $25. Fable 5, найдорожча модель, тарифікує вхідні токени за $10 і вихідні за $50; перед тим як відкидати цей верхній рядок, варто прочитати що дають ці тарифи Fable 5. Під час переходу до дорожчих моделей обидві сторони множаться на однаковий коефіцієнт. Тому змінюється загальна сума, але співвідношення вхідних і вихідних токенів залишається незмінним.

Sonnet 5 наведено двічі, оскільки її вступний тариф має обмежений строк дії. До 31 August 2026 включно вона тарифікує вхідні токени за $2 і вихідні за $10. Із 1 September 2026 діє стандартний тариф $3 і $15, що на 50% вищий для обох типів токенів. Усі наведені нижче приклади використовують серпневий тариф.

Тарифи змінюються, тому перевіряти їх потрібно не на цій сторінці. Джерелом актуальної інформації є claude.com/pricing. Метод розрахунку не залежить від зміни ціни.

Є одна особливість, якої немає в прайс-листі. У документації Anthropic зазначено, що моделі Claude 4.7 і новіші використовують новий токенізатор, який створює приблизно на 30% більше токенів для того самого тексту, ніж токенізатор у Sonnet 4.6 і старіших моделях. Порівняння двох моделей лише за ціною мільйона токенів буде вигіднішим для новішої моделі, оскільки той самий документ у ній займає більше токенів. Порівнюйте вартість виконання готового завдання та перевіряйте реальні запити на моделі, яку плануєте використовувати. У матеріалі скільки насправді означає мільйон токенів Claude у тексті пояснено, який обсяг тексту це становить на практиці.

Коли output починає переважати у вартості?

Якщо output коштує у 5 разів дорожче за input, поріг беззбитковості легко запам’ятати. Позначимо кількість input-токенів як I, а кількість output-токенів — як O. Вартість input становить I. Вартість output становить 5 × O. Output перевищує половину загальних витрат, коли 5 × O більше за I. Це відповідає співвідношенню 5 input-токенів до 1 output-токена.

Отже, якщо ваш prompt більш ніж у п’ять разів довший за відповідь, input є більшою статтею витрат. Якщо співвідношення менше, переважає output.

ChartShare of spend by input to output token ratio, at 5x output pricing
The data behind this chart
[
  {
    "label": "100:1",
    "input_share_pct": 95.2,
    "output_share_pct": 4.8
  },
  {
    "label": "75:1",
    "input_share_pct": 93.75,
    "output_share_pct": 6.25
  },
  {
    "label": "20:1",
    "input_share_pct": 80,
    "output_share_pct": 20
  },
  {
    "label": "10:1",
    "input_share_pct": 66.7,
    "output_share_pct": 33.3
  },
  {
    "label": "5:1",
    "input_share_pct": 50,
    "output_share_pct": 50
  },
  {
    "label": "1:1",
    "input_share_pct": 16.7,
    "output_share_pct": 83.3
  },
  {
    "label": "1:6",
    "input_share_pct": 3.2,
    "output_share_pct": 96.8
  }
]

За співвідношення 100 до 1 на output припадає 4.8% витрат, тому єдина доцільна оптимізація — скорочувати prompt. За співвідношення 5 до 1 обидві складові коштують однаково. За співвідношення 1 до 6 на output припадає 96.8% витрат, а вартість prompt можна вважати похибкою округлення. Більшість людей неправильно оцінює власне співвідношення, тому перед оптимізацією спочатку визначте його за журналами.

Робоче навантаження агента: довгий контекст на вході, коротка відповідь на виході

Виконайте один крок агента пошуку: 60,000 вхідних токенів отриманих документів та історії розмови і відповідь обсягом 800 токенів. Це співвідношення 75 до 1, що є нормальним для будь-якої системи, яка спочатку читає, а потім відповідає.

ChartOne agent step, 60,000 input and 800 output tokens, US dollars per call
The data behind this chart
[
  {
    "label": "Haiku 4.5",
    "input_cost": 0.06,
    "output_cost": 0.004,
    "total_cost": 0.064
  },
  {
    "label": "Sonnet 5 (Aug)",
    "input_cost": 0.12,
    "output_cost": 0.008,
    "total_cost": 0.128
  },
  {
    "label": "Opus 5",
    "input_cost": 0.3,
    "output_cost": 0.02,
    "total_cost": 0.32
  },
  {
    "label": "Fable 5",
    "input_cost": 0.6,
    "output_cost": 0.04,
    "total_cost": 0.64
  }
]

Вихід становить 6.25% вартості цього виклику на кожній моделі, оскільки співвідношення фіксоване для всього прайс-листа. Виклик коштує $0.32 на Opus 5, $0.128 на Sonnet 5 за серпневим тарифом і $0.064 на Haiku 4.5. Двісті таких кроків на день на Opus 5 коштують $64 на день.

Після поділу витрат важіль впливу очевидний. Скорочення відповіді з 800 токенів до 400 заощаджує близько 3% вартості виклику. Видалення з prompt 20,000 токенів застарілого контексту заощаджує близько третини вартості. Зменшення довжини відповіді для агента, який переважно читає, майже не дає результату. У матеріалі куди насправді витрачаються токени coding-агента розібрано, що саме формує цей prompt.

Робоче навантаження генерації: короткий запит, довга чернетка

Тепер змінимо співвідношення. Бриф на 2,000 токенів, чернетка на 12,000 токенів, співвідношення 1 до 6.

ChartOne draft, 2,000 input and 12,000 output tokens, US dollars per draft
The data behind this chart
[
  {
    "label": "Haiku 4.5",
    "input_cost": 0.002,
    "output_cost": 0.06,
    "total_cost": 0.062,
    "batch_total_cost": 0.031
  },
  {
    "label": "Sonnet 5 (Aug)",
    "input_cost": 0.004,
    "output_cost": 0.12,
    "total_cost": 0.124,
    "batch_total_cost": 0.062
  },
  {
    "label": "Opus 5",
    "input_cost": 0.01,
    "output_cost": 0.3,
    "total_cost": 0.31,
    "batch_total_cost": 0.155
  },
  {
    "label": "Fable 5",
    "input_cost": 0.02,
    "output_cost": 0.6,
    "total_cost": 0.62,
    "batch_total_cost": 0.31
  }
]

На цю статтю припадає 96.8% витрат. Opus 5 коштує $0.31 за чернетку, тоді як Haiku 4.5 — $0.062. Різниця в п’ять разів майже повністю зумовлена вихідними даними. Саме тут дешевша модель дає найбільшу економію.

В останньому стовпці наведено вартість цього самого завдання через Batch API, який зменшує ціну вхідних і вихідних даних на 50%. Для Opus 5 вона становить $0.155 за чернетку. Batch повертає результати протягом 24 годин, а не одразу, тому підходить для нічної генерації звітів і пакетної класифікації. Він не підходить для завдань, під час виконання яких людина чекає на результат.

Маршрутизація між моделями тут дає перевагу, якої немає на етапі роботи агента. Якщо об’ємна частина завдання є механічною, наприклад форматування тексту або розгортання вже затвердженого плану, дешева модель генерує ці токени за одну п’яту вартості. як вибрати між Opus, Sonnet і Haiku пояснює, де фактично проходить межа якості.

Кешування зменшує вартість лише вхідних даних

Кешування промпту зберігає його префікс на сервері та стягує частину тарифу за вхідні дані під час повторного читання. Станом на August 2026 коефіцієнти такі: 1.25x базового тарифу за вхідні дані для запису кешу на 5 хвилин, 2x для запису кешу на 1 годину та 0.1x для читання даних із кешу.

Вихідні дані до цієї схеми не входять. Кешованих вихідних даних немає. Кожен токен, який генерує модель, щоразу оплачується за повним тарифом для вихідних даних, незалежно від того, яка частина промпту надійшла з кешу.

Візьмімо той самий крок агента на Opus 5, де 55,000 із 60,000 вхідних токенів надходять із прогрітого кешу.

ChartThe same Opus 5 agent step, with and without a warm 55,000 token cache, US dollars
The data behind this chart
[
  {
    "label": "No cache",
    "input_cost": 0.3,
    "output_cost": 0.02,
    "total_cost": 0.32
  },
  {
    "label": "55k prefix cache read",
    "input_cost": 0.0525,
    "output_cost": 0.02,
    "total_cost": 0.0725
  }
]

Вартість виклику зменшується з $0.32 до $0.0725. Рядок для вихідних даних не змінюється: до кешування — $0.02, після — $0.02. Кешування зменшує рахунок і змінює його структуру. Вихідні дані становили 6.25% вартості цього виклику. Тепер вони становлять понад чверть вартості, тому змінюється пріоритет наступного кроку оптимізації.

Перший виклик оплачує запис у кеш. Запис кешу на 5 хвилин коштує 1.25x базового тарифу для вхідних даних, тому окупається після одного звернення до кешу. Запис на 1 годину коштує 2x, тому потребує двох звернень. розбір коефіцієнтів запису й читання та моменту, коли кешування перестає окупатися містить відповідний розрахунок.

Чотири важелі, які ви контролюєте

  1. Встановлюйте max_tokens на рівні довжини відповіді p95, а не на максимальному значенні моделі.
  2. Передавайте розлогі етапи дешевшій моделі.
  3. Виконуйте пакетно все, на що ніхто не чекає.
  4. Видаляйте інструкції, які збільшують відповіді.

max_tokens — це жорстка верхня межа. Високе значення саме по собі нічого не коштує, оскільки оплата стягується лише за згенеровані токени, а не за встановлену межу. Щедрий ліміт лише прибирає обмеження для відповіді, яка вийшла з-під контролю. Побудуйте розподіл output_tokens на основі журналів, установіть ліміт трохи вище 95-го перцентиля, а stop_reason: "max_tokens" обробляйте в коді: продовжуйте відповідь або повторюйте запит. Виявлене усікання коштує менше, ніж розлога відповідь на 4,000 токенів, за яку ви заплатите, а потім відкинете. Розширене міркування також входить до output_tokens, тому встановлюйте цей бюджет на основі тих самих даних.

Маршрутизація працює, коли витрати на дорогий етап визначає обсяг, а не якість судження. Залиште сильну модель для ухвалення рішення, а введення тексту передайте дешевшій моделі. Спочатку перевірте маршрутизований варіант на власному наборі оцінювання, оскільки дешева модель, якій потрібні дві спроби, коштує дорожче за одну спробу дорогої моделі.

Пакетна обробка — єдиний важіль, який зменшує вартість вихідних даних. Знижка 50% на обидві частини, результат протягом 24 годин, а заплановані завдання відповідають цій умові.

Останній важіль часто ігнорують. Фрази на кшталт «будьте ретельними» та «поясніть свої міркування» збільшують довжину відповіді кожного майбутнього запиту. Замініть їх на конкретний формат: «Відповідайте не більше ніж трьома реченнями» або «Поверніть лише об’єкт JSON без вступу». Системний prompt, який додає 300 токенів до кожної відповіді, коштує в п’ять разів дорожче, ніж ті самі 300 токенів у prompt. контроль витрат агента, який працює безперервно описує аспект моніторингу, а порівняння вартості API та фіксованої підписки для вашого сценарію варто виконати до того, як ви витратите тиждень на оптимізацію витрат за токени, які підписка покрила б. Для одного розробника це здебільшого зводиться до того, чи покривають Claude Pro за $20 на місяць і ліміти використання, що входять до нього роботу, за яку інакше довелося б платити за лічильником. Якщо ви вже досягаєте цих лімітів у середині сеансу, спочатку з’ясуйте, на яке вікно ви очікуєте, оскільки після цього рішенням може бути менша модель, легший контекст, додаткові кредити на використання або перенесення цієї роботи до API з оплатою за лічильником. Якщо API з оплатою за лічильником виявиться дешевшим варіантом для цієї роботи, перехід на менший план або його скасування не змінить уже оплачений місяць, тому такий перехід нічого вам не коштує. Якщо план, з яким ви порівнюєте Pro, належить ChatGPT, а не API з оплатою за лічильником, порівняння двох рівнів підписки з цінами поруч покаже, який із них дешевший для роботи з кодом. Якщо це питання стосується команди, а не одного розробника, врахуйте, що Claude Enterprise поєднує плату за кожне робоче місце з оплатою токенів за тими самими тарифами API, тому кожен важіль на цій сторінці все одно застосовується до частини рахунку, що оплачується за лічильником.

FAQ

Чому output tokens коштують дорожче за input tokens?

Їх генерування потребує значно більше часу accelerator на кожен токен. Prompt обробляється за один forward pass над усім текстом, тому одного читання ваг моделі достатньо для тисяч токенів, а продуктивність hardware обмежується швидкістю multiply-операцій. Reply генерується по одному токену за раз, і для кожного токена потрібен окремий forward pass, який знову читає всі ваги моделі. Тому hardware обмежується пропускною здатністю пам’яті. Anthropic встановлює ціну output на рівні, у 5 разів вищому за input, для всього поточного каталогу — від Haiku 4.5 до Fable 5.

Чи робить prompt caching output tokens дешевшими?

Ні. Prompt caching застосовується лише до input. Станом на August 2026 читання з cache коштує 0.1x базової ставки для input, а запис у cache — 1.25x для тривалості 5 minutes або 2x для тривалості 1 hour. Output оплачується за повною ставкою під час кожного виклику незалежно від того, як було використано cache. Саме тому caching змінює не лише розмір рахунку, а й його структуру: коли витрати на input різко зменшуються, саме output стає частиною рахунку, яку варто оптимізувати.

Чи коштує мені грошей високий max_tokens, якщо reply виявляється коротким?

Ні. Ви сплачуєте за токени, які модель фактично генерує, тому max_tokens є верхньою межею, а не попередньо зарезервованим обсягом. Водночас цей параметр важливий, оскільки це єдине жорстке обмеження для reply, який може стати надмірно довгим. Установіть його трохи вище за 95-й перцентиль вашого фактичного output_tokens, а stop_reason: "max_tokens" обробляйте в коді, щоб не передавати користувачеві непомітно обрізану відповідь.

Як визначити власне співвідношення input до output tokens?

Записуйте input_tokens, output_tokens, cache_read_input_tokens і cache_creation_input_tokens з об’єкта usage кожної відповіді, а потім обчисліть співвідношення сум за тиждень. Якщо на 1 output припадає понад 5 input, основні витрати пов’язані з prompt: кешуйте стабільну частину та скорочуйте решту. Якщо співвідношення нижче, основні витрати пов’язані з reply: обмежте його довжину та перенесіть кроки, які генерують найбільшу його частину, на дешевшу модель або в Batch API.