Skip to content
上新Nano Banana 2.1 已上线:Google 新一代生图模型,单张低至 $0.0336,原生 4K,约上一代半价查看模型
HopBase
← 返回博客

一个 API Key 调用 DeepSeek、千问、GLM、Kimi 和豆包

先说结论:DeepSeek、通义千问、GLM、Kimi 和豆包 Seed 可以用同一个 OpenAI 兼容的 API Key 调用,这个 Key 还能同时覆盖 Claude 和 GPT。在 HopBase 上,把 OpenAI SDK 的 Base URL 设为 https://api.hop-base.com/v1,在控制台给 Key 挂上各家模型的分组(每个 Key 最多 10 个分组),之后只改 model 字段:deepseek-v4.1-flash、qwen3.8-max、glm-5.3、kimi-k3、doubao-seed-2-1-pro-260628。Claude 用 Anthropic SDK,Base URL 是 https://api.hop-base.com(不带 /v1)。统一从一个美元余额扣费,每个非流式响应都会返回本次的准确扣费。真正让集成出问题的不是端点,而是各家模型的差异:Kimi K3 要加 include_reasoning 才返回思考过程,两款豆包模型不认 tool_choice,千问按上下文长度分档计费,DeepSeek V4.1 Flash 分峰谷价。本文把这些差异逐一列出,并在 2026-10-29 用真实请求逐项核对过。

为什么用一个 Key,而不是开五个账户

国产开源与前沿模型已经是很多技术栈的标配:DeepSeek 做低成本推理,千问和 GLM 做长上下文,Kimi K3 做智能体编程,豆包 Seed 做多模态对话。逐家单独接入意味着五个开发者控制台、五份余额、五套发票。其中好几家的控制台主要面向中国大陆用户,界面是中文,需要手机号验证或人民币付款。而且每家所谓的「OpenAI 兼容」接口都有自己的扩展字段。

网关给你的是一个账户、一个美元余额、一个 Base URL。它消除不了各家模型的差异,所以本文大部分篇幅都在讲这些差异。

模型阵容与牌价

下表所有 ID 都已在公开目录上线。厂商公布了美元官方价的,表里列出每百万 token 的官方牌价;其余请看实时价格页,那里也列出了每个模型的缓存命中价。

家族模型 ID上下文 / 最大输出协议牌价(输入 / 输出,每百万 token)
DeepSeekdeepseek-v4.1-flash、deepseek-v4.1-flash-1017、deepseek-v4-pro-202606、deepseek-v4-flash-2026051M / 最高 393,216Chat Completions、Responses、Anthropic Messages以实时价格为准
通义千问(阿里)qwen3.8-max、qwen3.8-flash、qwen3.7-max、qwen3.7-plus、qwen3.7-flash1M / 131,072Chat Completions、Responses以实时价格为准
GLM(智谱)glm-5.3、glm-5.3-flash1M / 最高 131,072Chat Completions以实时价格为准
Kimi(月之暗面)kimi-k31,048,576 / 32,768仅 Chat Completions$3 / $15
豆包 Seed(字节)doubao-seed-2-1-pro-260628、doubao-seed-2-1-pro-260915、doubao-seed-2-1-lite-260915、doubao-seed-2-1-turbo-260628 等 7 款128K-1M / 32K-256KChat Completions、Responses、Anthropic Messages以实时价格为准
Claude、GPTclaude-sonnet-5-5、gpt-6-sol 等按模型Claude:Anthropic Messages;GPT:Chat Completions、ResponsesSonnet 5.5:$2 / $10;GPT-6 Sol:$2 / $10

DeepSeek 和 GLM 另有一套以 -us 结尾的美国区(US Region)ID,例如 deepseek-v4.1-flash-us、glm-5.3-us。它们有独立的分组和价格,三种协议都支持,详见美国区文档。

