TokenCode 完全兼容 OpenAI API 协议,你可以直接使用 OpenAI SDK 或任何兼容 OpenAI 协议的客户端连接。
https://tokencode.dev/v1
所有端点需要认证:
返回当前可用的模型列表。
curl https://tokencode.dev/v1/models \
-H "Authorization: Bearer sk-your-api-key"
响应示例:
{
"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" }
]
}
OpenAI 兼容的对话补全端点。支持所有上游模型,不限于 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": "你是一个有帮助的助手。"},
{"role": "user", "content": "解释一下量子计算"}
],
"temperature": 0.7,
"max_tokens": 1024
}'
请求参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 模型 ID(如 gpt-5.5、claude-sonnet-4-6) |
| messages | array | 是 | 消息对象数组 |
| stream | boolean | 否 | 是否启用流式响应 |
| temperature | number | 否 | 采样温度(0-2) |
| max_tokens | integer | 否 | 最大生成 Token 数 |
| top_p | number | 否 | 核采样概率 |
| n | integer | 否 | 生成候选数量 |
| stop | string/array | 否 | 停止序列 |
| presence_penalty | number | 否 | 存在惩罚(-2 到 2) |
| frequency_penalty | number | 否 | 频率惩罚(-2 到 2) |
| tools | array | 否 | Function Calling 工具定义 |
| tool_choice | string/object | 否 | 工具调用策略 |
响应示例:
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1700000000,
"model": "gpt-5.5",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "量子计算是一种利用量子力学原理..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 25,
"completion_tokens": 128,
"total_tokens": 153
}
}
设置 "stream": true 时,响应使用 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":"子"},"index":0}]}
data: [DONE]
生成文本向量嵌入。
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"
}'
请求参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 嵌入模型 ID |
| input | string/array | 是 | 要嵌入的文本 |
| encoding_format | string | 否 | 编码格式(float 或 base64) |
TokenCode 的核心优势之一是协议自动转换。当你通过 OpenAI 兼容端点调用非 OpenAI 模型时(如 Claude、Gemini),平台会自动完成:
这意味着你可以用同一套 OpenAI SDK 代码调用所有模型,无需关心底层协议差异。
from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://tokencode.dev/v1"
)
# 调用 OpenAI 模型
response = client.chat.completions.create(
model="gpt-5.5",
messages=[{"role": "user", "content": "你好"}]
)
# 调用 Claude 模型 — 同样的代码,自动转换协议
response = client.chat.completions.create(
model="claude-sonnet-4-6",
messages=[{"role": "user", "content": "你好"}]
)
# 调用 Gemini 模型 — 一样的方式
response = client.chat.completions.create(
model="gemini-2.5-pro",
messages=[{"role": "user", "content": "你好"}]
)
所有错误遵循 OpenAI 错误格式:
{
"error": {
"message": "Invalid API key",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
| HTTP 状态码 | 含义 |
|---|---|
| 400 | 请求参数无效 |
| 401 | 认证失败 — API Key 无效 |
| 403 | 权限不足 — 模型不可用 |
| 429 | 速率限制或余额不足 |
| 500 | 服务器内部错误 |
| 502 | 上游服务异常 |