API 接入文档

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

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
  }'

Python (openai SDK)

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)

流式请求 (Stream)

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:

Header含义
X-TokenSail-Cost本次请求扣费金额(USD)
X-TokenSail-Balance扣费后剩余余额
X-TokenSail-RequestId唯一请求 ID(用于追踪)

错误码

HTTP 状态码含义建议操作
401密钥无效或缺失检查 Authorization Header
402余额不足充值后重试
403模型不在允许列表 / IP 不在白名单检查密钥配置
429请求频率超限 (RPM/TPM)降低频率或升级限额
502上游渠道异常稍后重试,系统将自动切换渠道
503服务暂不可用等待后重试

计费说明