三步完成配置

  1. 在 api.hop-base.com 用邮箱或 Google、GitHub 账号注册,打开 API 密钥。
  2. 新建一个 Key,挂上需要的分组:DeepSeek、千问、GLM、Kimi K3、豆包 Seed,想在同一个 Key 上用 Claude 和 GPT 的话再加一个 Claude 分组和一个 GPT 分组。一共 7 个分组,在每个 Key 10 个的上限之内。如果同一个 Key 上的两个分组都提供某个模型(比如两个 Claude 分组),保存前弹窗会要求你指定由哪个分组来服务。
  3. 列出这个 Key 能调用的模型,只使用它返回的 ID:
export HOPBASE_API_KEY=sk-your-key
curl https://api.hop-base.com/v1/models -H "Authorization: Bearer $HOPBASE_API_KEY"

一个客户端,五个模型家族

import os
from openai import OpenAI

client = OpenAI(base_url="https://api.hop-base.com/v1",
                api_key=os.environ["HOPBASE_API_KEY"])

models = ["deepseek-v4.1-flash", "qwen3.8-max", "glm-5.3",
          "kimi-k3", "doubao-seed-2-1-pro-260628"]

for m in models:
    raw = client.chat.completions.with_raw_response.create(
        model=m,
        messages=[{"role": "user", "content": "In one sentence: what is a vector database?"}],
        max_tokens=2000,
    )
    resp = raw.parse()
    print(m, "|", resp.choices[0].message.content.strip()[:80],
          "| cost USD:", raw.headers.get("X-HopBase-Cost-USD"))

每个计费的非流式响应都带 X-HopBase-Cost-USD 响应头,即本次从余额扣掉的准确金额,JSON 里的 usage.cost_usd 也是同一个值。流式响应不带这个头,因为响应头在生成开始前就已发出;流式请求请到控制台的使用记录页查看。max_tokens 故意给得比较宽:这些模型大多默认开启思考,思考 token 也计入这个上限。

Claude 用同一个 Key 走 Anthropic SDK:

from anthropic import Anthropic
claude = Anthropic(base_url="https://api.hop-base.com", api_key=os.environ["HOPBASE_API_KEY"])
msg = claude.messages.create(model="claude-sonnet-5-5", max_tokens=512,
                             messages=[{"role": "user", "content": "Hello"}])

各家模型的坑

Kimi K3

  • 只有请求里带 "include_reasoning": true,思考过程才会出现在 reasoning_content 里;thinking 和 reasoning_effort 不起作用。用 OpenAI SDK 时通过 extra_body={"include_reasoning": True} 传入。我们实测同一个提示词:不带这个参数时没有 reasoning_content,带上之后就有了。
  • max_tokens 上限是 32,768,且包含思考 token;n 只能是 1;temperature 取值 0-1;top_p 和 frequency/presence penalty 会被忽略。
  • 图片只能用 base64,传图片 URL 会返回 400。/v1/responses 和 /v1/messages 返回 404,所以 Claude Code 和 Codex 只能通过 CC Switch 这类本地路由工具接入(见 Kimi K3 文档)。

DeepSeek

  • deepseek-v4.1-flash 和 deepseek-v4.1-flash-1017 跟随 DeepSeek 公布的峰谷时段:北京时间工作日 09:00-12:00 和 14:00-18:00 为高峰,其余时段半价。一次请求按它完成的时刻计价。在意成本的话,批量任务尽量避开高峰时段。
  • deepseek-v4-pro-202606 和 deepseek-v4-flash-202605 全天按同一价格计费,以高峰牌价为准。
  • deepseek-v4.1-flash-1017 是 2026-10-17 发布的版本,deepseek-v4.1-flash 仍是 9 月版本。两者都能通过标准 image_url 读图,而 V4 Pro 和 V4 Flash 收到图片会返回 400。按模型 ID 选版本即可。
  • 四个模型都支持 Chat Completions、Responses 和 Anthropic Messages,我们用同一个提示词在每个端点上测了其中三个。在 Chat Completions 上,思考过程在 reasoning_content 里,不在 content 里。

