跳轉到主要內容

概覽

TokenLab 提供多種 API 格式,讓常見的編碼工具、SDK 和框架能以最少的膠水程式碼(glue code)進行整合。 本頁面的內容刻意比行銷矩陣更為精簡:
  • 支援 (Supported):代表我們記錄了具體的設定路徑,且 TokenLab 提供了該路徑所預期的協定格式。
  • 強原生路徑 (Strong native path):代表該儲存庫針對該協定系列擁有直接的轉接器(adapter)或請求格式實證。
  • 盡力而為 (Best-effort):代表整合可能運作,但上游客戶端並未將此自訂閘道工作流程視為穩定的合約。
不支援的欄位處理方式不盡相同。在相容性路由上,某些欄位會被忽略或標準化。在 /v1/responses 上,當該路由無法保證所請求的行為時,可能會回傳明確的 400503 錯誤。

支援的 API 格式

端點 (Endpoint)格式使用案例
/v1/chat/completionsOpenAI Chat通用相容性
/v1/responsesOpenAI Responses有狀態對話
/v1/messagesAnthropic MessagesClaude 原生功能
/v1beta/models/:model:generateContentGoogle GeminiGemini 原生功能

IDE 與 CLI 相容性

已記錄的工具路徑

工具支援層級格式備註
Cursor支援(有限制)OpenAI 相容適用於 BYOK 標準聊天/編輯器流程,無法取代 Cursor 管理的功能(如 Tab Completion)
Claude Code CLI強原生路徑Anthropic原生 /v1/messages 路由,包含對 thinking 和 tool_choice 的轉接器支援
Codex CLI支援(模型/路徑有限制)OpenAI Responses/v1/responses 視為 Codex 特定工作流程的進階路徑;並非所有模型和路由路徑都能保證支援僅限 Responses 的欄位
Gemini CLI盡力而為 / 實驗性Gemini自訂 TokenLab 基礎 URL 流程並非官方 Gemini CLI 整合
OpenCode支援OpenAI 相容預設使用 OpenAI 相容提供者;僅在明確需要時才切換至基於 Responses 的提供者
OpenHands支援OpenAI 相容使用 LiteLLM/OpenAI 相容路徑,設定 openai/<model> 並使用 TokenLab 的 /v1 基礎 URL
其他 OpenAI 相容的編輯器和代理工具通常也適用相同的基礎 URL 模式;在生產環境使用前,請先檢查該工具本身的自訂提供者支援情況。

設定範例

Base URL: https://api.tokenlab.sh/v1
API Key: sk-your-tokenlab-key
Cursor 內部使用 Anthropic 風格的工具格式。TokenLab 兩者皆支援:
  • OpenAI 格式:{ type: "function", function: { name, parameters } }
  • Anthropic 格式:{ name, input_schema } (無 type 欄位)

SDK 相容性

已記錄的 SDK 與框架路徑

