统一访问世界级 AI model。OpenAI-compatible API — 一个 key 适用于所有 model。
https://tokenhub.store/api/v1所有 API 请求都使用此基础 URL。与 OpenAI SDKs 完全兼容。
点击某个提供商以查看可用 model 和代码示例。
领先的 AI 研究公司,GPT 系列的创造者。以最先进的语言 model 闻名,具备卓越的推理和编程能力。
以 Claude models 闻名的 AI 安全公司。在细腻对话、代码和复杂推理方面表现出色,并具备强大的安全特性。
Google 的 Gemini 系列提供前沿的多模态能力,支持业界领先的上下文窗口,最高可达 2M tokens。
Elon Musk 的 AI 公司。Grok models 以实时知识、机智回应和出色的编程辅助而闻名。
Alibaba 的 Qwen 系列提供强大的多语言模型,在英文和中文任务上都表现出色。
Zhipu AI 的 GLM 系列。先进的中英双语模型,支持最高 200K 上下文窗口。
MiniMax 的 M2 系列。超长 205K 上下文,具备强大的多语言能力。
小米的 MiMo V2 模型。上下文窗口可达 1M Tokens。
Alibaba 的 Qwen3 系列。规模巨大的 MoE 模型,专注于视觉语言与编程能力。
Moonshot AI 的 Kimi K2 系列。具备强推理能力,并支持扩展上下文窗口。
DeepSeek 的最新模型。性价比极高,并具备强大的推理和编程能力。
ByteDance 的 Seedance 视频生成模型。支持电影级 text-to-video、image-to-video 以及带音频支持的多模态视频编辑。
ByteDance 的 Seedream 图像生成模型。高质量 text-to-image,支持写实和艺术风格。
Kwaivgi 的 Kling 视频生成模型。支持高质量 text-to-video 和 image-to-video,提供 std/pro 模式。时长 3–15 秒。std:$0.168/s,pro:$0.224/s(无音频)。
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;命中缓存的输入按已配置的缓存读取单价计费。公开模型价格以模型目录为准,未公开模型请向账户管理员确认价格。
POST /v1/responses 的 response.completed 表示响应完成。收到此事件后关闭客户端连接,不会将成功请求改记为取消。
优先采用上游报告的 token 数,包括零值;仅在缺失时估算。完成前取消的请求,仍可能按已处理的 token 计费。
创建支持流式传输的聊天补全
Authorization: Bearer th-your-api-key Content-Type: application/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
}原生转发 OpenAI Responses 请求,支持 JSON 和 SSE 透传
Authorization: Bearer th-your-api-key Content-Type: application/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
}根据文本或图像提示生成视频(Seedance & Wan 2.2 models)
Authorization: Bearer th-your-api-key Content-Type: application/json
{
"model": "bytedance/doubao-seedance-2.0",
"prompt": "A golden retriever running on a sunny beach",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}{
"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:图片的 URLrole:<firstFrame/>(最多 1 个)、<lastFrame/>(最多 1 个)、<refImage/>、<refVideo/>、<refAudio/>轮询视频生成任务的状态
Authorization: Bearer th-your-api-key
{
"id": "tsk-xxx",
"object": "video.generation.task",
"model": "bytedance/doubao-seedance-2.0",
"status": "succeeded", // "queued" | "running" | "succeeded" | "failed"
"data": [
{
"video_url": "https://..."
}
]
}根据文本提示生成图像(Seedream models)
Authorization: Bearer th-your-api-key Content-Type: application/json
{
"model": "bytedance/doubao-seedream-5.0",
"prompt": "A serene mountain landscape at sunset",
"n": 1,
"size": "2048x2048"
}在「设置 → 账户信息」下生成访问令牌。请求需携带 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 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!"}]
}'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)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);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