通义千问

  • 按上下文分档计费:单次请求的输入一旦越过阈值,整次请求都按那一档计费。qwen3.7-plus 超过 256K 升档,qwen3.7-flash 超过 32K 升档;qwen3.8-max、qwen3.8-flash 和 qwen3.7-max 只有一档。命中缓存也不会让你留在阈值以下。
  • 对延迟敏感的调用,可以传 enable_thinking: false(通过 extra_body)关闭思考。除 qwen3.7-max 外都支持图片和视频输入。

GLM

  • glm-5.3 只收文本,传图片返回 400。两款 GLM 都只提供 Chat Completions,所以只说 Responses 协议的 Codex CLI 用不了它们;美国区的 glm-5.3-us 支持全部三种协议。
  • glm-5.3-flash 始终开启思考,思考内容在 reasoning_content 里。推荐 temperature 1、top_p 0.95,流式输出工具调用时加 tool_stream: true。支持文本、图片、视频和文件输入。

豆包 Seed

  • doubao-seed-evolving 和 doubao-seed-2-1-pro-260915 会忽略 tool_choice。我们实测强制指定某个函数时,doubao-seed-2-1-pro-260628 照做调用了,而 doubao-seed-2-1-pro-260915 直接用文字回答。需要强制或禁止工具调用时,请用 doubao-seed-2-1-pro-260628 或 doubao-seed-2-1-lite-260915。
  • 除 doubao-seed-character-260628 外都默认思考。别把 doubao-seed-* 对话模型 ID 和 doubao-seedance-* 视频模型 ID 搞混。

跨家族统一处理错误

OpenAI 协议下,网关错误格式统一为 {"error": {"code": ..., "message": ..., "type": ...}}。请按 HTTP 状态码和 code 分支处理,不要匹配 message 文本——它会随 Accept-Language 请求头变化。最常见的几个:

  • 404 model_not_found:这个模型不在该 Key 的任何分组里。重新查一次 /v1/models。
  • 402 insufficient_quota:余额用完,或该 Key 自己的消费上限已到。
  • 429 user_concurrency_limit / apikey_concurrency_limit:在途请求过多。超出的请求会被立即拒绝而不是排队,请退避重试。

没产生任何输出就失败的请求不计费。

如何为国产模型挑选网关

想用一个 Key 调这些模型,从自建代理到托管服务都有选择。决定之前可以核对:

  1. 是否提供带日期的精确模型 ID(例如 deepseek-v4.1-flash-1017),而不只是「deepseek-latest」。
  2. include_reasoning、enable_thinking、reasoning_content 这类模型专属参数能否原样透传。
  3. 能否通过 API 看到每次请求的费用,失败请求是否免费。
  4. 能否验证回答你的确实是你请求的那个模型。我们的可复现保真度检测方法对任何服务商都适用。
  5. Claude、GPT 能否和国产模型放在同一个 Key、同一个余额下。

常见问题

能用 OpenAI Python SDK 调用 DeepSeek、千问和 Kimi 吗?

可以。设置 base_url="https://api.hop-base.com/v1",填模型 ID 即可。include_reasoning(Kimi)、enable_thinking(千问)这类模型专属字段放进 extra_body。

需要中国手机号或中国的付款方式吗?

不需要。在 api.hop-base.com 用邮箱或 Google、GitHub 账号注册,余额和扣费都以美元计。充值页会在付款前显示付款币种、手续费和到账金额。

一个 Key 能同时调 Claude 和 DeepSeek 吗?

能,只要这个 Key 挂了两边的分组。Claude 走 Anthropic 协议,地址是 https://api.hop-base.com;DeepSeek 走 OpenAI 协议,地址是 https://api.hop-base.com/v1。每次请求按实际服务该模型的分组计费。

为什么 Kimi K3 不返回思考过程?

Kimi K3 只有在请求带 "include_reasoning": true 时才返回 reasoning_content。不管返不返回,思考 token 都按输出计费,并计入 max_tokens。

完整的参数限制在哪里看?

见 DeepSeek、通义千问、GLM-5.3、Kimi K3 文档和模型列表。价格见 hop-base.com/pricing。