Процесс получения
Чтобы использовать 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
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:
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или используйте effortlow/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:
{"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 являются независимыми тарифицируемыми корзинами; все три рассчитываются отдельно по соответствующим ценам.
Если ваша система уже интегрирована с 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: ошибка сервиса, временная недоступность или тайм-аут обработки.
Пример ответа с ошибкой
error.code.

