Skip to main content
POST
CometAPI нативно поддерживает Anthropic Messages API, предоставляя вам прямой доступ к моделям Claude с функциями, специфичными для Anthropic. Используйте этот endpoint для возможностей Claude, таких как adaptive thinking, кэширование Prompt и управление effort.
Используйте официальный справочник Anthropic Messages API как основной источник истины для полного списка параметров, схемы ответа и поведения, специфичного для Claude. На этой странице CometAPI объясняется, как отправлять такой формат запроса через CometAPI.
Параметры запросов Anthropic и поля ответов могут меняться по мере развития возможностей Claude. Проверьте документацию Anthropic Messages API, чтобы получить актуальный полный список параметров и поведение, специфичное для провайдера.
Многие более новые модели Claude отклоняют значения temperature, top_p и top_k, отличные от значений по умолчанию, в Messages API. Не указывайте эти поля сэмплирования, если вы не подтвердили их поддержку для выбранной модели. Если модель возвращает ошибку о неподдерживаемом или устаревшем параметре, удалите это поле из запроса.
Для аутентификации поддерживаются оба заголовка: x-api-key и Authorization: Bearer. Официальные SDK Anthropic по умолчанию используют x-api-key.

Быстрый старт

Чтобы использовать официальный Anthropic SDK с CometAPI, задайте base URL:

Управление adaptive thinking

Используйте adaptive thinking с output_config.effort, чтобы управлять тем, сколько работы Claude будет вкладывать в ответ. Более новые модели Claude отклоняют устаревшую форму ручного thinking thinking={"type": "enabled", "budget_tokens": ...}.
Токены thinking учитываются в вашем лимите max_tokens. Устанавливайте max_tokens достаточно высоким как для thinking, так и для финального ответа, когда используете более высокие уровни effort.

Кэширование Prompt

Чтобы уменьшить задержку и стоимость последующих запросов, кэшируйте большие system prompt или префиксы диалога. Добавьте cache_control в блоки content, которые нужно кэшировать:
Использование кэша отображается в поле ответа usage:
  • cache_creation_input_tokens — tokens, записанные в кэш (тарифицируются по более высокой ставке)
  • cache_read_input_tokens — tokens, считанные из кэша (тарифицируются по сниженной ставке)
Кэширование prompt требует минимум 1,024 tokens в кэшируемом блоке content. Контент короче этого объема не будет кэшироваться.

Потоковые ответы

Чтобы передавать ответы в потоке с помощью Server-Sent Events (SSE), установите stream: true. События приходят в таком порядке:
  1. message_start — содержит метаданные сообщения и начальное usage
  2. content_block_start — обозначает начало каждого блока content
  3. content_block_delta — инкрементальные фрагменты текста (text_delta)
  4. content_block_stop — обозначает конец каждого блока content
  5. message_delta — финальный stop_reason и полный usage
  6. message_stop — сигнализирует об окончании потока

Управление effort

Чтобы контролировать, сколько effort Claude вкладывает в генерацию ответа, используйте output_config.effort:

Использование server tools

Claude поддерживает server-side tools, которые выполняются в инфраструктуре Anthropic:
Получение и анализ контента по URL:

Пример ответа

Типичный ответ от Anthropic endpoint в CometAPI:

Сравнение с OpenAI-совместимым endpoint

Авторизации

x-api-key
string
header
обязательно

Your CometAPI key passed via the x-api-key header. Authorization: Bearer $COMETAPI_KEY is also supported.

Заголовки

anthropic-version
string
по умолчанию:2023-06-01

The Anthropic API version to use. Defaults to 2023-06-01.

Пример:

"2023-06-01"

anthropic-beta
string

Comma-separated list of beta features to enable. Examples: max-tokens-3-5-sonnet-2024-07-15, pdfs-2024-09-25, output-128k-2025-02-19.

Тело

application/json
model
string
обязательно

The Claude model to use. See the Models page for available Claude model IDs.

Пример:

"claude-sonnet-5"

messages
object[]
обязательно

The conversation messages. Must alternate between user and assistant roles. Each message's content can be a string or an array of content blocks (text, image, document, tool_use, tool_result). There is a limit of 100,000 messages per request.

max_tokens
integer
обязательно

The maximum number of tokens to generate. The model may stop before reaching this limit. When using thinking, the thinking tokens count towards this limit.

Требуемый диапазон: x >= 1
Пример:

1024

system

System prompt providing context and instructions to Claude. Can be a plain string or an array of content blocks (useful for prompt caching).

temperature
number
по умолчанию:1

Model-dependent sampling control. Many newer Claude models reject non-default temperature values on the Messages API. Omit this field unless you have verified that the selected model accepts it; if the model returns an unsupported or deprecated-parameter error, remove the field instead of substituting another sampling value.

Требуемый диапазон: 0 <= x <= 1
Пример:

1

top_p
number

Model-dependent nucleus sampling control. Many newer Claude models reject non-default top_p values on the Messages API. Omit this field unless you have verified support for the selected model. Do not set temperature and top_p together.

Требуемый диапазон: 0 <= x <= 1
Пример:

1

top_k
integer

Model-dependent top-k sampling control. Many newer Claude models reject non-default top_k values on the Messages API. Omit this field unless you have verified support for the selected model.

Требуемый диапазон: x >= 0
Пример:

0

stream
boolean
по умолчанию:false

If true, stream the response incrementally using Server-Sent Events (SSE). Events include message_start, content_block_start, content_block_delta, content_block_stop, message_delta, and message_stop.

stop_sequences
string[]

Custom strings that cause the model to stop generating when encountered. The stop sequence is not included in the response.

thinking
object

Controls Claude thinking when the selected model supports a configurable thinking mode. For newer adaptive-thinking models, use {"type":"adaptive"} with output_config.effort, or omit thinking when adaptive thinking is already the model default. Manual {"type":"enabled","budget_tokens":...} is supported only by older models and is rejected by newer Claude models.

tools
object[]

Tools the model may use. Supports client-defined functions, web search (web_search_20250305), web fetch (web_fetch_20250910), code execution (code_execution_20250522), and more.

tool_choice
object

Controls how the model uses tools.

metadata
object

Request metadata for tracking and analytics.

output_config
object

Configuration for response effort and output format. Field support depends on the selected Claude model.

service_tier
enum<string>

The service tier to use. auto tries priority capacity first, standard_only uses only standard capacity.

Доступные опции:
auto,
standard_only

Ответ

200 - application/json

Successful response. When stream is true, the response is a stream of SSE events.

id
string

Unique identifier for this message (e.g., msg_01XFDUDYJgAACzvnptvVoYEL).

type
enum<string>

Always message.

Доступные опции:
message
role
enum<string>

Always assistant.

Доступные опции:
assistant
content
object[]

The response content blocks. May include text, thinking, tool_use, and other block types.

model
string

The specific model version that generated this response, such as claude-sonnet-5.

stop_reason
enum<string>

Why the model stopped generating. refusal can be returned as a successful HTTP response when the model declines a request.

Доступные опции:
end_turn,
max_tokens,
stop_sequence,
tool_use,
pause_turn,
refusal
stop_sequence
string | null

The stop sequence that caused the model to stop, if applicable.

usage
object

Token usage statistics.