路线映射
| 现有工作负载 | TokenLab 基础 URL | 主要端点 | 迁移说明 |
|---|---|---|---|
| OpenAI 聊天完成 | https://api.tokenlab.sh/v1 | /chat/completions | 对于 OpenAI 兼容的聊天和函数调用,进行最小更改 |
| OpenAI 响应 | https://api.tokenlab.sh/v1 | /responses | 当您的应用依赖于特定于响应的输入、工具或输出处理时使用 |
| Anthropic SDK | https://api.tokenlab.sh | /v1/messages | 不要在 SDK 基础 URL 后附加 /v1 |
| Gemini REST | https://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 兼容迁移
GET /v1/models 验证模型 ID。对于图像生成,明确发送 model 并阅读图像指南,因为图像模型的差异大于聊天模型。
Anthropic 迁移
/v1/messages。除非您有意想要 OpenAI 兼容的行为更改,否则不要通过聊天完成翻译仅限于 Anthropic 的字段。
Gemini 迁移
/v1beta 上保留 Gemini 内置工具、文件 API 引用、缓存内容、函数声明和原生内容部分。
媒体迁移
- 查询
GET /v1/models?recommended_for=image|video|music|3d。 - 在列表响应中阅读
tokenlab.public_contract_summary和可用的完整tokenlab.public_contract。 - 明确发送
model,特别是对于图像端点。 - 存储
task_id、poll_url、端点、模型和您自己的作业 ID 以用于异步作业。 - 通过使用记录和
billing_transaction_id而不是供应商任务 ID 来对账费用。
生产发布计划
| 阶段 | 目标 | 检查 |
|---|---|---|
| 1. 清单 | 列出端点、模型、请求字段、流式/异步行为和计费所有者 | 不假设任何隐藏的仅限供应商字段是公开的 |
| 2. 单一路线试点 | 移动一个端点和一个模型系列 | 响应形状、成本和日志符合预期 |
| 3. 影子或样本 | 将选定的输出与之前的供应商进行比较 | 用户可见的质量和延迟是可以接受的 |
| 4. 渐进式发布 | 按关键、组织或功能标志增加流量 | 监控 4xx、5xx、延迟、平衡和重复的异步作业 |
| 5. 清理 | 仅在稳定使用后删除旧的供应商路径 | 回滚路径和支持手册已记录 |
迁移陷阱
- 如果您的应用需要原生的 Anthropic、Gemini 或 Responses 行为,请不要将每个模型放在一个 OpenAI 聊天完成路径后面。
- 不要假设旧的图像默认值。明确发送
model。 - 在检查任务是否已创建之前,不要重试异步创建请求。
- 不要在您的日志或 UI 中暴露供应商路由元数据。
- 不要使用供应商任务 ID 比较计费。使用 TokenLab 使用记录。
API 参考
| 主题 | 参考 |
|---|---|
| 多格式 API | 多格式 API |
| OpenAI SDK | OpenAI SDK |
| Anthropic SDK | Anthropic SDK |
| Gemini 原生 | Gemini 原生 API |
| 图像生成 | 图像生成 |
| 异步作业与轮询 | 异步作业与轮询 |