Перейти до основного вмісту
Anthropic Claude — це надзвичайно потужна система ШІ для діалогів, яка лише за кілька секунд може генерувати плавні та природні відповіді після введення підказки. Claude Messages API — це офіційний нативний формат API від Anthropic. На відміну від формату, сумісного з OpenAI (Chat Completion), він використовує власну структуру запитів і відповідей Anthropic, що дає змогу краще використовувати унікальні можливості Claude, як-от мультимодальне введення контенту, виклики інструментів, глибоке мислення (Extended Thinking) та інші розширені функції. Цей документ переважно описує процес використання операцій Claude Messages API. За його допомогою ми можемо використовувати нативний інтерфейс, узгоджений з офіційним Anthropic, для виклику функцій діалогу Claude.

Процес подання заявки

Щоб використовувати Claude Messages API, спочатку отримайте свій API Token у консолі Ace Data Cloud і збережіть його для подальшого використання. Якщо ви ще не увійшли або не зареєструвалися, вас буде автоматично перенаправлено на сторінку входу із запрошенням зареєструватися та увійти. Після завершення ви автоматично повернетеся на поточну сторінку. Один API Token дає змогу викликати всі сервіси платформи, немає потреби подавати окрему заявку для кожного сервісу. Під час першого подання заявки надається безкоштовний ліміт для безкоштовного ознайомлення; коли ліміту недостатньо, ви можете поповнити універсальний баланс у консолі.
📘 Повна документація: Claude Messages API →

Базове використання

Шлях запиту Claude Messages API — /v1/messages, що відповідає офіційному API Anthropic. Потрібно надати щонайменше три обов’язкові параметри:
  • model: вибір моделі Claude для використання. claude-opus-5-5 надається лише через Messages API, підтримує контекст у 1 мільйон Token, максимальний вивід у 128K Token і завжди вмикає адаптивне мислення. Найновіший флагман — claude-fable-5-1 (контекст у 1 мільйон Token, максимальний вивід у 128K Token); попередня claude-fable-5 усе ще зберігається для сумісності. claude-sonnet-5-5 додано до нативних серійних інтерфейсів Messages, він підтримує введення зображень і адаптивне мислення; його офіційні довідкові ціни на введення, виведення та читання кешу становлять відповідно 2, 10 і 0,20 долара США за мільйон Token.
  • messages: масив вхідних повідомлень, де кожне повідомлення містить role (роль) і content (вміст), а role підтримує user та assistant.
  • max_tokens: максимальна кількість вихідних token, що використовується для обмеження довжини однієї відповіді.
Поширені необов’язкові параметри:
  • system: системна підказка, що використовується для налаштування поведінки та ролі моделі.
  • temperature: випадковість генерації, від 0 до 1; що більше значення, то більш розгалуженою буде відповідь.
  • stream: чи використовувати потокову відповідь; встановлення true дає змогу реалізувати ефект повернення тексту посимвольно.
  • stop_sequences: користувацькі послідовності зупинки; модель припинить генерацію, коли зустріне цей текст.
  • top_p: параметр ядерної вибірки, який разом із temperature контролює випадковість генерації.
  • top_k: вибірка лише з K варіантів із найвищою ймовірністю.
  • tools: визначення інструментів для виклику моделлю зовнішніх функцій.
  • tool_choice: контролює, як модель використовує надані інструменти.
  • cache_control: автоматично створює точку переривання кешу на останньому кешованому блоці контенту запиту; також можна записати в конкретному блоці контенту.

Приклад cURL

Приклад Python

