SSD Nodes Learn Hosting plans →
Посібники Matt ConnorВід Matt Connor · Оновлено 2026-08-28

Input vs Output Tokens: чому Claude дорожчий на виході

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

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

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

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

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

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

Prefill обробляє весь prompt одночасно. Кожен токен prompt проходить через network в одному forward pass, тому операції attention і feed-forward перетворюються на невелику кількість великих matrix multiplication, що охоплюють тисячі токенів за раз. Одне завантаження model weights із memory обслуговує весь prompt. Matrix units accelerator постійно зайняті. Отже, prefill обмежений обчислювальною продуктивністю: межу визначає швидкість множення матриць чипом.

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

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

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

Самостійно виміряйте input gap і output gap

Встановіть інструменти на будь-якій системі 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 показує ваш time to first token; увесь prefill відбувається в межах цього інтервалу. Кожен наступний рядок відповідає одному невеликому кроку decoding, а часові мітки зростають, доки не з’явиться 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'

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

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

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

Записуйте всі чотири поля для кожного запиту. output_tokens включає extended thinking, тому модель, яка обмірковує відповідь перед її формуванням, тарифікує цей процес за ставкою для output. Щоб визначити вартість 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 серпня 2026 року включно він стягує $2 за вхідні та $10 за вихідні токени. З 1 вересня 2026 року застосовується стандартний тариф $3 і $15, що на 50% вищий для обох складових. Усі наведені нижче приклади використовують серпневий тариф.

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

Є одна особливість, якої прайс-лист не показує. У документації Anthropic зазначено, що моделі Claude 4.7 і новіші використовують новіший токенізатор, який створює приблизно на 30% більше токенів для того самого тексту, ніж токенізатор у Sonnet 4.6 і старіших моделях. Порівняння двох моделей лише за ціною мільйона токенів створює перевагу для новішої моделі, оскільки той самий документ у ній перетворюється на більшу кількість токенів. Порівнюйте вартість виконання готового завдання та підраховуйте фактичні промпти для тієї моделі, яку плануєте використовувати. Та сама проблема виникає під час порівняння провайдерів, оскільки їхні токенізатори відрізняються ще сильніше. Тому розрахунок вартості реального завдання в Claude і ChatGPT дає більше інформації, ніж просте зіставлення двох тарифних таблиць. У матеріалі скільки насправді дає мільйон токенів 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 agent розібрано, що саме спочатку заповнює цей 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 не з API з оплатою за фактичне використання, а з планом ChatGPT, два рівні підписок із цінами, наведеними поруч покажуть, який варіант дешевший для роботи з кодом. Якщо це питання стосується команди, а не одного розробника, врахуйте, що Claude Enterprise поєднує плату за кожне робоче місце з оплатою токенів за тими самими тарифами API, тому кожен важіль на цій сторінці все одно застосовується до частини рахунку, що залежить від фактичного використання.

FAQ

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

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

Чи робить кешування prompt вихідні токени дешевшими?

Ні. Кешування prompt застосовується лише до вхідних даних. Станом на August 2026 читання з кешу коштує 0.1x базової ставки для вхідних даних, а запис у кеш коштує 1.25x для тривалості 5 minutes або 2x для тривалості 1 hour. Вихідні дані оплачуються за повною ставкою під час кожного виклику, незалежно від того, як використовувався кеш. Тому кешування змінює не лише розмір рахунку, а й його структуру: коли частка вхідних даних різко зменшується, саме вихідні дані стають частиною витрат, на які варто спрямувати оптимізацію.

Чи коштує мені грошей велике значення max_tokens, якщо відповідь коротка?

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

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

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