TokenCode tương thích với giao thức Anthropic Messages API, bạn có thể sử dụng trực tiếp Anthropic SDK hoặc bất kỳ client nào tương thích giao thức Claude để kết nối.
https://tokencode.dev
Tất cả endpoint đều yêu cầu xác thực:
Endpoint Messages tương thích Anthropic Claude. Hỗ trợ mô hình Claude, cũng hỗ trợ gọi các mô hình khác thông qua chuyển đổi giao thức.
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": "Giải thích về điện toán lượng tử"}
]
}'
Tham số yêu cầu:
| Tham số | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
| model | string | Có | ID mô hình (ví dụ claude-sonnet-4-6) |
| messages | array | Có | Mảng đối tượng tin nhắn |
| max_tokens | integer | Có | Số Token tối đa được tạo |
| stream | boolean | Không | Bật phản hồi luồng |
| temperature | number | Không | Nhiệt độ lấy mẫu (0-1) |
| top_p | number | Không | Xác suất lấy mẫu nhân |
| top_k | integer | Không | Lấy mẫu Top-K |
| stop_sequences | array | Không | Chuỗi dừng |
| system | string/array | Không | System prompt |
| tools | array | Không | Định nghĩa công cụ |
| tool_choice | object | Không | Chiến lược gọi công cụ |
Ví dụ phản hồi:
{
"id": "msg_abc123",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Điện toán lượng tử là một phương pháp sử dụng nguyên lý cơ học lượng tử..."
}
],
"model": "claude-sonnet-4-6",
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 25,
"output_tokens": 128
}
}
Khi đặt "stream": true, phản hồi sử dụng định dạng SSE, loại sự kiện nhất quán với giao thức gốc 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":"Điện toán"}}
event: message_stop
data: {"type":"message_stop"}
Khi gọi mô hình không phải Claude qua endpoint giao thức Anthropic, TokenCode tự động hoàn thành chuyển đổi giao thức:
Điều này có nghĩa là bạn có thể gọi các mô hình khác như OpenAI, Gemini qua endpoint này trong các client gốc Anthropic như Claude Code mà không cần bất kỳ thích nghi nào.
import anthropic
client = anthropic.Anthropic(
api_key="sk-your-api-key",
base_url="https://tokencode.dev"
)
# Gọi mô hình Claude
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[{"role": "user", "content": "Xin chào"}]
)
# Gọi mô hình OpenAI — tự động chuyển đổi giao thức
message = client.messages.create(
model="gpt-5.5",
max_tokens=1024,
messages=[{"role": "user", "content": "Xin chào"}]
)
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: "sk-your-api-key",
baseURL: "https://tokencode.dev",
});
// Gọi mô hình Claude
const message = await client.messages.create({
model: "claude-sonnet-4-6",
max_tokens: 1024,
messages: [{ role: "user", content: "Xin chào" }],
});
Hỗ trợ đầu vào hình ảnh (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": "Mô tả hình ảnh này"
}
]
}
]
)
Phản hồi lỗi tuân theo định dạng lỗi Anthropic:
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "max_tokens: required"
}
}
| Mã trạng thái HTTP | Ý nghĩa |
|---|---|
| 400 | Tham số yêu cầu không hợp lệ |
| 401 | Xác thực thất bại — API Key không hợp lệ |
| 403 | Quyền không đủ |
| 404 | Mô hình không tồn tại |
| 429 | Giới hạn tốc độ hoặc số dư không đủ |
| 500 | Lỗi nội bộ máy chủ |
| 529 | Dịch vụ thượng-stream quá tải |