Після виклику результат повертається таким чином:
Опис полів результату:
  • id: унікальний ідентифікатор цього повідомлення.
  • type: завжди message.
  • role: завжди assistant.
  • content: масив вмісту відповіді, де кожен елемент містить type (наприклад, text) і відповідний вміст.
  • model: назва моделі, що обробляє запит.
  • stop_reason: причина зупинки. Стабільні значення включають end_turn, max_tokens, stop_sequence, tool_use, pause_turn (можна передати поточний вміст assistant без змін, щоб продовжити), refusal та model_context_window_exceeded.
  • stop_sequence: якщо зупинка сталася через користувацьку послідовність зупинки, відображається відповідний текст послідовності зупинки.
  • stop_details: коли stop_reason має значення refusal, може містити категорію та пояснення відмови.
  • usage: статистика використання token. input_tokens — це некешований ввід; cache_creation_input_tokens і cache_read_input_tokens — відповідно запис до кешу та читання з кешу; output_tokens — загальна кількість вихідних token. Якщо повертається output_tokens_details.thinking_tokens, це значення є підмножиною output_tokens, тому під час обчислення загальної кількості або вартості не додавайте його повторно. За відсутності авторитетного підрахунку ця деталізація може бути null або пропущена.
  • usage.cache_creation: необов’язкова деталізація TTL запису до кешу, що містить ephemeral_5m_input_tokens та ephemeral_1h_input_tokens. Коли об’єкт існує, сума цих двох значень дорівнює cache_creation_input_tokens; значення поля null або його пропуск означає, що в поточній відповіді немає доступного розподілу TTL, і його не можна тлумачити як 0.
  • usage.cost: непотокова відповідь може містити об’єкт витрати ліміту, зафіксований Ace Data Cloud, де amount — фактичне споживання цього разу, currency — одиниця вимірювання, а list_amount — сума до знижки (за наявності). Офіційна базова ціна читання кешу Fable 5.1 становить $0.25/мільйон Token, а базові ціни запису до кешу на 5 хвилин і 1 годину становлять відповідно $12.50 та $20/мільйон Token; фактична ціна платформи розраховується відповідно до знижки тарифного плану.

Системна підказка

Claude Messages API підтримує налаштування системної підказки через поле system, що використовується для визначення поведінки, ролі та контексту моделі.

Приклад Python

Налаштувавши підказку system, можна точно контролювати роль і поведінку Claude.

Потокова відповідь

Цей інтерфейс також підтримує потокові відповіді: встановіть параметр stream на true, щоб отримувати поступове повернення результату, що дуже підходить для реалізації посимвольного відображення на вебсторінках.

Приклад Python

Потокова відповідь повертається у форматі Server-Sent Events (SSE), де кожен рядок має префікс event: і data:. Типи потокових подій включають:
  • message_start: початок повідомлення, містить базову інформацію про повідомлення та назву моделі.
  • content_block_start: початок блоку вмісту.
  • content_block_delta: інкрементне оновлення блоку вмісту, містить новостворений фрагмент тексту.
  • content_block_stop: завершення блоку вмісту.
  • message_delta: інкрементне оновлення на рівні повідомлення, містить stop_reason і остаточну інформацію usage. Авторитетне значення output_tokens_details.thinking_tokens слід зчитувати лише з останнього message_delta.usage, не накопичуйте його між подіями.
  • message_stop: завершення повідомлення.
Ефект виводу такий:
Як видно, у потоковій відповіді подія content_block_delta містить текстовий вміст, що генерується поступово; об’єднавши всі text_delta, можна отримати повну відповідь.

Приклад JavaScript

Багатораундовий діалог

Якщо ви хочете підключити функцію багатораундового діалогу, потрібно почергово розмістити повідомлення з ролями user та assistant у масиві messages і передати разом усю попередню історію діалогу.

Приклад Python

Результат повернення такий:
Передаючи повну історію діалогу в messages, Claude може давати точні відповіді з урахуванням контексту.

Модель глибокого мислення

