核心指南

迁移指南

把现有 OpenAI、Anthropic、Gemini 和媒体客户端接到 TokenLab

不需要把所有请求改成同一种格式。现有 OpenAI 兼容客户端、Anthropic Messages、Gemini REST 和媒体接口,都有对应的 TokenLab API 地址。

API 地址对照

现有 APITokenLab Base URLAPI注意
OpenAI Chat Completionshttps://api.tokenlab.sh/v1/chat/completions适合继续使用已有 OpenAI 兼容聊天代码
OpenAI Responseshttps://api.tokenlab.sh/v1/responses应用依赖 Responses 输入、事件或工具时使用
Anthropic SDKhttps://api.tokenlab.sh/v1/messages请勿在 SDK 基础 URL 后添加 /v1
Gemini RESThttps://api.tokenlab.sh/v1beta/models/:model:generateContent继续使用 Gemini 字段
媒体生成https://api.tokenlab.sh/v1/images, /videos, /music, /3d按任务查找模型,并保存异步任务 ID
管理与账单https://api.tokenlab.sh/v1/management/...服务端使用管理令牌,不使用模型 API 密钥

常见迁移方式

从 OpenAI 迁移至 TokenLab

把 SDK 的 base_url / baseURL 改为 https://api.tokenlab.sh/v1,换成 TokenLab API 密钥,并从 GET /v1/models 选择模型 ID。

从 OpenRouter 迁移至 TokenLab

把 OpenRouter Base URL 换成 https://api.tokenlab.sh/v1。TokenLab 模型 ID 不带 OpenRouter 的 provider 前缀。只有应用确实需要 Anthropic Messages 或 Gemini 字段时,才改用相应格式。

从 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 请求。contents、parts、文件、缓存内容、函数声明和内置工具都保留原格式。

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.6-terra",
    messages=[{"role": "user", "content": "Hello from TokenLab"}],
)

原来的重试、超时和流式代码通常可以保留。请用 GET /v1/models 确认模型 ID。图片请求必须明确传入模型,具体输入见图片生成指南。

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-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Reply with: Connected to TokenLab."}],
)

Claude 工具调用、thinking blocks 和 Anthropic 消息字段应使用 /v1/messages,Chat Completions 不保证支持这些字段。

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 内置工具、File API 引用、缓存内容、函数声明和原生内容部分。

迁移图片、视频等媒体功能

用 GET /v1/models?recommended_for=image|video|music|3d 查找候选模型,并用 GET /v1/models/{model} 确认输入和价格。创建请求要明确传入 model。

异步生成返回后,立即保存 task_id、poll_url、模型和你自己的任务 ID。创建请求超时后,确认没有任务再重发,避免同一次用户操作生成两份结果。费用以 TokenLab Usage 和 billing_transaction_id 为准。

迁移陷阱

  • 应用需要 Anthropic、Gemini 或 Responses 专属字段时,请使用对应 API 格式。
  • 图片请求不要依赖旧默认值,明确传入 model。
  • 异步创建超时后,确认没有任务再重新提交。
  • 产品中使用 TokenLab 任务 ID 和 Usage 记录,不把第三方任务 ID 当作账单 ID。

API 参考

主题参考
API 格式选择 API 格式
OpenAI SDKOpenAI SDK
Anthropic SDKAnthropic SDK
Gemini生成 Gemini 内容
图片生成图片生成
异步任务异步任务与状态查询

本页内容