SDK / 框架語言支援層級備註
OpenAI SDKPython/JS/Go支援核心路徑用於 /v1 Chat Completions 和 Embeddings 的相容路徑;針對提供者特定行為請使用原生提供者路由,且不要假設僅限 Responses 的欄位適用於所有模型
Anthropic SDKPython/JS強原生路徑原生 Messages 路由,直接支援 tools、thinking 和 prompt caching
Vercel AI SDKTypeScript建議整合模式優先使用 @ai-sdk/openai-compatible;僅在明確需要 Responses 原生行為時才使用 @ai-sdk/openai
LangChainPython/JS支援標準介面ChatOpenAIOpenAIEmbeddings 為預期範圍;廠商原生擴充功能不在範圍內
LlamaIndexPython透過 OpenAILike 支援對於 TokenLab 等第三方閘道,請使用 OpenAILike 而非內建的 OpenAI 類別
OpenAI Agents SDKPython支援 chat-completions 路徑使用 AsyncOpenAI(base_url="https://api.tokenlab.sh/v1") 搭配 OpenAIChatCompletionsModel;原生 Responses 行為取決於所選模型與路由
AutoGenPython支援自訂端點路徑使用 OpenAIChatCompletionClient 並設定 base_url: https://api.tokenlab.sh/v1
Semantic Kernel.NET支援自訂端點路徑使用 OpenAI 聊天完成連接器的自訂端點,並指向 https://api.tokenlab.sh/v1
CrewAIPython支援自訂端點路徑OPENAI_API_BASELLM(base_url=...) 設定為 TokenLab 的 /v1 端點
Pydantic AIPython支援 OpenAI 相容提供者路徑使用 OpenAIChatModel 搭配 OpenAIProvider(base_url="https://api.tokenlab.sh/v1")
DSPyPython支援自訂端點路徑使用 dspy.LM("openai/<model>", api_base="https://api.tokenlab.sh/v1")
LangflowPython / Web支援(有限制)使用 OpenAI 元件的 OpenAI API Base 欄位並填入 TokenLab 的 /v1 端點
HaystackPython支援自訂端點路徑使用 OpenAIChatGenerator(api_base_url="https://api.tokenlab.sh/v1")
GraphitiPython支援自訂端點路徑使用 OpenAIGenericClient 搭配 TokenLab 的 /v1 端點
Dify-支援(有限制)預期路徑為 OpenAI 提供者與 chat-completions 導向流程;不適用於 Codex 特定的 Responses 或 WebSocket 行為
FlowiseWeb / Node支援(有限制)若可用請使用 TokenLab 聊天節點,或使用指向 https://api.tokenlab.sh/v1 的 ChatOpenAI 相容節點
Mem0Python支援自訂端點路徑保留 OpenAI 提供者並將 openai_base_url 設定為 TokenLab 的 /v1 端點
AgnoPython支援路徑若可用請使用 TokenLab 模型封裝,或使用 OpenAI 相容的基礎 URL 路徑
Browser UsePython支援自訂端點路徑使用 ChatOpenAILike 搭配 TokenLab 的 /v1 端點
VoltAgentTypeScript支援自訂端點路徑傳入設定為 baseURL: "https://api.tokenlab.sh/v1" 的 AI SDK OpenAI 提供者
RagasPython支援自訂端點路徑AsyncOpenAI(base_url="https://api.tokenlab.sh/v1") 傳入 llm_factory
GuardrailsPython支援驗證路徑傳入設定為 TokenLab /v1 端點的 OpenAI SDK 聊天完成可呼叫物件
Prompt flowPython / CLI支援自訂端點路徑建立一個 base_url=https://api.tokenlab.sh/v1 的 OpenAI 連線
PromptfooCLI / Node支援路徑使用 apiBaseUrl: https://api.tokenlab.sh/v1 的 OpenAI 聊天或 Responses 提供者
Portkey GatewayGateway支援路徑將 TokenLab 作為 OpenAI 相容聊天與 Responses 流量的上游提供者
HeliconeGateway / Observability支援可觀測性路徑透過 Helicone Gateway 路由 OpenAI 相容請求,並設定 Helicone-Target-Url: https://api.tokenlab.sh
LangfuseObservability支援追蹤路徑使用 TokenLab 的 /v1 基礎 URL 設定 Langfuse OpenAI 整合
OpenLITObservability支援追蹤路徑對設定為 TokenLab /v1 基礎 URL 的 OpenAI SDK 客戶端進行檢測
OpenLLMetryObservability支援追蹤路徑使用設定為 TokenLab /v1 基礎 URL 的 OpenAI SDK 檢測
PhoenixObservability支援追蹤路徑自動檢測設定為 TokenLab /v1 基礎 URL 的 OpenAI SDK 客戶端
OpikObservability支援追蹤路徑封裝設定為 TokenLab /v1 基礎 URL 的 OpenAI SDK 客戶端
LangBotBot Platform支援聊天路徑若可用請使用 TokenLab 請求器,或設定指向 TokenLab /v1 端點的 OpenAI 相容請求器
Open WebUIWeb Chat支援聊天應用路徑新增 TokenLab 作為 OpenAI 相容 API 連線並重新整理模型列表
Chatbox / DeepChat / Jan / LibreChat / Cherry StudioDesktop / Web支援聊天應用路徑使用各應用程式的 OpenAI 相容自訂提供者流程;這些應用通常以 chat-completions 為導向

Chat Completions 參數

核心參數

參數類型描述
modelstring模型識別碼 (必填)
messagesarray對話訊息 (必填)
max_tokensinteger最大輸出 token 數
temperaturenumber取樣溫度 (0-2)
top_pnumber核取樣 (0-1)
streamboolean啟用串流

工具呼叫 (Tool Calling)

{
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_weather",
        "description": "Get weather for a location",
        "parameters": {
          "type": "object",
          "properties": {
            "location": { "type": "string" }
          }
        },
        "strict": true
      }
    }
  ],
  "tool_choice": "auto",
  "parallel_tool_calls": true
}

工具選擇選項 (Tool Choice Options)

格式範例描述
字串"auto", "none", "required"簡單選擇
OpenAI 物件{ "type": "function", "function": { "name": "fn" } }強制指定函式
Anthropic 物件{ "type": "tool", "name": "fn", "disable_parallel_tool_use": true }Anthropic 原生格式

進階參數

