Grok API 的接入本身不复杂,真正让人卡住的是三件事:Key 从哪里来、Base URL 怎么写、Key 和地址是否配对。最常见的 401 不是 Key 失效,而是把一家平台的 Key 填到了另一家平台的地址上。
本文按“获取路径、创建 Key、配置地址、最小调用、安全与排错”的顺序走一遍。模型名称与可用性以站内模型价格为准,控制台菜单名称可能调整,以实际页面为准。
说明:xAI、Grok 是其权利人的商标,本文仅作技术介绍。接口、模型与价格可能调整,请以 xAI 官方文档和站内模型价格为准。
一、先确认你要哪种 Key
Grok API Key 有两个常见来源:xAI 官方控制台,以及提供 OpenAI 兼容入口的国内 AI 网关。两者都能调用 Grok,但账号、付款和账单主体不同。
| 对比项 | xAI 官方控制台 | 中商起航 AI 网关 |
|---|---|---|
| 适合人群 | 有海外支付方式、能稳定访问 | 国内支付、需要人民币发票 |
| 账号体系 | xAI 账号 | 网关账号 |
| 付款方式 | 按官方支持的支付方式 | 人民币充值 |
| Base URL | https://api.x.ai/v1 |
https://ai.zhongshangqihang.com/v1 |
| 账单 | 美元账单,自行处理汇率 | 人民币账单,统一多模型用量 |
| 模型范围 | xAI 自家模型 | 网关已开通的多个模型 |
两条路径的 Key 不通用。官方 Key 只能配官方地址,网关 Key 只能配网关地址。先选路径,再创建 Key,不要中途混用。
二、官方 xAI:获取 Key 的步骤
- 准备可用的 xAI 账号,并确认账号状态、服务条款和所在地区的使用要求。
- 登录 xAI 控制台,找到 API Key 管理入口。菜单名称可能随版本调整,以页面实际显示为准。
- 按控制台要求完成账单设置或预付费充值。没有可用额度时,Key 即使创建成功也无法正常调用。
- 新建 Key,名称带上项目和环境,例如
prod-customer-service,方便后续轮换和审计。 - 创建后立即复制保存。多数平台只在创建时完整显示一次,关闭页面后无法再次查看。
- 如果控制台提供额度、权限或 IP 限制选项,按最小权限原则设置,不要默认放开全部权限。
- 用一条最小请求验证,确认 Key、地址和模型名三项都能通过。
官方路径适合只需要 Grok、且有稳定海外支付与访问条件的团队。若付款或网络不稳定,问题会从“模型好不好用”变成“今天能不能调通”,运维成本容易被低估。
三、网关:获取 Key 的步骤
- 打开中商起航 AI 网关注册账号,完成必要的身份或企业信息填写。
- 先小额充值,验证支付、到账和调用链路,再按实际用量补足余额。
- 在控制台创建 API Key,按项目命名,并设置消费上限或告警。
- 记录网关的 Base URL:
https://ai.zhongshangqihang.com/v1。 - 用下面的 curl 命令发一条最小请求,确认返回 200 且有内容。
- 跑通后再接入业务代码,并把 Key 放进服务端环境变量。
网关路径的价值不只是“能访问”,还包括人民币付款、统一账单、多模型切换和一把 Key 管理多个模型。是否适合,取决于你的付款方式、发票要求和运维边界。
四、Base URL 和端点怎么写
Base URL 是最容易写错的地方。它通常只写到 /v1,SDK 会自动拼接后续路径;如果你手动写完整地址,要注意不要重复拼接。
| 项目 | 官方 xAI | 中商起航 AI 网关 |
|---|---|---|
| Base URL | https://api.x.ai/v1 |
https://ai.zhongshangqihang.com/v1 |
| Chat 端点 | /chat/completions |
/chat/completions |
| 鉴权头 | Authorization: Bearer <Key> |
Authorization: Bearer <Key> |
| 模型名 | 以官方模型列表为准 | 以站内模型价格为准 |
常见错误是写成 https://api.x.ai/v1/v1/chat/completions,或者在 Base URL 末尾多写一个斜杠后再拼路径。还有一类错误是把 Anthropic 风格的 x-api-key 头用在 Grok 上。Grok 的 OpenAI 兼容入口使用 Bearer 鉴权。
五、最小调用验证
先用 curl 排除代码层问题。下面这条命令只发一条短消息,返回 200 且有 choices 字段,说明 Key、Base URL 和模型名都匹配:
export GROK_API_KEY="sk-你的密钥"
curl "https://ai.zhongshangqihang.com/v1/chat/completions" \
-H "Authorization: Bearer $GROK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-4",
"messages": [{"role": "user", "content": "只回复 OK"}],
"max_tokens": 16
}'
Python 项目可以直接复用 OpenAI SDK,只改 Key 和 Base URL:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["GROK_API_KEY"],
base_url="https://ai.zhongshangqihang.com/v1",
)
resp = client.chat.completions.create(
model="grok-4",
messages=[{"role": "user", "content": "用三句话解释什么是 API 网关。"}],
max_tokens=256,
)
print(resp.choices[0].message.content)
模型名不要凭记忆写。不同账号、不同网关开通的模型可能不同,以模型价格或控制台的模型列表为准。写错模型名通常返回 404 或 model not found,不是 Key 的问题。
六、Key 的安全配置
- Key 只放在服务端环境变量或密钥管理服务里,不写进代码仓库。
- 不要把 Key 打进前端包、浏览器请求或移动端安装包,前端只调用你自己的后端。
- 一个项目一把 Key,测试和生产分开,便于限额、轮换和追查用量。
- 日志只记录 Key 的前几位或哈希,不记录完整值。
- 人员离职、项目结束或 Key 疑似泄露时,立即吊销并重新创建。
- 定期检查用量曲线,发现异常调用先停 Key 再排查,不要先改业务代码。
Key 泄露的典型后果不是“别人帮你花钱”这么简单,而是数据、配额和账单同时失控。把 Key 当成数据库密码对待,很多问题可以提前避免。
七、常见配置错误
| 现象 | 常见原因 | 处理 |
|---|---|---|
| 401 | Key 与 Base URL 不配对;Key 有空格或换行 | 确认来源一致,重新复制 Key |
| 404 | 路径重复拼接;端点写错 | Base URL 只写到 /v1,端点用 /chat/completions |
| model not found | 模型名拼错或账号未开通 | 从价格页或控制台复制模型名 |
| 429 | 请求频率、并发或 Token 超限 | 降并发,按退避策略重试 |
| insufficient quota | 余额不足或 Key 达到限额 | 充值并检查 Key 的额度设置 |
| 超时 | 网络链路、代理或长输出 | 检查出口,设置合理的连接与读取超时 |
排查时先保留响应里的请求 ID 和状态码,再改请求。没有状态码和请求 ID,只能靠猜。
常见问题
Key 和 Base URL 必须来自同一家吗?
是。官方 Key 配官方地址,网关 Key 配网关地址。混用通常表现为 401,部分情况下会表现为 404 或权限错误。
可以把 Key 放在浏览器里吗?
不建议。浏览器代码对用户可见,Key 很容易被提取。正确做法是前端调用自己的后端,由后端持有 Key 并转发请求。
一个 Key 能调用多个模型吗?
在网关模式下通常可以,请求里指定模型名即可,前提是账号已开通对应模型。官方账号的可用模型以官方控制台为准。
Key 泄露了怎么办?
立即在控制台吊销或禁用该 Key,创建新 Key 替换,并检查近期用量和账单。不要只改代码里的字符串而保留旧 Key 有效。
为什么刚复制的 Key 一直 401?
先检查是否复制了多余空格、换行或引号,再确认 Base URL 是否匹配。若仍失败,用 curl 直接测试,排除 SDK 配置和代理环境的干扰。
下一步
如果需要一个入口同时调用 Grok 和其他模型,可以先在中商起航 AI 网关创建测试 Key,用最小请求跑通后再接入业务。模型可用性与价格以模型价格为准。
相关阅读:
