跳转到主要内容
TokenLab 是多格式的:您可以保持 OpenAI 兼容的客户端、Anthropic 原生的 Messages 调用、Gemini 原生的 REST 调用以及媒体端点的自然形态。最安全的迁移方式是不要将每个工作负载转换为一种通用格式。选择符合您应用程序所需行为的路线。

路线映射

现有工作负载TokenLab 基础 URL主要端点迁移说明
OpenAI 聊天完成https://api.tokenlab.sh/v1/chat/completions对于 OpenAI 兼容的聊天和函数调用,进行最小更改
OpenAI 响应https://api.tokenlab.sh/v1/responses当您的应用依赖于特定于响应的输入、工具或输出处理时使用
Anthropic SDKhttps://api.tokenlab.sh/v1/messages不要在 SDK 基础 URL 后附加 /v1
Gemini RESThttps://api.tokenlab.sh/v1beta/models/:model:generateContent在 Gemini 路由上保留 Gemini 原生字段
媒体生成https://api.tokenlab.sh/v1/images, /videos, /music, /3d通过 recommended_for 发现模型,并在文档中预期异步轮询
管理和计费https://api.tokenlab.sh/v1/management/...对于服务器端使用和计费对账,使用管理令牌

OpenAI 兼容迁移

from openai import OpenAI

client = OpenAI(
    api_key="sk-your-tokenlab-key",
    base_url="https://api.tokenlab.sh/v1",
)

response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": "Hello from TokenLab"}],
)
保留您现有的重试、超时和流式代码,但在生产流量之前使用 GET /v1/models 验证模型 ID。对于图像生成,明确发送 model 并阅读图像指南,因为图像模型的差异大于聊天模型。

Anthropic 迁移

from anthropic import Anthropic

client = Anthropic(
    api_key="sk-your-tokenlab-key",
    base_url="https://api.tokenlab.sh",
)

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Explain TokenLab in one sentence."}],
)
对于 Claude 原生工具使用、思维流程和 Anthropic 消息语义,请使用 /v1/messages。除非您有意想要 OpenAI 兼容的行为更改,否则不要通过聊天完成翻译仅限于 Anthropic 的字段。

Gemini 迁移

curl "https://api.tokenlab.sh/v1beta/models/gemini-3.5-flash:generateContent" \
  -H "Authorization: Bearer sk-your-tokenlab-key" \
  -H "Content-Type: application/json" \
  -d '{"contents":[{"parts":[{"text":"Hello"}]}]}'
当您的应用依赖于 Gemini 原生行为时,请在 /v1beta 上保留 Gemini 内置工具、文件 API 引用、缓存内容、函数声明和原生内容部分。

媒体迁移

  1. 查询 GET /v1/models?recommended_for=image|video|music|3d
  2. 在列表响应中阅读 tokenlab.public_contract_summary 和可用的完整 tokenlab.public_contract
  3. 明确发送 model,特别是对于图像端点。
  4. 存储 task_idpoll_url、端点、模型和您自己的作业 ID 以用于异步作业。
  5. 通过使用记录和 billing_transaction_id 而不是供应商任务 ID 来对账费用。
媒体工作负载需要自己的发布计划,因为延迟、重试和最终资产的行为与聊天完成不同。

生产发布计划

阶段目标检查
1. 清单列出端点、模型、请求字段、流式/异步行为和计费所有者不假设任何隐藏的仅限供应商字段是公开的
2. 单一路线试点移动一个端点和一个模型系列响应形状、成本和日志符合预期
3. 影子或样本将选定的输出与之前的供应商进行比较用户可见的质量和延迟是可以接受的
4. 渐进式发布按关键、组织或功能标志增加流量监控 4xx5xx、延迟、平衡和重复的异步作业
5. 清理仅在稳定使用后删除旧的供应商路径回滚路径和支持手册已记录

迁移陷阱

  • 如果您的应用需要原生的 Anthropic、Gemini 或 Responses 行为,请不要将每个模型放在一个 OpenAI 聊天完成路径后面。
  • 不要假设旧的图像默认值。明确发送 model
  • 在检查任务是否已创建之前,不要重试异步创建请求。
  • 不要在您的日志或 UI 中暴露供应商路由元数据。
  • 不要使用供应商任务 ID 比较计费。使用 TokenLab 使用记录。

API 参考

主题参考
多格式 API多格式 API
OpenAI SDKOpenAI SDK
Anthropic SDKAnthropic SDK
Gemini 原生Gemini 原生 API
图像生成图像生成
异步作业与轮询异步作业与轮询