Перейти к основному содержанию
POST
/
v1
/
messages
Создать сообщение Anthropic Messages API
curl --request POST \
  --url https://speshu.ai/api/v1/messages \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'anthropic-version: <anthropic-version>' \
  --data '
{
  "model": "anthropic/claude-sonnet-4.6",
  "messages": [
    {
      "role": "user",
      "content": "Привет!"
    }
  ],
  "max_tokens": 1024,
  "stream": false,
  "temperature": 1,
  "top_p": 1,
  "top_k": 40,
  "stop_sequences": [
    "<string>"
  ],
  "system": "You are a helpful assistant.",
  "thinking": {
    "type": "adaptive"
  },
  "tools": [
    {}
  ],
  "tool_choice": {}
}
'
{
  "id": "msg_abc123",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Привет! Чем помочь?"
    }
  ],
  "model": "anthropic/claude-sonnet-4.6",
  "stop_reason": "end_turn",
  "stop_sequence": "<string>",
  "usage": {
    "input_tokens": 10,
    "output_tokens": 8
  }
}

Documentation Index

Fetch the complete documentation index at: https://speshu.ai/docs/llms.txt

Use this file to discover all available pages before exploring further.

SpeShu.AI поддерживает Anthropic-compatible POST /v1/messages. Если ваш клиент уже работает с Anthropic Messages API, замените base_url и используйте API-ключ SpeShu.AI.

Базовый URL

https://speshu.ai/api/v1

Авторизация

Поддерживаются оба варианта: x-api-key: <SPESHU_AI_API_KEY> Authorization: Bearer <SPESHU_AI_API_KEY> Также передавайте версию API: anthropic-version: 2023-06-01

Синхронный запрос

curl "https://speshu.ai/api/v1/messages" \
  -H "x-api-key: <SPESHU_AI_API_KEY>" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-4.6",
    "max_tokens": 1024,
    "messages": [
      { "role": "user", "content": "Привет!" }
    ]
  }'

Ответ 200

{
  "id": "msg_abc123",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Привет! Чем помочь?"
    }
  ],
  "model": "anthropic/claude-sonnet-4.6",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 10,
    "output_tokens": 8
  }
}

Streaming

Установите stream: true, чтобы получать ответ через Server-Sent Events.
curl "https://speshu.ai/api/v1/messages" \
  -H "x-api-key: <SPESHU_AI_API_KEY>" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-4.6",
    "max_tokens": 1024,
    "stream": true,
    "messages": [
      { "role": "user", "content": "Посчитай до 3" }
    ]
  }'
Ответ приходит как text/event-stream:
event: message_start
data: {"type":"message_start","message":{"id":"msg_abc","type":"message","role":"assistant","content":[],"model":"anthropic/claude-sonnet-4.6","stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":8,"output_tokens":1}}}

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":"1, 2, 3"}}

event: content_block_stop
data: {"type":"content_block_stop","index":0}

event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"output_tokens":5}}

event: message_stop
data: {"type":"message_stop"}
Клиент должен корректно обрабатывать неизвестные event-типы. Anthropic может добавлять новые события без изменения основного контракта.

Параметры

ПараметрТипОбязательныйОписание
modelstringДаID модели. Например, anthropic/claude-sonnet-4.6.
messagesarrayДаИстория сообщений с role и content.
max_tokensintegerДаМаксимум токенов в ответе.
streambooleanНетВключает SSE streaming. По умолчанию false.
temperaturenumberНетТемпература генерации.
top_pnumberНетNucleus sampling.
top_kintegerНетTop-K sampling.
stop_sequencesarrayНетПользовательские stop sequences.
systemstring или arrayНетСистемная инструкция.
thinkingobjectНетНастройки thinking. Например, { "type": "adaptive" }.
toolsarrayНетОписание инструментов для tool use.
tool_choiceobjectНетСтратегия выбора инструмента.

Python SDK

from anthropic import Anthropic

client = Anthropic(
    api_key="<SPESHU_AI_API_KEY>",
    base_url="https://speshu.ai/api/v1",
)

message = client.messages.create(
    model="anthropic/claude-sonnet-4.6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Привет!"}],
)

print(message.content[0].text)

Ошибки

Ошибки возвращаются в Anthropic-style формате:
{
  "error": {
    "type": "api_error",
    "message": "model is required"
  }
}
HTTP statusОписание
400Неверный JSON или параметры запроса.
401API-ключ не передан или недействителен.
402Недостаточно средств на балансе.
429Превышен лимит запросов.
500Внутренняя ошибка сервера.
502Провайдер временно недоступен.

Авторизации

Authorization
string
header
обязательно

API ключ передаётся в заголовке: Authorization: Bearer <SPESHU_AI_API_KEY>

Заголовки

anthropic-version
string
обязательно
Пример:

"2023-06-01"

Тело

application/json
model
string
обязательно
Пример:

"anthropic/claude-sonnet-4.6"

messages
object[]
обязательно
max_tokens
integer
обязательно
Пример:

1024

stream
boolean
по умолчанию:false
temperature
number
Пример:

1

top_p
number
Пример:

1

top_k
integer
Пример:

40

stop_sequences
string[]
system
Пример:

"You are a helpful assistant."

thinking
object
Пример:
{ "type": "adaptive" }
tools
object[]
tool_choice
object

Ответ

Сообщение создано. При stream=true ответ приходит как text/event-stream.

id
string
обязательно
Пример:

"msg_abc123"

type
string
обязательно
Пример:

"message"

role
string
обязательно
Пример:

"assistant"

content
object[]
обязательно
model
string
обязательно
Пример:

"anthropic/claude-sonnet-4.6"

stop_reason
string | null
Пример:

"end_turn"

stop_sequence
string | null
usage
object