快速入门

TokenAPI 提供 OpenAI 兼容的 API 接口,您可以使用任何支持 OpenAI API 的客户端库或直接发送 HTTP 请求来调用。

三步开始

  • 1. 在 控制台 创建 API Key
  • 2. 充值余额(先充后扣,无最低消费)
  • 3. 使用 OpenAI SDK 或 HTTP 调用接口

认证方式

所有请求需在 Header 中携带 API Key:

HTTP Header
Authorization: Bearer sk-your-api-key

API Key 以 sk- 开头,创建时仅显示一次,请妥善保存。

Base URL

所有 API 请求的基础地址为:

http://localhost:8000/v1/token-api

使用 OpenAI SDK 时设置 base_url 为上述地址即可。

获取模型列表

GET/v1/token-api/models
返回当前可用的模型列表(OpenAI 兼容格式)
curl
curl http://localhost:8000/v1/token-api/models \
  -H "Authorization: Bearer sk-your-api-key"
响应示例
{
  "object": "list",
  "data": [
    {
      "id": "deepseek-chat",
      "object": "model",
      "owned_by": "deepseek"
    }
  ]
}

对话补全

POST/v1/token-api/chat/completions
创建对话补全,支持流式和非流式两种模式
curl
curl http://localhost:8000/v1/token-api/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-your-api-key" \
  -d '{
    "model": "deepseek-chat",
    "messages": [
      {"role": "user", "content": "你好"}
    ],
    "stream": false
  }'

响应格式

{
  "id": "tok_xxx",
  "choices": [{
    "message": {
      "role": "assistant",
      "content": "你好!有什么可以帮你的?"
    },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 5,
    "completion_tokens": 10,
    "prompt_cache_hit_tokens": 0,
    "prompt_cache_miss_tokens": 5
  }
}

流式响应

设置 stream: true 启用流式输出,响应以 SSE 格式返回:

data: {"choices":[{"delta":{"content":"你"}}]}

data: {"choices":[{"delta":{"content":"好"}}]}

data: {"choices":[],"usage":{"prompt_tokens":5,"completion_tokens":2}}

data: [DONE]

请求参数

参数类型必填说明
modelstring模型名称,如 deepseek-chat
messagesarray对话消息列表,含 role 和 content
streamboolean是否流式输出,默认 false
temperaturefloat采样温度 0-2,默认 0.7
max_tokensint最大生成 token 数
top_pfloat核采样概率
stopstring/array停止词
response_formatobject指定响应格式如 JSON

计费规则

采用 DeepSeek 兼容的 Token 计费算法:

# 费用 = 缓存命中 × 命中价 + 缓存未命中 × 未命中价 + 输出 × 输出价
cost = cache_hit_tokens × hit_price / unit
      + cache_miss_tokens × miss_price / unit
      + completion_tokens × output_price / unit
  • 缓存命中 (cache_hit):与之前请求相同的 prompt 前缀部分,按更低的缓存价计费
  • 缓存未命中 (cache_miss):新增的 prompt 部分,按标准输入价计费
  • 输出 (completion):模型生成的回复 token,按输出价计费

具体价格因模型而异,可在控制台查看各模型的实际费率。

Token 用量

每次调用的响应中包含 usage 字段,可在控制台查看完整的调用明细、按日趋势和按模型聚合统计。

计费流程采用三层模式确保准确性:

  • 预扣:请求前按预估 token 数预扣余额
  • 结算:请求完成后按实际 token 数多退少补
  • 退款:上游失败时全额退还预扣费用

错误码

HTTP 状态码含义说明
400参数错误messages 为空、model 缺失等
401认证失败API Key 无效或已停用
402余额不足需充值后重试
404模型不存在model 参数错误
429请求过频超过 RPM 限制
502上游错误模型服务异常
504请求超时上游响应超时

代码示例

Python (OpenAI SDK)

from openai import OpenAI

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="http://localhost:8000/v1/token-api"
)

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "Hello"}],
)
print(response.choices[0].message.content)

Node.js

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "sk-your-api-key",
  baseURL: "http://localhost:8000/v1/token-api",
});

const response = await client.chat.completions.create({
  model: "deepseek-chat",
  messages: [{ role: "user", content: "Hello" }],
});
console.log(response.choices[0].message.content);

curl

curl http://localhost:8000/v1/token-api/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-your-api-key" \
  -d '{"model":"deepseek-chat","messages":[{"role":"user","content":"Hello"}]}'