API 文件

統一存取世界級 AI model。OpenAI-compatible API — 一個 key 支援所有 model。

API 基礎 URL

https://tokenhub.store/api/v1

所有 API 請求都使用此 base URL。與 OpenAI SDKs 完全相容。

快速開始

幾分鐘內上手

  1. 建立帳戶 並登入您的 Dashboard
  2. 前往 API Keys 並建立新的 API key
  3. 造訪 帳單 為您的帳戶加值 Credits
  4. 開始使用任何支援的 model 發送 API 呼叫

支援的 Models

點選供應商即可查看可用 models 與程式碼範例。

OpenAI

10 個 model

領先的 AI 研究公司,GPT 系列的創造者。以最先進的語言 model 著稱,具備卓越的推理與程式設計能力。

Anthropic

8 個 model

以 Claude models 聞名的 AI 安全公司。擅長細膩對話、程式碼與複雜推理,並具備強大的安全特性。

Google

9 個 model

Google 的 Gemini 系列提供前沿的多模態能力,context window 領先業界,最高可達 2M tokens。

xAI

3 個 model

Elon Musk 的 AI 公司。Grok models 以即時知識、機智回應與優秀的程式設計輔助聞名。

Alibaba (Qwen)

3 個 model

Alibaba 的 Qwen 系列提供強大的多語言模型,在英文與中文任務上皆有出色表現。

Zhipu AI (GLM)

3 個 model

Zhipu AI 的 GLM 系列。先進的中英雙語模型,支援最高 200K 上下文視窗。

MiniMax

2 個 model

MiniMax 的 M2 系列。超長 205K 上下文,具備強大的多語言能力。

Xiaomi (MiMo)

2 個 model

Xiaomi 的 MiMo V2 模型。支援高達 1M tokens 的大型上下文視窗。

Alibaba (Qwen3)

3 個 model

Alibaba 的 Qwen3 系列。大型 MoE 模型,具備視覺語言與程式碼專長。

Moonshot AI (Kimi)

2 個 model

Moonshot AI 的 Kimi K2 系列。具備強大的推理能力與延展上下文視窗。

DeepSeek

6 個 model

DeepSeek 的最新模型。高性價比,且具備強大的推理與程式碼能力。

ByteDance (Seedance)

2 個 model

ByteDance 的 Seedance 影片生成模型。支援電影級文字轉影片、圖片轉影片,以及具備音訊支援的多模態影片編輯。

ByteDance (Seedream)

2 個 model

ByteDance 的 Seedream 圖像生成模型。高品質文字轉圖像,支援寫實與藝術風格。

Kwaivgi (Kling)

2 個 model

Kwaivgi 的 Kling 影片生成模型。高品質文字轉影片與圖片轉影片,支援 std/pro 模式。時長 3–15s。std: $0.168/s, pro: $0.224/s(不含音訊)。

Gemini 呼叫說明

Gemini 3.5–3.8 Flash 和 Gemini 4 Argon 透過 /chat/completions 呼叫。Argon 的模型 ID 為 google/gemini-4-argon。GET /models 顯示已公開模型;對於管理員已設定但未公開的模型,請使用管理員提供的正確模型 ID,呼叫網址相同。

curl "https://tokenhub.store/api/v1/chat/completions" \
  -H "Authorization: Bearer th-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/gemini-3.8-flash",
    "messages": [{"role": "user", "content": "Hello"}],
    "reasoning_effort": "low",
    "max_tokens": 1024,
    "stream": true
  }'

支援串流、系統指令、函式呼叫和 base64 圖片 data URL。reasoning_effort 可選 low、medium、high;max_tokens 包含思考 token。

多輪工具呼叫請保留完整的 assistant 訊息,包括 tool_calls.extra_content 或 content_blocks,以保留思考簽章。TokenHub 暫不提供對外的 Gemini 原生端點。

Gemini Flash 和 Argon 輸出用量包含思考 token;命中快取的輸入依已設定的快取讀取單價計費。公開模型價格以模型目錄為準,未公開模型請向帳戶管理員確認價格。

Responses API 串流回應與計費

POST /v1/responses 的 response.completed 表示回應完成。收到此事件後關閉用戶端連線,不會將成功請求改記為取消。

優先採用上游回報的 token 數,包括零值;僅在缺失時估算。完成前取消的請求,仍可能依已處理的 token 計費。