參數類型描述
stream_optionsobject僅限 Chat Completions:{ include_usage: true } 以取得 token 計數
reasoning_effortstring針對啟用推理功能的 GPT-5 模型:"low", "medium", "high"
service_tierstring"auto""default"
seedinteger確定性輸出
logprobsboolean回傳對數機率
top_logprobsinteger前 N 個對數機率 (0-20)
logit_biasobjectToken 偏差映射 (-100 到 100)
frequency_penaltynumber重複懲罰 (-2 到 2)
presence_penaltynumber主題懲罰 (-2 到 2)
stopstring/array停止序列
ninteger完成次數 (1-128)
userstring用於追蹤的使用者識別碼

OpenAI 進階功能

參數類型描述
modalitiesarray多模態設定:["text", "audio"]
audioobject音訊輸出設定 (語音、格式)
predictionobject預測輸出以加速完成
metadataobject用於追蹤的鍵值對
storeboolean儲存以供後續檢索

提供者特定選項

{
  "anthropic_options": {
    "thinking": {
      "type": "enabled",
      "budget_tokens": 10000
    },
    "prompt_caching": true
  },
  "google_options": {
    "safety_settings": [...],
    "google_search": true,
    "code_execution": true
  }
}

Anthropic Messages 參數

核心參數

參數類型描述
modelstring模型識別碼
messagesarray對話訊息
max_tokensinteger最大輸出 (最高 128000)
systemstring/array系統提示詞
streamboolean啟用串流

工具呼叫 (Tool Calling)

{
  "tools": [
    {
      "name": "get_weather",
      "description": "Get weather",
      "input_schema": {
        "type": "object",
        "properties": {
          "location": { "type": "string" }
        }
      }
    }
  ],
  "tool_choice": {
    "type": "auto",
    "disable_parallel_tool_use": false
  }
}

擴充推理 (Extended Thinking)

{
  "model": "claude-opus-4-6",
  "thinking": {
    "type": "enabled",
    "budget_tokens": 10000
  }
}

Responses API 參數

核心參數

參數類型描述
modelstring模型識別碼
inputstring/array輸入內容
instructionsstring系統指令
max_output_tokensinteger最大輸出 token 數
previous_response_idstring延續對話

進階參數

參數類型描述
truncation_strategystring"auto""disabled"
includearray["reasoning.encrypted_content"]
reasoning_effortstring針對推理模型
service_tierstring優先級層級

工具格式

支援 OpenAI 與 Anthropic 工具格式:
// OpenAI 格式
{ "type": "function", "name": "fn", "parameters": {...} }

// Anthropic 格式 (Cursor 相容性)
{ "name": "fn", "input_schema": {...} }

Gemini API 參數

核心參數

參數類型描述
contentsarray對話內容
systemInstructionobject系統提示詞
generationConfigobject生成設定

工具 (Tools)

{
  "tools": [{
    "functionDeclarations": [{
      "name": "search",
      "description": "Search the web",
      "parameters": {...}
    }],
    "codeExecution": {},
    "googleSearch": {}
  }],
  "toolConfig": {
    "functionCallingConfig": {
      "mode": "AUTO"
    }
  }
}

安全設定 (Safety Settings)

{
  "safetySettings": [
    {
      "category": "HARM_CATEGORY_HARASSMENT",
      "threshold": "BLOCK_MEDIUM_AND_ABOVE"
    }
  ]
}

其他參數

參數類型描述
cachedContentstring快取內容參照
responseMimeTypestring"text/plain""application/json"
responseSchemaobject用於結構化輸出的 JSON schema

串流 (Streaming)

支援 stream: true 的生成端點(包含 Chat Completions 與 Responses)使用 Server-Sent Events (SSE):
# Chat Completions
curl https://api.tokenlab.sh/v1/chat/completions \
  -H "Authorization: Bearer sk-xxx" \
  -d '{"model": "gpt-4o", "messages": [...], "stream": true}'

# Chat Completions 使用量追蹤
-d '{"...", "stream_options": {"include_usage": true}}'

錯誤處理

TokenLab 回傳 OpenAI 相容的錯誤回應:
{
  "error": {
    "message": "Invalid API key",
    "type": "invalid_api_key",
    "code": "invalid_api_key"
  }
}
詳情請參閱 錯誤處理指南

最佳實踐

未知參數僅在所選的公開路由與模型支援時才會被轉發。
對於 Chat Completions 串流,請啟用 stream_options.include_usage 以取得準確的 token 計數。Responses 擁有自己的串流合約,並不公開此 Chat 專用選項。
請符合您 SDK 預期的格式。TokenLab 同時接受 OpenAI 與 Anthropic 格式。