/v1/messagesСоздаёт ответ модели на последовательность сообщений. Эндпоинт совместим с Anthropic Messages API — работает с официальным SDK без изменений, меняется только base_url.
model (для маршрутизации и тарификации) и при необходимости подставляет max_tokens по умолчанию. Любое поле Anthropic Messages API поддерживается.| Параметр | Тип | Описание |
|---|---|---|
x-api-keyобязательный | string | Ваш ключ sk-ev-…. Альтернатива — Authorization: Bearer sk-ev-…. |
anthropic-versionобязательный | string | Версия API Anthropic, например 2023-06-01. |
content-typeобязательный | string | application/json. |
| Параметр | Тип | Описание |
|---|---|---|
modelобязательный | string | Id модели из каталога, например claude-sonnet-4-6. См. список моделей. |
messagesобязательный | object[] | Массив сообщений {role, content}. role — "user" или "assistant". content — строка или массив блоков (текст, изображение, tool_use). |
max_tokensобязательный | integer | Максимум токенов в ответе. Если не указать, шлюз подставит значение по умолчанию; верхний предел платформы — 32768. |
systemопционально | string | Системная подсказка — задаёт роль и поведение модели. |
streamопционально | boolean | true — отдавать ответ по мере генерации через SSE. По умолчанию false. |
temperatureопционально | number | Случайность ответа, 0–1. Ниже — детерминированнее. |
stop_sequencesопционально | string[] | Последовательности, при появлении которых генерация останавливается. |
toolsопционально | object[] | Описания инструментов для function calling. |
curl https://api.evomodels.xyz/v1/messages \
-H "x-api-key: sk-ev-ВАШ_КЛЮЧ" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"system": "Ты — лаконичный ассистент.",
"messages": [
{"role": "user", "content": "Назови три простых числа."}
]
}'Возвращается объект message. Текст лежит в content[].text, причина остановки — в stop_reason, счётчики токенов — в usage.
{
"id": "msg_01ABCxyz...",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-4-6",
"content": [
{ "type": "text", "text": "2, 3, 5." }
],
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 19,
"output_tokens": 9
}
}| Параметр | Тип | Описание |
|---|---|---|
idопционально | string | Идентификатор сообщения. |
contentопционально | object[] | Блоки ответа: {type:"text", text}. |
stop_reasonопционально | string | end_turn, max_tokens, stop_sequence или tool_use. |
usage.input_tokensопционально | integer | Токенов на входе (по ним считается стоимость). |
usage.output_tokensопционально | integer | Токенов сгенерировано. |
С "stream": true ответ приходит как поток Server-Sent Events: message_start, затем content_block_start, серия content_block_delta, content_block_stop, и в конце message_delta (с stop_reason и usage) и message_stop. Подробнее — в разделе Стриминг.
curl https://api.evomodels.xyz/v1/messages \
-H "x-api-key: sk-ev-ВАШ_КЛЮЧ" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"stream": true,
"messages": [{"role": "user", "content": "Привет!"}]
}'event: message_start
data: {"type":"message_start","message":{"id":"msg_01...","role":"assistant","content":[],"usage":{"input_tokens":8,"output_tokens":0}}}
event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"При"}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"вет!"}}
event: content_block_stop
data: {"type":"content_block_stop","index":0}
event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn"},"usage":{"output_tokens":12}}
event: message_stop
data: {"type":"message_stop"}При ошибке возвращается JSON в формате Anthropic с полем error.type. Например, при неверном ключе придёт 401:
{
"type": "error",
"error": {
"type": "authentication_error",
"message": "Invalid or missing API key."
}
}Полный список кодов, причин и способов починки — в справочнике ошибок.