核心
API 參考
TokenLab API 的完整參考
概覽
TokenLab API 是原生優先,同時相容 OpenAI 的。需要供應商原生行為時,使用 Anthropic 的 POST /v1/messages 或 Gemini 的 /v1beta/models/...:generateContent;遷移已有 OpenAI 風格 SDK 或工具時,使用 OpenAI 相容的 /v1 端點。POST /v1/responses 仍是需要 Responses 特定行為時的進階可選路徑。
基本 URL
https://api.tokenlab.sh驗證
模型請求使用 TokenLab API 金鑰,標準驗證標頭為:
Authorization: Bearer sk-your-api-keyGET /v1/models、GET /v1/models/{model} 和 GET /v1/pricing 是公開端點,不需要金鑰。Anthropic Messages 也接受 x-api-key;Gemini 除 Bearer 外也接受 x-goog-api-key 或 ?key=。/v1/management/* 需要管理令牌(mt-...)。
在 控制台 取得您的 API key。
生成請求可透過 X-TokenLab-Delivery-Policy: auto | verified | official 選擇交付方式。請求標頭優先於 API 金鑰設定,再優先於工作區預設值。auto 優先使用 TokenLab Verified,必要時使用 Official,只依完成請求的方式計費。verified 使用 TokenLab 價格;official 以模型廠商公開價格為基礎,實際費用以 TokenLab 顯示為準。Realtime 沿用金鑰或工作區設定,不接受查詢參數覆寫。無效標頭回傳 400;交付方式不可用時回傳 503 delivery_tier_unavailable 與請求 ID。
關於互動 Playground:此文件網站上的 playground 僅供示範用途,且不支援輸入 API key。要測試 API,請使用:
- cURL - 複製範例指令並將
sk-your-api-key替換為您的實際金鑰 - Postman - 匯入我們的 OpenAPI 規格
- SDK - 使用 OpenAI/Anthropic SDK 並搭配我們的 base URL
支援的端點
聊天與文本生成
| 端點 | 方法 | 描述 |
|---|---|---|
/v1/chat/completions | POST | 相容於 OpenAI 的聊天補完 |
/v1/messages | POST | 相容於 Anthropic 的 messages API |
/v1/responses | POST | OpenAI Responses API |
Embeddings 與 Rerank
| 端點 | 方法 | 描述 |
|---|---|---|
/v1/embeddings | POST | 建立文字 embeddings |
/v1/rerank | POST | 對文件進行重新排序 |
影像
| 端點 | 方法 | 描述 |
|---|---|---|
/v1/images/generations | POST | 從文字生成影像 |
/v1/images/edits | POST | 編輯影像 |
/v1/images/generations/{id} | GET | 針對以任務為基礎的影像回應的影像任務狀態路徑 |
影像模型可能直接回傳結果,也可能回傳非同步任務。若回應包含 poll_url,請使用該 URL 查詢任務。
音訊
| 端點 | 方法 | 描述 |
|---|---|---|
/v1/audio/speech | POST | 文字轉語音 (TTS) |
/v1/audio/transcriptions | POST | 語音轉文字 (STT) |
即時
| 端點 | 方法 | 說明 |
|---|---|---|
/v1/realtime?model={model} | WS | 即時 WebSocket 會話 |
使用 /v1/realtime 發起 WebSocket 升級請求。一般 GET /v1/realtime 會回傳端點資訊,方便無法直接檢查 WebSocket 路由的用戶端使用。它不是 OpenAI Realtime REST 面;client secret、translation client secret、Calls 和 legacy beta session 端點目前不對外提供。
影片
| 端點 | 方法 | 描述 |
|---|---|---|
/v1/videos/generations | POST | 建立影片生成任務 |
/v1/tasks/{id} | GET | 取得影片工作的非同步任務狀態 |
/v1/videos/generations/{id} | GET | 相容舊版的影片任務狀態路徑 |
對於新客戶,建議優先使用 /v1/tasks/{id},並追蹤建立回應時所回傳的 poll_url。保留 /v1/videos/generations/{id} 僅作向後相容之用。
非同步任務
| 端點 | 方法 | 描述 |
|---|---|---|
/v1/tasks/{id} | GET | 統一的非同步任務狀態端點。當追蹤回傳的 poll_url 時建議使用 |
此端點不限於影片、音樂與 3D。一些影像任務也可能使用 /v1/tasks/{id} 作為標準的輪詢路徑。
音樂
| 端點 | 方法 | 描述 |
|---|---|---|
/v1/music/generations | POST | 建立音樂生成任務 |
/v1/music/generations/{id} | GET | 音樂專用的狀態路徑 |
對於新客戶,建議優先追蹤回傳的 poll_url。若需要固定的任務狀態端點,請使用 /v1/tasks/{id};保留 /v1/music/generations/{id} 以支援音樂專用的相容性路徑。
3D 生成
| 端點 | 方法 | 描述 |
|---|---|---|
/v1/3d/generations | POST | 建立 3D 模型生成任務 |
/v1/3d/generations/{id} | GET | 3D 專用的狀態路徑 |
對於新客戶,建議優先追蹤回傳的 poll_url。若需要固定的任務狀態端點,請使用 /v1/tasks/{id};保留 /v1/3d/generations/{id} 以支援 3D 專用的相容性路徑。
模型
| 端點 | 方法 | 描述 |
|---|---|---|
/v1/models | GET | 列出所有可用的模型 |
/v1/models/{model} | GET | 取得特定模型資訊 |
Gemini (v1beta)
原生支援 Google Gemini API 格式:
| 端點 | 方法 | 描述 |
|---|---|---|
/v1beta/models/{model}:generateContent | POST | 生成內容(Gemini 格式) |
/v1beta/models/{model}:streamGenerateContent | POST | 串流生成內容(Gemini 格式) |
Gemini 端點除了標準的 Bearer token 驗證外,亦支援使用 ?key= 查詢參數進行認證。
回應格式
各端點保留對應 API 的回應格式。以下成功與錯誤範例使用 Chat Completions 格式。
成功回應
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1234567890,
"model": "gpt-5.6-terra",
"choices": [{"index": 0, "message": {"role": "assistant", "content": "Hello!"}, "finish_reason": "stop"}],
"usage": {
"prompt_tokens": 10,
"completion_tokens": 20,
"total_tokens": 30
}
}路由透明性
TokenLab 不會在公開回應本文中暴露提供者、頻道、策略或憑據細節。不要把 _routing 或其他內部路由欄位視為公開 API 契約的一部分。
調試與支援場景下,可以使用回應中實際出現的公開回應標頭:
| 回應標頭 | 說明 |
|---|---|
X-Routing-Time-MS | 路由選擇耗時(如可用) |
X-Request-ID | 用於支援與調試的請求識別碼(如可用) |
X-Task-ID | 任務型回應的公開非同步任務識別碼(如可用) |
X-Billing-Transaction-ID | 最終計費後的計費交易識別碼(如可用) |
錯誤回應
{
"error": {
"message": "Invalid API key provided",
"type": "invalid_api_key",
"code": "invalid_api_key"
}
}速率限制
速率限制依角色而定,且可由管理員設定。預設值:
| 角色 | 請求/分鐘 |
|---|---|
| 使用者 | 1,000 |
| 合作夥伴 | 10,000 |
| VIP | 10,000 |
若需自訂速率限制,請聯絡客服。實際數值可能因帳戶設定而異。
當超過速率限制時,API 會回傳 429 狀態碼並在回應中包含 Retry-After 標頭,指示需等待的時間。
OpenAPI 規格
OpenAPI 規格
下載完整的 OpenAPI 3.1 規格