跳转到主要内容
TokenLab 采用多格式设计:您可以保留 OpenAI 兼容的客户端、Anthropic 原生 Messages 调用、Gemini 原生 REST 调用以及媒体端点,并保持其原有形态。最安全的迁移方式并非将所有工作负载转换为一种通用格式,而是选择最符合您应用程序行为需求的路径。

路由映射

快速迁移方案

从 OpenAI 迁移至 TokenLab

仅需将 SDK 的 base_url / baseURL 修改为 https://api.tokenlab.sh/v1。如果为了方便推广,可以保留现有的 OpenAI API 密钥环境变量名称,并在检查 GET /v1/models 后替换模型 ID。

从 OpenRouter 迁移至 TokenLab

在之前使用 OpenRouter 的 OpenAI 兼容基础 URL 的位置,改用 https://api.tokenlab.sh/v1。移除带有提供商前缀的模型 ID,并使用来自 /v1/models 的 TokenLab 公共模型 ID;当工作负载需要 Claude Messages 或 Gemini generateContent 时,请将其迁移至原生的 TokenLab 端点,而不是强行通过 OpenAI 兼容的聊天接口进行调用。

从 LiteLLM 迁移至 TokenLab

使用 LiteLLM 的 custom_openai/<model> 路由,并将 api_base 设置为 https://api.tokenlab.sh/v1。请将 LiteLLM 别名与真实的 TokenLab 模型 ID 分开,以便在不更改应用程序提示词的情况下调整路由策略。

通过 TokenLab 使用 Claude Messages

将 Anthropic SDK 客户端指向 https://api.tokenlab.sh 并调用 messages.create。请勿在 SDK 基础 URL 后添加 /v1;SDK 会自动处理 /v1/messages 路径。

通过 TokenLab 使用 Gemini 原生接口

https://api.tokenlab.sh/v1beta/models/{model}:generateContent 上保留 Gemini 有效负载。当您的应用依赖于 Gemini 行为时,Gemini 原生的 contentsparts、文件、缓存内容、函数声明和内置工具应保留在此路由上。

OpenAI 兼容迁移

保留您现有的重试、超时和流式传输代码,但在生产流量上线前,请务必使用 GET /v1/models 验证模型 ID。对于图像生成,请显式发送 model 参数并阅读图像指南,因为图像模型与聊天模型之间的差异更大。

Anthropic 迁移

对于 Claude 原生的工具使用、思维链(thinking flows)和 Anthropic 消息语义,请使用 /v1/messages。除非您有意想要更改为 OpenAI 兼容的行为,否则不要通过 Chat Completions 转换 Anthropic 独有的字段。

Gemini 迁移

当您的应用依赖于 Gemini 原生行为时,请在 /v1beta 上保留 Gemini 内置工具、File API 引用、缓存内容、函数声明和原生内容部分。

媒体迁移

  1. 查询 GET /v1/models?recommended_for=image|video|music|3d
  2. 在列表响应中读取 GET /v1/models,并在可用时读取完整的 GET /v1/models/{model}
  3. 显式发送 model,特别是对于图像端点。
  4. 为异步任务存储 task_idpoll_url、端点、模型以及您自己的作业 ID。
  5. 通过使用记录和 billing_transaction_id(而非提供商任务 ID)来核对成本。
媒体工作负载需要单独的上线计划,因为其延迟、重试和最终资产的行为与聊天补全不同。

生产上线计划

迁移陷阱

  • 如果您的应用需要原生的 Anthropic、Gemini 或 Responses 行为,请勿将所有模型置于同一个 OpenAI Chat Completions 路径下。
  • 不要假设旧的图像默认值。请显式发送 model
  • 在检查任务是否已创建之前,不要重试异步创建请求。
  • 不要在日志或 UI 中暴露提供商特定的标识符。
  • 不要使用提供商任务 ID 来核对账单。请使用 TokenLab 的使用记录。

API 参考