API 文档

统一访问世界级 AI model。OpenAI-compatible API — 一个 key 适用于所有 model。

API 基础 URL

https://tokenhub.store/api/v1

所有 API 请求都使用此基础 URL。与 OpenAI SDKs 完全兼容。

快速上手

几分钟即可开始

  1. 创建账号 并登录到您的控制台
  2. 前往 API Keys 并创建一个新的 API Key
  3. 访问 计费 为您的账户充值 Credits
  4. 开始使用任意受支持的 model 发起 API 调用

支持的 Models

点击某个提供商以查看可用 model 和代码示例。

OpenAI

10 个 model

领先的 AI 研究公司,GPT 系列的创造者。以最先进的语言 model 闻名,具备卓越的推理和编程能力。

Anthropic

8 个 model

以 Claude models 闻名的 AI 安全公司。在细腻对话、代码和复杂推理方面表现出色,并具备强大的安全特性。

Google

9 个 model

Google 的 Gemini 系列提供前沿的多模态能力,支持业界领先的上下文窗口,最高可达 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

小米的 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 视频生成模型。支持电影级 text-to-video、image-to-video 以及带音频支持的多模态视频编辑。

ByteDance (Seedream)

2 个 model

ByteDance 的 Seedream 图像生成模型。高质量 text-to-image,支持写实和艺术风格。

Kwaivgi (Kling)

2 个 model

Kwaivgi 的 Kling 视频生成模型。支持高质量 text-to-video 和 image-to-video,提供 std/pro 模式。时长 3–15 秒。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

创建支持流式传输的聊天补全

请求头

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}

轮询视频生成任务的状态

请求头

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