API 端點

POST /chat/completions

建立支援串流的 chat completion

標頭

headers
Authorization: Bearer th-your-api-key
Content-Type: application/json

請求主體

json
{
  "model": "openai/gpt-4.1",
  "messages": [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Hello!"}
  ],
  "temperature": 0.7,
  "max_tokens": 1000,
  "stream": false
}

POST /responses

原生轉發 OpenAI Responses 請求,支援 JSON 與 SSE 透傳

標頭

headers
Authorization: Bearer th-your-api-key
Content-Type: application/json

請求主體

json
{
  "model": "openai/gpt-5.6-terra",
  "input": "Explain why the sky is blue in one sentence.",
  "reasoning": { "effort": "medium" },
  "max_output_tokens": 256,
  "stream": false
}

POST /videos/generations

根據文字或圖片提示生成影片(Seedance 與 Wan 2.2 models)

標頭

headers
Authorization: Bearer th-your-api-key
Content-Type: application/json

請求主體

json
{
  "model": "bytedance/doubao-seedance-2.0",
  "prompt": "A golden retriever running on a sunny beach",
  "duration": 5,
  "resolution": "720p",
  "aspect_ratio": "16:9"
}

請求主體(content 陣列 — first_frame 與 last_frame)

json
{
  "model": "bytedance/doubao-seedance-2.0",
  "prompt": "Hand picks a fresh apple from the tree, the scene smoothly transitions to a hand holding an apple smoothie drink, cinematic lighting in an orchard",
  "content": [
    {
      "type": "image_url",
      "image_url": { "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_tea_pic1.jpg" },
      "role": "first_frame"
    },
    {
      "type": "image_url",
      "image_url": { "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_tea_pic2.jpg" },
      "role": "last_frame"
    }
  ],
  "duration": 5,
  "resolution": "720p"
}

參數

content(選填):媒體資產陣列。每個項目包含:

  • type:"image_url"
  • image_url.url:圖片的 URL
  • role:<firstFrame/>(最多 1)、<lastFrame/>(最多 1)、<refImage/>、<refVideo/>、<refAudio/>

GET /videos/generations/{id}

輪詢 video 生成任務的狀態

標頭

headers
Authorization: Bearer th-your-api-key

回應

json
{
  "id": "tsk-xxx",
  "object": "video.generation.task",
  "model": "bytedance/doubao-seedance-2.0",
  "status": "succeeded",  // "queued" | "running" | "succeeded" | "failed"
  "data": [
    {
      "video_url": "https://..."
    }
  ]
}

POST /images/generations

根據文字提示生成圖片(Seedream models)

標頭

headers
Authorization: Bearer th-your-api-key
Content-Type: application/json

請求內容

json
{
  "model": "bytedance/doubao-seedream-5.0",
  "prompt": "A serene mountain landscape at sunset",
  "n": 1,
  "size": "2048x2048"
}

GET /models

列出所有可用的 model

最新公開模型與價格請查看模型列表和定價頁,頁面會自動更新。

帳戶管理 API

在「設定 → 帳戶資訊」下產生存取權杖。請求需攜帶 Authorization: Bearer YOUR_ACCESS_TOKEN 和 TokenHub-User: YOUR_USER_ID。也相容 New-Api-User;同時傳入兩個使用者 ID 標頭時,值必須一致。 開啟設定

存取權杖用於帳戶管理;呼叫模型仍使用 th- 開頭的 API Key。

HTTP介面說明
GET/api/balance查詢帳戶餘額(1 credit = 1 美元)
GET / POST/api/keys查詢 Key 清單或建立 Key
GET / PATCH / DELETE/api/keys/{id}查詢、修改名稱/啟停/額度,或刪除 Key
GET/api/keys/{id}/discounts查詢自己 Key 的有效折扣
GET / PATCH/api/user/profile查詢帳戶資訊或修改名稱
GET/api/usage查詢請求明細與用量彙總,支援依 Key、模型和時間篩選
GET/api/v1/billing/usage查詢請求明細與用量彙總,支援依 Key、模型和時間篩選
GET/api/v1/billing/spending查詢帳戶消費趨勢
GET/api/v1/billing/invoices查詢帳單清單
GET / POST/api/v1/billing/budget查詢或設定帳戶預算
export TOKENHUB_ACCESS_TOKEN="YOUR_ACCESS_TOKEN"
export TOKENHUB_USER_ID="YOUR_USER_ID"

