TokenCode hoàn toàn tương thích với giao thức OpenAI API, bạn có thể sử dụng trực tiếp OpenAI SDK hoặc bất kỳ client nào tương thích giao thức OpenAI để kết nối.
https://tokencode.dev/v1
Tất cả endpoint đều yêu cầu xác thực:
Trả về danh sách mô hình hiện có.
curl https://tokencode.dev/v1/models \
-H "Authorization: Bearer sk-your-api-key"
Ví dụ phản hồi:
{
"object": "list",
"data": [
{ "id": "gpt-5.5", "object": "model", "owned_by": "openai" },
{ "id": "claude-sonnet-4-6", "object": "model", "owned_by": "anthropic" },
{ "id": "gemini-2.5-pro", "object": "model", "owned_by": "google" }
]
}
Endpoint hoàn thành hội thoại tương thích OpenAI. Hỗ trợ tất cả mô hình thượng-stream, không giới hạn mô hình OpenAI.
curl https://tokencode.dev/v1/chat/completions \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"messages": [
{"role": "system", "content": "Bạn là một trợ giúp hữu ích."},
{"role": "user", "content": "Giải thích về điện toán lượng tử"}
],
"temperature": 0.7,
"max_tokens": 1024
}'
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ụ gpt-5.5, claude-sonnet-4-6) |
| messages | array | Có | Mảng đối tượng tin nhắn |
| stream | boolean | Không | Bật phản hồi luồng |
| temperature | number | Không | Nhiệt độ lấy mẫu (0-2) |
| max_tokens | integer | Không | Số Token tối đa được tạo |
| top_p | number | Không | Xác suất lấy mẫu nhân |
| n | integer | Không | Số lượng ứng viên được tạo |
| stop | string/array | Không | Chuỗi dừng |
| presence_penalty | number | Không | Hình phạt hiện diện (-2 đến 2) |
| frequency_penalty | number | Không | Hình phạt tần suất (-2 đến 2) |
| tools | array | Không | Định nghĩa công cụ Function Calling |
| tool_choice | string/object | Không | Chiến lược gọi công cụ |
Ví dụ phản hồi:
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1700000000,
"model": "gpt-5.5",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Đ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ử..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 25,
"completion_tokens": 128,
"total_tokens": 153
}
}
Khi đặt "stream": true, phản hồi sử dụng định dạng SSE:
data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"delta":{"content":"Đ"},"index":0}]}
data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"delta":{"content":"iện"},"index":0}]}
data: [DONE]
Tạo vector nhúng văn bản.
curl https://tokencode.dev/v1/embeddings \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "text-embedding-3-small",
"input": "Hello world"
}'
Tham số yêu cầu:
| Tham số | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
| model | string | Có | ID mô hình nhúng |
| input | string/array | Có | Văn bản cần nhúng |
| encoding_format | string | Không | Định dạng mã hóa (float hoặc base64) |
Một trong những lợi thế cốt lõi của TokenCode là tự động chuyển đổi giao thức. Khi bạn gọi mô hình không phải OpenAI (như Claude, Gemini) qua endpoint tương thích OpenAI, nền tảng tự động hoàn thành:
Điều này có nghĩa là bạn có thể sử dụng cùng một bộ mã OpenAI SDK để gọi tất cả mô hình mà không cần quan tâm đến sự khác biệt giao thức bên dưới.
from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://tokencode.dev/v1"
)
# Gọi mô hình OpenAI
response = client.chat.completions.create(
model="gpt-5.5",
messages=[{"role": "user", "content": "Xin chào"}]
)
# Gọi mô hình Claude — cùng mã, tự động chuyển đổi giao thức
response = client.chat.completions.create(
model="claude-sonnet-4-6",
messages=[{"role": "user", "content": "Xin chào"}]
)
# Gọi mô hình Gemini — cùng cách thức
response = client.chat.completions.create(
model="gemini-2.5-pro",
messages=[{"role": "user", "content": "Xin chào"}]
)
Tất cả lỗi tuân theo định dạng lỗi OpenAI:
{
"error": {
"message": "Invalid API key",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
| 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 đủ — Mô hình không khả dụng |
| 429 | Giới hạn tốc độ hoặc số dư không đủ |
| 500 | Lỗi nội bộ máy chủ |
| 502 | Dịch vụ thượng-stream bất thường |