TokenCode совместим с протоколом Anthropic Messages API. Вы можете напрямую использовать Anthropic SDK или любой клиент, совместимый с протоколом Claude.
https://tokencode.dev
Все эндпоинты требуют аутентификации:
Совместимый с Anthropic Claude эндпоинт Messages. Поддерживает модели Claude, а также другие модели через конвертацию протоколов.
curl https://tokencode.dev/v1/messages \
-H "x-api-key: sk-your-api-key" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Объясните квантовые вычисления"}
]
}'
Параметры запроса:
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| model | string | Да | ID модели (например, claude-sonnet-4-6) |
| messages | array | Да | Массив объектов сообщений |
| max_tokens | integer | Да | Максимальное количество генерируемых Token |
| stream | boolean | Нет | Включить ли потоковый ответ |
| temperature | number | Нет | Температура сэмплирования (0-1) |
| top_p | number | Нет | Вероятность ядерного сэмплирования |
| top_k | integer | Нет | Сэмплирование Top-K |
| stop_sequences | array | Нет | Стоп-последовательности |
| system | string/array | Нет | Системный промпт |
| tools | array | Нет | Определения инструментов |
| tool_choice | object | Нет | Стратегия вызова инструментов |
Пример ответа:
{
"id": "msg_abc123",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Квантовые вычисления — это метод использования принципов квантовой механики..."
}
],
"model": "claude-sonnet-4-6",
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 25,
"output_tokens": 128
}
}
При установке "stream": true ответ использует формат SSE с типами событий, идентичными нативному протоколу Anthropic:
event: message_start
data: {"type":"message_start","message":{"id":"msg_abc123","type":"message","role":"assistant","content":[],"model":"claude-sonnet-4-6","usage":{"input_tokens":25,"output_tokens":0}}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Квант"}}
event: message_stop
data: {"type":"message_stop"}
При вызове не-Claude моделей через эндпоинт протокола Anthropic, TokenCode автоматически выполняет конвертацию протоколов:
Это означает, что вы можете использовать Claude Code и другие нативные клиенты Anthropic для вызова моделей OpenAI, Gemini и других через этот эндпоинт без какой-либо дополнительной адаптации.
import anthropic
client = anthropic.Anthropic(
api_key="sk-your-api-key",
base_url="https://tokencode.dev"
)
# Вызов модели Claude
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[{"role": "user", "content": "Привет"}]
)
# Вызов модели OpenAI — автоматическая конвертация протокола
message = client.messages.create(
model="gpt-5.5",
max_tokens=1024,
messages=[{"role": "user", "content": "Привет"}]
)
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: "sk-your-api-key",
baseURL: "https://tokencode.dev",
});
// Вызов модели Claude
const message = await client.messages.create({
model: "claude-sonnet-4-6",
max_tokens: 1024,
messages: [{ role: "user", content: "Привет" }],
});
Поддерживается ввод изображений (Vision):
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": "<base64-encoded-image>"
}
},
{
"type": "text",
"text": "Опишите это изображение"
}
]
}
]
)
Ответы об ошибках соответствуют формату ошибок Anthropic:
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "max_tokens: required"
}
}
| HTTP-статус | Значение |
|---|---|
| 400 | Неверные параметры запроса |
| 401 | Ошибка аутентификации — недействительный API Key |
| 403 | Недостаточно прав |
| 404 | Модель не найдена |
| 429 | Ограничение скорости или недостаточный баланс |
| 500 | Внутренняя ошибка сервера |
| 529 | Перегрузка upstream-сервиса |