thinking і thinking summary у Claude — це два різні поняття: модель може виконувати внутрішнє міркування, але API не повертає вихідний ланцюжок думок. Коли потрібно показати процес міркування, API повертає оброблений підсумок. Для поточної моделі рекомендується використовувати adaptive thinking і керувати загальними витратами на міркування через output_config.effort:
Блок thinking у відповіді має такий вигляд:
  • display: "summarized" повертає читабельний підсумок міркувань; це не оригінальний ланцюжок думок.
  • display: "omitted" повертає thinking: "", але все одно зберігає непрозорий signature для підтримки подальшого діалогу.
  • display: "updates" — це beta-режим Anthropic, потрібно передати anthropic-beta: thinking-display-updates-2026-08-18. Офіційне визначення: приховувати текст міркувань і показувати короткі оновлення прогресу між викликами інструментів. Платформа передає цей параметр і beta-заголовок запиту за початковими значеннями та не примусово переписує їх на summarized; фактичний вміст виводу залежить від підтримки вибраної моделі.
  • thinking, output_config, effort, параметри семплювання та нові розширені поля передаються за початковими значеннями. Платформа не підтримує жорстко закодовані за моделями переліки значень чи обмеження комбінацій, а також не переписує автоматично режим thinking; чи приймати ці параметри, визначає вибрана модель, а помилки параметрів, повернуті моделлю, передаються клієнту.
  • Значенням за замовчуванням для display у Fable 5.1, Fable 5, Opus 5, Sonnet 5, Opus 4.8 та Opus 4.7 є omitted; Opus 4.6, Sonnet 4.6 та раніші моделі, що підтримують thinking, за замовчуванням використовують summarized.
  • Display впливає лише на повернений вміст і затримку потокової передачі, не вимикає міркування та не зменшує тарифікацію thinking token.
  • Чи увімкнено thinking за замовчуванням і значення display за замовчуванням — це два незалежні питання. Opus 5 і Sonnet 5 за замовчуванням вмикають adaptive thinking; для Opus 5 пропуск thinking еквівалентний adaptive, а пропуск output_config.effort еквівалентний high. Opus 4.8, 4.7 і 4.6 потребують явного ввімкнення.
  • Thinking і фінальний текст спільно використовують вихідний бюджет max_tokens. Якщо бюджет замалий, thinking може зайняти більшу частину ліміту, через що текст буде порожнім або обрізаним; збільште max_tokens або використовуйте effort low / medium для контролю вкладення в міркування.
  • Для моделей, які дозволяють вимкнути thinking, можна передати thinking: {"type":"disabled"}. Нові режими на кшталт between_tools і комбінації effort залежать від вибраної моделі; платформа не відхиляє їх заздалегідь на підставі старих правил моделей.
  • Фіксований бюджет міркувань можна передати через budget_tokens; нові моделі зазвичай використовують thinking.type=adaptive і output_config.effort. Чи підтримуються фіксований бюджет або вимкнення міркувань, залежить від поточних можливостей вибраної моделі.
  • У багатораундових діалогах і під час викликів інструментів слід повертати без змін повний блок thinking і signature, повернуті assistant; не змінюйте й не генеруйте signature самостійно.
  • Передавання параметрів не означає, що кожна модель підтримує всі функції. Міжпротокольні виклики все одно потребують перетворення, а діапазон підтримки та помилки для вмісту на кшталт redacted_thinking визначаються сервісом моделі, який фактично обробляє запит.
У потокових запитах summarized генерує thinking_delta; omitted не генерує thinking_delta, зберігаючи лише життєвий цикл блоку thinking і signature_delta.

Візуальні моделі

Claude підтримує мультимодальний ввід і може одночасно обробляти текст та зображення. У Messages API візуальні можливості можна використовувати, встановивши content у формат масиву та передавши блок вмісту зображення.

Використання зображень у кодуванні Base64

Використання URL-зображень

Приклад cURL

Підтримувані формати зображень включають: image/jpeg, image/png, image/gif, image/webp.

Документи та PDF

