TokenLab

核心指南

遷移指南

透過少量且符合生產環境安全的變更,將 OpenAI、Anthropic、Gemini 及媒體工作負載遷移至 TokenLab。

TokenLab 支援多種格式:您可以保留 OpenAI 相容的客戶端、Anthropic 原生 Messages 呼叫、Gemini 原生 REST 呼叫以及媒體端點的原始形式。最安全的遷移方式並非將所有工作負載轉換為單一通用格式,而是選擇最符合您應用程式所需行為的路徑。

路由映射 (Route Mapping)

現有工作負載TokenLab 基礎 URL主要端點遷移注意事項
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 路由上保留 Gemini 原生欄位
媒體生成https://api.tokenlab.sh/v1/images, /videos, /music, /3d使用 recommended_for 探索模型,並預期在文件記載處進行非同步輪詢
管理與計費https://api.tokenlab.sh/v1/management/...伺服器端使用與計費對帳請使用管理 Token

快速遷移方案

OpenAI 遷移至 TokenLab

僅需將 SDK 的 base_url / baseURL 變更為 https://api.tokenlab.sh/v1。若為了部署方便,可保留現有的 OpenAI API key 環境變數名稱,並在檢查 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 分開,以便在不變更應用程式 Prompt 的情況下調整路由策略。

透過 TokenLab 使用 Claude Messages

將 Anthropic SDK 客戶端指向 https://api.tokenlab.sh 並呼叫 messages.create。請勿在 SDK 基礎 URL 後附加 /v1;SDK 本身已包含 /v1/messages 路徑。

透過 TokenLab 使用 Gemini Native

當您的應用程式依賴 Gemini 行為時,請將 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。對於圖像生成,請明確傳送 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-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Reply with: Connected to TokenLab."}],
)

針對 Claude 原生工具使用、思考流程 (thinking flows) 及 Anthropic 訊息語意,請使用 /v1/messages。除非您刻意想要變更為 OpenAI 相容行為,否則請勿透過 Chat Completions 轉換 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 原生行為時,請將 Gemini 內建工具、File API 參考、快取內容、函式宣告及原生內容部分保留在 /v1beta。

媒體遷移

  1. 查詢 GET /v1/models?recommended_for=image|video|music|3d。
  2. 閱讀列表回應中的 GET /v1/models 以及可用的完整 GET /v1/models/{model}。
  3. 明確傳送 model,特別是針對圖像端點。
  4. 為非同步任務儲存 task_id、poll_url、端點、模型以及您自己的工作 ID。
  5. 透過使用記錄與 billing_transaction_id 進行成本對帳,而非使用供應商的任務 ID。

媒體工作負載需要獨立的部署計畫,因為其延遲、重試機制與最終資產的行為與聊天完成任務不同。

生產環境部署計畫

階段目標檢查項目
1. 盤點列出端點、模型、請求欄位、串流/非同步行為及計費擁有者確認沒有隱藏的供應商專屬欄位被視為公開
2. 單一路由試點遷移一個端點與一個模型系列回應格式、成本與日誌符合預期
3. 影子測試或抽樣將選定的輸出與先前的供應商進行比較使用者可見的品質與延遲在可接受範圍內
4. 逐步推廣依據 Key、組織或功能旗標增加流量監控 4xx、5xx、延遲、餘額及重複的非同步任務
5. 清理僅在穩定使用後移除舊的供應商路徑回滾路徑與支援手冊已建立文件

遷移陷阱

  • 若您的應用程式需要原生的 Anthropic、Gemini 或 Responses 行為,請勿將所有模型置於單一 OpenAI Chat Completions 路徑下。
  • 請勿假設舊有的圖像預設值,請明確傳送 model。
  • 在未檢查任務是否已建立的情況下,請勿重試非同步建立請求。
  • 請勿在日誌或 UI 中暴露供應商特定的識別碼。
  • 請勿使用供應商任務 ID 進行計費對帳,請使用 TokenLab 使用記錄。

API 參考

主題參考
多格式 APIMulti-Format API
OpenAI SDKOpenAI SDK
Anthropic SDKAnthropic SDK
Gemini NativeGemini Native API
圖像生成圖像生成
非同步任務與輪詢非同步任務與輪詢

本頁內容