核心

API 参考

端点、认证、响应头与错误说明

TokenLab 提供 OpenAI 兼容端点,也支持 Anthropic 和 Gemini 请求格式。现有 OpenAI 客户端可以直接使用 /v1;只有应用依赖某种 API 的特有行为时,才需要换成对应格式。POST /v1/responses 是可选端点,具体能力取决于模型。

基础 URL

https://api.tokenlab.sh

认证

模型请求使用 TokenLab API 密钥,标准鉴权请求头为:

Authorization: Bearer sk-your-api-key

GET /v1/models、GET /v1/models/{model} 和 GET /v1/pricing 是公开接口,不需要密钥。Anthropic Messages 也接受 x-api-key;Gemini 除 Bearer 外,还接受 x-goog-api-key 或 ?key=。/v1/management/* 要求使用管理令牌(mt-...)。

在 Console 创建 API 密钥。

交付方式

生成请求可以通过 X-TokenLab-Delivery-Policy: auto | verified | official 选择交付方式。请求头设置优先于 API 密钥设置,API 密钥设置优先于工作区默认值。

  • Auto 默认优先使用 TokenLab Verified,需要时改用 Official。只按最终完成请求的方式计费。
  • TokenLab Verified 是由 TokenLab 验证的交付方式,按 TokenLab 价格计费。
  • Official 以模型厂商公开价格为基础,实际费用以 TokenLab 页面显示为准。
  • Realtime 会话沿用 API 密钥或工作区设置,不能通过查询参数改写。

请求头取值无效时返回 400。所选交付方式暂时不可用时返回 503 delivery_tier_unavailable,并带上请求 ID。

文档里的 Playground 不能输入 API 密钥。 发送真实请求可以使用:

  • cURL — 复制示例,并替换 sk-your-api-key
  • Postman — 导入 OpenAPI 规范
  • SDK — 在支持的 SDK 中设置 TokenLab API 地址

支持的端点

聊天与文字生成

端点方法说明
/v1/chat/completionsPOSTOpenAI 兼容 Chat Completions
/v1/messagesPOSTAnthropic Messages
/v1/responsesPOSTOpenAI Responses API

Embeddings 与 Rerank

端点方法说明
/v1/embeddingsPOST创建文字 Embeddings
/v1/rerankPOST按相关性重排文档

图像

端点方法说明
/v1/images/generationsPOST从文本生成图像
/v1/images/editsPOST编辑图像
/v1/images/generations/{id}GET查询异步图片任务状态

图片模型可能直接返回成品,也可能返回异步任务。如果响应包含 poll_url,请使用这个地址查询任务。

音频

端点方法说明
/v1/audio/speechPOST文本转语音 (TTS)
/v1/audio/transcriptionsPOST语音转文本 (STT)

实时

端点方法说明
/v1/realtime?model={model}WS实时 WebSocket 会话

使用 /v1/realtime 建立 WebSocket 连接。普通 GET /v1/realtime 会返回端点信息。这不是 OpenAI Realtime REST API;client secret、Calls 和旧版 beta session 端点暂不支持。

视频

端点方法说明
/v1/videos/generationsPOST创建视频生成任务
/v1/tasks/{id}GET获取视频任务状态
/v1/videos/generations/{id}GET向后兼容的视频任务状态路径

使用创建任务时返回的 poll_url。/v1/videos/generations/{id} 仅为旧客户端保留。

异步任务

端点方法说明
/v1/tasks/{id}GET查询异步任务状态

视频、音乐、3D 和部分图片请求都可能在 poll_url 中返回这个端点。

音乐

端点方法说明
/v1/music/generationsPOST创建音乐生成任务
/v1/music/generations/{id}GET音乐专用的状态路径

使用返回的 poll_url。需要音乐专用地址的旧客户端仍可使用 /v1/music/generations/{id}。

3D 生成

端点方法说明
/v1/3d/generationsPOST创建 3D 模型生成任务
/v1/3d/generations/{id}GET3D 专用的状态路径

使用返回的 poll_url。需要 3D 专用地址的旧客户端仍可使用 /v1/3d/generations/{id}。

模型

端点方法说明
/v1/modelsGET列出所有可用模型
/v1/models/{model}GET获取特定模型信息

Gemini(v1beta)

原生 Google Gemini API 格式支持:

端点方法说明
/v1beta/models/{model}:generateContentPOST生成内容(Gemini 格式)
/v1beta/models/{model}:streamGenerateContentPOST流式生成内容(Gemini 格式)

Gemini 端点除标准的 Bearer token 外,还支持 ?key= 查询参数认证。

响应格式

各端点保留对应 API 的响应格式。以下成功与错误示例采用 Chat Completions 格式。

成功响应

{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1234567890,
  "model": "gpt-5.6-terra",
  "choices": [{"index": 0, "message": {"role": "assistant", "content": "Hello!"}, "finish_reason": "stop"}],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 20,
    "total_tokens": 30
  }
}

请求 ID、任务 ID 与账单 ID

需要查询请求、任务或费用时,请保存响应中实际出现的 ID:

响应头说明
X-Routing-Time-MS选择交付方式所用时间(如有)
X-Request-ID用于支持和排查问题的请求 ID(如有)
X-Task-ID任务型响应的公开异步任务标识(如可用)
X-Billing-Transaction-ID最终计费后的计费交易标识(如可用)

错误响应

{
  "error": {
    "message": "Invalid API key provided",
    "type": "invalid_api_key",
    "code": "invalid_api_key"
  }
}

速率限制

账户层级决定默认的每分钟请求数:

角色请求/分钟
用户1,000
合作伙伴10,000
VIP10,000

如需自定义速率限制,请联系支持。确切值可能因账户配置而异。

达到限额后,API 返回 429 和 Retry-After 响应头。客户端应按给出的秒数等待。

OpenAPI 规范

OpenAPI 规范

下载完整的 OpenAPI 3.1 规范

本页内容