PDF використовує блок вмісту document, підтримуючи два стабільні джерела: Base64 і URL. Джерело Base64 повинно використовувати application/pdf:
Джерело URL записується як {"type":"url","url":"https://example.com/report.pdf"}. document також підтримує text/plain і джерело content, що складається з блоків text/image; необов’язкові поля включають title, context і citations. Джерело file_id Files API належить до окремої beta-функції та не входить до стабільного контракту цього інтерфейсу.

Кешування підказок

cache_control верхнього рівня автоматично розміщує точку розриву кешу на останньому кешованому блоці:
Коли потрібно точно контролювати розташування, той самий cache_control також можна записати в блоках вмісту text, image, document, tool_use, tool_result або у визначенні інструменту. ttl підтримує 5m (за замовчуванням) і 1h; будь ласка, визначайте запис у кеш і влучання в кеш за допомогою usage.cache_creation_input_tokens та usage.cache_read_input_tokens. Коли відповідь надає usage.cache_creation, ephemeral_5m_input_tokens + ephemeral_1h_input_tokens = cache_creation_input_tokens. Якщо cache_creation має значення null або пропущено, це означає, що є лише загальний обсяг запису в кеш, без авторитетного розподілу за TTL; у такому разі не вважайте жоден bucket відомим як 0, а для тарифікації та загального обсягу все одно орієнтуйтеся на aggregate-поле. Приклад результату, що повертається:

Виклик інструментів (Tool Use)

Claude Messages API нативно підтримує функцію виклику інструментів, дозволяючи моделі за потреби викликати попередньо визначені вами інструменти/функції.

Приклад Python

Коли модель вирішує викликати інструмент, у результаті, що повертається, content міститиме блок вмісту типу tool_use:
Зверніть увагу, що stop_reason має значення tool_use, що означає потребу моделі викликати інструмент. Після отримання цього результату вам потрібно виконати функцію інструменту та повернути результат моделі у формі tool_result:
Модель на основі результату, поверненого інструментом, згенерує остаточну відповідь природною мовою.

Відмінності від Chat Completion API

Ace Data Cloud одночасно надає два формати Claude API, основні відмінності між ними такі: usage.input_tokens у Messages API означає лише некешований ввід, а cache_read_input_tokens і cache_creation_input_tokens є незалежними тарифікованими bucket; усі три обчислюються окремо за відповідними цінами. Якщо ваша система вже інтегрована з API у форматі OpenAI, ви можете використовувати Chat Completion API для безшовного переходу. Якщо вам потрібно використовувати всі нативні можливості Claude, рекомендується використовувати Messages API.

Обробка помилок

Відповіді з помилками публічного інтерфейсу використовують envelope платформи Ace Data Cloud: error.code — це стабільний код помилки, error.message — опис, а trace_id використовується для діагностики запиту. Поширені HTTP-статуси включають:
  • 400: параметри запиту або вміст протоколу недійсні.
  • 401: токен авторизації недійсний, відсутній або прострочений.
  • 403: доступ заборонено, недостатньо балансу або обмежено квоту.
  • 404: API або модель не існує.
  • 413: тіло запиту надто велике.
  • 429: забагато запитів.
  • 500 / 503 / 504: помилка сервісу, тимчасова недоступність або тайм-аут обробки.

Приклад відповіді з помилкою

Ця структура помилки є контрактом часу виконання Ace Data Cloud і не тотожна офіційному error envelope Anthropic; будь ласка, обробляйте її відповідно до HTTP-статусу та error.code.

Висновок

За допомогою цього документа ви вже дізналися, як використовувати Claude Messages API для виклику діалогових можливостей Claude у власному форматі Anthropic. Messages API підтримує такі багаті функції, як базові діалоги, системні підказки, потокові відповіді, багатораундові діалоги, глибоке мислення, візуальне розуміння, PDF, кешування підказок і виклик інструментів. Якщо у вас виникнуть будь-які запитання, будь ласка, не соромтеся звертатися до нашої команди технічної підтримки.