curl "https://tokenhub.store/api/balance" \
  -H "Authorization: Bearer $TOKENHUB_ACCESS_TOKEN" \
  -H "TokenHub-User: $TOKENHUB_USER_ID"

curl "https://tokenhub.store/api/keys" \
  -H "Authorization: Bearer $TOKENHUB_ACCESS_TOKEN" \
  -H "TokenHub-User: $TOKENHUB_USER_ID" \
  -H "Content-Type: application/json" \
  -d '{"name":"My application","spendLimit":10}'

curl --get "https://tokenhub.store/api/v1/billing/usage" \
  -H "Authorization: Bearer $TOKENHUB_ACCESS_TOKEN" \
  -H "TokenHub-User: $TOKENHUB_USER_ID" \
  --data-urlencode "apiKeyId=YOUR_API_KEY_ID" \
  --data-urlencode "model=alibaba/qwen-turbo" \
  --data-urlencode "startDate=2026-09-07T00:00:00Z" \
  --data-urlencode "endDate=2026-09-08T00:00:00Z" \
  --data-urlencode "page=1" \
  --data-urlencode "limit=20"

用量參數:apiKeyId 是 /api/keys 傳回的 id,不是 th- 金鑰原文;model 精確比對完整模型名稱。startDate、endDate 必須同時傳入含時區的 ISO 時間,包含起止邊界。page 預設 1,limit 預設 20、最大 100。summary 彙總全部符合條件的記錄。省略 apiKeyId 則查詢整個帳戶;Key 不存在或不屬於目前帳戶時傳回 404。原有 API Key 的帳戶級帳單查詢方式繼續相容。/api/usage 還相容 start_date/end_date、單邊時間範圍,以及 limit(預設 100、最大 1000)和 offset(預設 0)。

建立參數:name=My application, spendLimit=10;省略 spendLimit 則使用共用錢包。PATCH 支援 name、isActive 和 action(set_limit、add_budget、clear_limit、reset_spent);set_limit/add_budget 還需非負 value。set_limit 會清零已用額度,add_budget 對已有額度上限保留已用額度。GET /api/keys/:id 傳回完整模型金鑰。刪除 Key 會移除它與 UsageLog 的關聯;如需保留依 Key 查詢歷史用量,請使用 isActive:false 停用。

API Key 列表支援依名稱或前綴搜尋,每頁顯示 20 筆,新建 Key 顯示於第一頁。若找不到其他視窗或透過 API 建立的 Key,請點擊「重新整理列表」。 API Keys

每個帳戶同時保留一個存取權杖,直到重新產生或撤銷前持續有效;資料庫僅儲存雜湊。GET/POST/DELETE /api/user/access-token 僅允許網頁登入後查詢狀態、產生/重新產生及撤銷。存取權杖不能管理自身,也不能驗證管理員介面、修改密碼、刪除帳戶或呼叫模型。權杖無效或使用者 ID 不相符時傳回 401。原有網頁登入狀態驗證繼續可用。

程式碼範例

cURL

bash
curl https://tokenhub.store/api/v1/chat/completions \
  -H "Authorization: Bearer th-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4.1",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

Python(OpenAI SDK)

python
from openai import OpenAI

client = OpenAI(
    api_key="th-your-api-key",
    base_url="https://tokenhub.store/api/v1"
)

# Use any supported model
response = client.chat.completions.create(
    model="openai/gpt-5.4",  # Or any other model
    messages=[{"role": "user", "content": "Hello!"}]
)

print(response.choices[0].message.content)

JavaScript / TypeScript

typescript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'th-your-api-key',
  baseURL: 'https://tokenhub.store/api/v1',
});

// Use any supported model
const response = await client.chat.completions.create({
  model: 'anthropic/claude-sonnet-4-6',
  messages: [{ role: 'user', content: 'Hello!' }],
});

console.log(response.choices[0].message.content);

串流範例(Python)

python
from openai import OpenAI

client = OpenAI(
    api_key="th-your-api-key",
    base_url="https://tokenhub.store/api/v1"
)

stream = client.chat.completions.create(
    model="google/gemini-2.5-pro",
    messages=[{"role": "user", "content": "Write a short story."}],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

需要幫助嗎?

聯絡我們: support@tokenhub.store