TokenSail 提供完全兼容 OpenAI 格式的 API,只需替换 Base URL 和 API Key 即可无缝切换。
在请求 Header 中携带您的虚拟密钥:
Authorization: Bearer sk-tokensail-xxxxxxxxxxxx
Base URL:
https://api.tokensail.ai/v1
| 方法 | 路径 | 描述 |
|---|---|---|
| POST | /v1/chat/completions | 对话补全(支持流式) |
| POST | /v1/embeddings | 文本嵌入 |
| POST | /v1/images/generations | 图片生成 |
| GET | /v1/models | 查询可用模型 |
curl -X POST https://api.tokensail.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-tokensail-xxxx" \
-d '{
"model": "deepseek-chat",
"messages": [{"role": "user", "content": "Hello!"}],
"stream": false
}'
from openai import OpenAI
client = OpenAI(
api_key="sk-tokensail-xxxx",
base_url="https://api.tokensail.ai/v1"
)
resp = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": "Hello!"}]
)
print(resp.choices[0].message.content)
curl -X POST https://api.tokensail.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-tokensail-xxxx" \
-d '{
"model": "deepseek-chat",
"messages": [{"role": "user", "content": "Tell me a joke"}],
"stream": true
}'
每次请求响应中包含以下计费信息 Header:
| Header | 含义 |
|---|---|
X-TokenSail-Cost | 本次请求扣费金额(USD) |
X-TokenSail-Balance | 扣费后剩余余额 |
X-TokenSail-RequestId | 唯一请求 ID(用于追踪) |
| HTTP 状态码 | 含义 | 建议操作 |
|---|---|---|
| 401 | 密钥无效或缺失 | 检查 Authorization Header |
| 402 | 余额不足 | 充值后重试 |
| 403 | 模型不在允许列表 / IP 不在白名单 | 检查密钥配置 |
| 429 | 请求频率超限 (RPM/TPM) | 降低频率或升级限额 |
| 502 | 上游渠道异常 | 稍后重试,系统将自动切换渠道 |
| 503 | 服务暂不可用 | 等待后重试 |