curl --request POST \
--url https://toapis.com/v1/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "Привет, расскажи о себе"
}
]
}'
curl --request POST \
--url https://toapis.com/v1/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"system": "Ты профессиональный помощник по программированию, специализирующийся на Python и Go.",
"messages": [
{
"role": "user",
"content": "Напиши быструю сортировку на Python"
}
]
}'
curl --request POST \
--url https://toapis.com/v1/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"stream": true,
"messages": [
{
"role": "user",
"content": "Объясни, что такое рекурсия"
}
]
}'
import anthropic
client = anthropic.Anthropic(
api_key="your-ToAPIs-key",
base_url="https://toapis.com"
)
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[
{"role": "user", "content": "Привет, расскажи о себе"}
]
)
print(message.content[0].text)
import anthropic
client = anthropic.Anthropic(
api_key="your-ToAPIs-key",
base_url="https://toapis.com"
)
with client.messages.stream(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[
{"role": "user", "content": "Объясни, что такое рекурсия"}
]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: "your-ToAPIs-key",
baseURL: "https://toapis.com",
});
const message = await client.messages.create({
model: "claude-sonnet-4-6",
max_tokens: 1024,
messages: [{ role: "user", content: "Привет, расскажи о себе" }],
});
console.log(message.content[0].text);
{
"id": "msg_01XFDUDYJgAACzvnptvVoYEL",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Привет! Я Claude — ИИ-ассистент от Anthropic. Я помогу ответить на вопросы, проанализировать информацию, написать код и многое другое. Чем могу помочь?"
}
],
"model": "claude-sonnet-4-6",
"stop_reason": "end_turn",
"usage": {
"input_tokens": 10,
"output_tokens": 32
}
}
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "messages: field required"
}
}
{
"type": "error",
"error": {
"type": "authentication_error",
"message": "Invalid API key"
}
}
Формат Anthropic
Anthropic Messages API
Общайтесь с моделями Claude в нативном формате Anthropic Messages API
POST
/
v1
/
messages
curl --request POST \
--url https://toapis.com/v1/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "Привет, расскажи о себе"
}
]
}'
curl --request POST \
--url https://toapis.com/v1/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"system": "Ты профессиональный помощник по программированию, специализирующийся на Python и Go.",
"messages": [
{
"role": "user",
"content": "Напиши быструю сортировку на Python"
}
]
}'
curl --request POST \
--url https://toapis.com/v1/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"stream": true,
"messages": [
{
"role": "user",
"content": "Объясни, что такое рекурсия"
}
]
}'
import anthropic
client = anthropic.Anthropic(
api_key="your-ToAPIs-key",
base_url="https://toapis.com"
)
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[
{"role": "user", "content": "Привет, расскажи о себе"}
]
)
print(message.content[0].text)
import anthropic
client = anthropic.Anthropic(
api_key="your-ToAPIs-key",
base_url="https://toapis.com"
)
with client.messages.stream(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[
{"role": "user", "content": "Объясни, что такое рекурсия"}
]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: "your-ToAPIs-key",
baseURL: "https://toapis.com",
});
const message = await client.messages.create({
model: "claude-sonnet-4-6",
max_tokens: 1024,
messages: [{ role: "user", content: "Привет, расскажи о себе" }],
});
console.log(message.content[0].text);
{
"id": "msg_01XFDUDYJgAACzvnptvVoYEL",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Привет! Я Claude — ИИ-ассистент от Anthropic. Я помогу ответить на вопросы, проанализировать информацию, написать код и многое другое. Чем могу помочь?"
}
],
"model": "claude-sonnet-4-6",
"stop_reason": "end_turn",
"usage": {
"input_tokens": 10,
"output_tokens": 32
}
}
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "messages: field required"
}
}
{
"type": "error",
"error": {
"type": "authentication_error",
"message": "Invalid API key"
}
}
Для пользователей из материкового Китая: используйте
https://toapis.cn в качестве эндпоинта (Base URL). Замените https://toapis.com на https://toapis.cn во всех примерах этого документа.- Нативный формат Anthropic Messages API
- Полная совместимость с официальным Anthropic SDK (Python / JavaScript) — нужно лишь изменить
base_url - Поддержка потоковой передачи (SSE)
- Поддержка многоходовых диалогов, системных подсказок, визуального ввода и вызова инструментов
Если вы уже используете OpenAI SDK, рекомендуем эндпоинт в формате OpenAI.
Если вы используете Anthropic SDK или Claude Code, рекомендуется этот эндпоинт.
Авторизация
string
Bearer-токен для прямых HTTP-запросов
Authorization: Bearer YOUR_API_KEY
string
API-ключ, совместимый с Anthropic SDK
x-api-key: YOUR_API_KEY
string
по умолчанию:"2023-06-01"
Версия Anthropic API. Устанавливается автоматически при использовании Anthropic SDK.Рекомендуемое значение:
2023-06-01Тело запроса
string
обязательно
Название моделиПоддерживаются все модели серии Claude, например:
claude-opus-4-6claude-sonnet-4-6claude-haiku-4-5
object[]
обязательно
Список сообщений в хронологическом порядке. Допустимы только роли
user и assistant. Системные подсказки задаются в поле system верхнего уровня.Показать messages[n]
Показать messages[n]
string
обязательно
Роль:
user или assistantstring | object[]
обязательно
Содержимое в виде строки или массива блоков контента
Показать Блок контента
Показать Блок контента
string
обязательно
Тип контента:
text или imagestring
Текстовое содержимое. Обязательно при
type: text.object
Источник изображения. Обязательно при
type: image.integer
обязательно
Максимальное количество токенов для генерации
- Claude Sonnet 4-6: до
64000 - Claude Opus 4-6: до
32000
string | object[]
Системная подсказка на верхнем уровне (не внутри
messages)Принимает строку или массив блоков контента.boolean
по умолчанию:false
Включить потоковую передачу (Server-Sent Events)
true: токены передаются по мере генерации в формате SSE Anthropicfalse: полный ответ возвращается одним блоком
number
по умолчанию:1
Температура семплированияДиапазон:
0 – 1number
Порог ядерного семплированияДиапазон:
0 – 1. Не рекомендуется задавать одновременно с temperature.string[]
Стоп-последовательности — генерация прекращается при появлении любой из них
Ответ
string
Уникальный идентификатор запроса с префиксом
msg_string
Тип объекта, всегда
messagestring
Роль ответа, всегда
assistantobject[]
Список сгенерированных блоков контента
content[].type: тип контента, обычноtextcontent[].text: сгенерированный текст
string
Модель, обработавшая запрос
string
Причина остановки генерации
end_turn: модель завершила ответ естественным образомmax_tokens: достигнут лимитmax_tokensstop_sequence: сработала стоп-последовательность
object
Статистика использования токенов
usage.input_tokens: количество входных токеновusage.output_tokens: количество выходных токенов
curl --request POST \
--url https://toapis.com/v1/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "Привет, расскажи о себе"
}
]
}'
curl --request POST \
--url https://toapis.com/v1/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"system": "Ты профессиональный помощник по программированию, специализирующийся на Python и Go.",
"messages": [
{
"role": "user",
"content": "Напиши быструю сортировку на Python"
}
]
}'
curl --request POST \
--url https://toapis.com/v1/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"stream": true,
"messages": [
{
"role": "user",
"content": "Объясни, что такое рекурсия"
}
]
}'
import anthropic
client = anthropic.Anthropic(
api_key="your-ToAPIs-key",
base_url="https://toapis.com"
)
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[
{"role": "user", "content": "Привет, расскажи о себе"}
]
)
print(message.content[0].text)
import anthropic
client = anthropic.Anthropic(
api_key="your-ToAPIs-key",
base_url="https://toapis.com"
)
with client.messages.stream(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[
{"role": "user", "content": "Объясни, что такое рекурсия"}
]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: "your-ToAPIs-key",
baseURL: "https://toapis.com",
});
const message = await client.messages.create({
model: "claude-sonnet-4-6",
max_tokens: 1024,
messages: [{ role: "user", content: "Привет, расскажи о себе" }],
});
console.log(message.content[0].text);
{
"id": "msg_01XFDUDYJgAACzvnptvVoYEL",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Привет! Я Claude — ИИ-ассистент от Anthropic. Я помогу ответить на вопросы, проанализировать информацию, написать код и многое другое. Чем могу помочь?"
}
],
"model": "claude-sonnet-4-6",
"stop_reason": "end_turn",
"usage": {
"input_tokens": 10,
"output_tokens": 32
}
}
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "messages: field required"
}
}
{
"type": "error",
"error": {
"type": "authentication_error",
"message": "Invalid API key"
}
}