Grok API Key 获取与配置指南
简答:Grok API Key 通常在官方 Console 的 API Keys 页面创建,随后通过 Authorization: Bearer <API_KEY> 调用 API。创建密钥前要区分 API 使用权限与 Grok 聊天订阅;API 调用按官方计费规则执行,Playground 可用于测试,但不等于 API 请求免费。首次配置时优先核对 Key、Base URL 和从官方模型列表复制的模型 ID。
定义:Grok API Key 是用于向 Grok API 证明调用者身份并关联团队权限、用量和计费的访问凭证。
先完成这 6 项核对,再发送请求
本站是第三方 AI API 接入指南,不是 Grok 或相关 API 官方站点。下面的流程只引用公开的官方资料;如果控制台页面、模型名称或计费规则发生变化,应以官方页面实时显示为准。
| 项目 | 应填写或确认的内容 | 常见错误 |
|---|---|---|
| 账号与团队 | 在官方 Console 注册账号,并进入有 API 权限的团队 | 只有聊天产品订阅,未必等于 API 权限 |
| API Key | 在 API Keys 页面创建并立即保存 | 漏写 Bearer、复制了多余空格或使用了已撤销的 Key |
| Base URL | https://api.x.ai/v1 | 把网页地址、文档地址或带重复 /v1 的地址当成 Base URL |
| 模型 ID | 从官方模型列表或 GET /v1/models 返回结果复制 | 手写旧模型名、使用未授权模型或把显示名称当作 ID |
| 认证头 | Authorization: Bearer <XAI_API_KEY> | 使用错误的 Header 名,或把 Key 放进 URL |
| 计费状态 | 确认团队已有可用额度或符合当前账户的计费条件 | 把 Playground 可用误认为 API 调用不计费 |
官方快速入门说明了注册账号、创建 API Key、设置环境变量和发送首个请求的基本流程,可参考 官方 Quickstart。接口认证格式和 API 兼容范围可参考 官方 REST API Reference。
获取 Grok API Key 的实际步骤
- 打开官方 Console,注册或登录账号。
- 进入团队对应的 API Keys 页面,创建一个用途明确的 Key,例如开发测试或生产服务。
- 密钥创建后立即复制并保存到密码管理器或 Secret Manager。官方页面提示,Key 在创建时显示,之后不应依赖再次查看。
- 在本地终端设置环境变量,不要把密钥直接写进源码、前端 JavaScript、浏览器请求或 Git 仓库。
- 从官方模型列表复制一个当前可用、且该团队有权限访问的模型 ID。本文不把某个模型 ID 写死,因为模型列表和团队权限可能变化。
API Key 与 Grok 聊天产品的登录状态、订阅或其他消费者服务不是同一个配置概念。是否能够调用 API,应以 Console 中的 API Key、团队权限、余额和 API 返回结果为准,不要仅凭聊天产品可以使用就推断 API 一定可用。
费用方面,官方资料说明 API 按使用量计费,并支持预付余额等计费方式;官方页面同时提供 Playground。Playground 的可用性不应理解为所有 API 请求都免费,具体模型价格和账户要求请查看 官方 API Pricing 页面。
用列出模型接口验证 Key,再发送首次请求
第一步:设置变量
下面的 Bash 示例不硬编码 Key 或模型名。请把 MODEL_ID 替换为官方模型列表返回的真实 ID。
set -eu
BASE_URL="${BASE_URL:-https://api.x.ai/v1}"
: "${XAI_API_KEY:?请先设置 XAI_API_KEY}"
: "${MODEL_ID:?请设置从官方模型列表复制的 MODEL_ID}"
export BASE_URL MODEL_ID
第二步:发送认证验证请求
先调用模型列表接口。该请求主要验证 Key、Base URL 和团队可见模型,不会因为模型调用参数写错而干扰判断。
response_file="$(mktemp)"
trap 'rm -f "$response_file"' EXIT
status="$(curl -sS -o "$response_file" -w '%{http_code}' \
"$BASE_URL/models" \
-H "Authorization: Bearer $XAI_API_KEY")"
printf 'HTTP status: %s\n' "$status"
cat "$response_file"
如果返回成功响应,查看返回内容中的模型 id 字段,再将其中一个可用值设置给 MODEL_ID。官方模型接口说明见 Models API 文档。
第三步:发送最小聊天请求
response_file="$(mktemp)"
trap 'rm -f "$response_file"' EXIT
status="$(curl -sS -o "$response_file" -w '%{http_code}' \
"$BASE_URL/chat/completions" \
-H "Authorization: Bearer $XAI_API_KEY" \
-H "Content-Type: application/json" \
-d "{\"model\":\"$MODEL_ID\",\"messages\":[{\"role\":\"user\",\"content\":\"Reply with one short sentence.\"}]}" )"
printf 'HTTP status: %s\n' "$status"
cat "$response_file"
如果你使用 Python 或 OpenAI 兼容 SDK,核心配置仍然是:API Key 从环境变量读取,Base URL 指向 https://api.x.ai/v1,模型 ID 从官方模型列表复制,而不是凭记忆填写。
PowerShell 5.1 和 7.x 验证示例
$BaseUrl = if ($env:BASE_URL) { $env:BASE_URL } else { "https://api.x.ai/v1" }
if (-not $env:XAI_API_KEY) { throw "请先设置 XAI_API_KEY" }
if (-not $env:MODEL_ID) { throw "请设置从官方模型列表复制的 MODEL_ID" }
$Headers = @{ Authorization = "Bearer $env:XAI_API_KEY" }
try {
$Models = Invoke-RestMethod -Method Get -Uri "$BaseUrl/models" -Headers $Headers
$Models.data | Select-Object id, owned_by
} catch {
$Body = if ($_.ErrorDetails.Message) { $_.ErrorDetails.Message } else { $_.Exception.Message }
Write-Error $Body
}
以上 PowerShell 写法适用于 Windows PowerShell 5.1 和 PowerShell 7.x;错误响应单独读取,避免把错误正文误当成成功结果。
401、403、404、429 怎么排查
| 状态码 | 官方定义的常见原因 | 处理顺序 |
|---|---|---|
| 401 | 缺少 Authorization Header,或令牌无效 | 确认环境变量实际有值、Header 是 Bearer 格式,并检查是否复制了完整 Key |
| 403 | API Key 或团队没有执行该操作的权限,或团队被限制 | 确认当前 Key 所属团队和模型权限,必要时请团队管理员处理 |
| 404 | 模型不存在,或请求 URL 拼写错误 | 先请求 /models,复制返回的模型 ID;再检查 Base URL 是否重复或缺少路径 |
| 429 | 请求过于频繁,达到速率限制 | 降低请求频率,按响应中的限制信息或 Retry-After 处理,并检查并发设置 |
| 400 | 请求体参数无效,也可能是 API Key 等输入不正确 | 检查 JSON、字段名、Content-Type 和模型调用格式 |
这些状态码和处理建议来自 官方 Debugging Errors 文档。如果认证验证请求成功、聊天请求返回 404,优先怀疑模型 ID 或端点;如果模型列表也返回 401,则不要先修改请求体,应先修复 Key 或认证头。
若怀疑服务本身出现异常,可查看官方状态页 status.x.ai;但在提交问题前,仍应保留 HTTP 状态码、错误正文、请求路径和时间,不要在日志中记录完整 API Key。
Key 安全保存、泄露后的轮换与网关辨别
本地开发可以使用环境变量或项目目录中的 .env 文件,但应将 .env 加入 .gitignore,并确认不会被打包、上传或打印。生产服务优先使用部署平台的 Secret Manager 或密钥管理功能。环境变量不是“自动安全”,它只是避免把密钥硬编码进源文件;有权限读取进程环境的人员或日志仍可能看到它。
- 不要把 Key 放在浏览器前端、移动端安装包或公开仓库中。
- 不要把完整 Key 写入异常日志、截图、工单或聊天记录。
- 为开发、测试、生产使用不同的 Key,尽量限制团队和用途。
- 如果 Key 进入 Git、日志或公开页面,应立即在 Console 撤销并创建新 Key,再检查是否存在自动化任务仍使用旧值。
- 轮换后先用
GET /v1/models验证新 Key,再切换生产配置。
官方 API 与第三方 API 网关的计费主体、数据处理、权限模型和故障排查路径可能不同。选择网关时,应单独核对其隐私政策、日志保留说明、退款和余额规则、模型同步方式以及是否明确说明与官方 API 的关系;本文不对未核实的平台能力、价格或稳定性作结论。
常见问题
Grok API Key 在哪里获取?
在官方 Console 注册或登录后,进入 API Keys 页面创建。创建后立即复制并安全保存;不要把 Key 放进浏览器代码、公开仓库或日志。
Grok API Key 和 Grok 聊天订阅是一回事吗?
不是同一个配置概念。API Key 用于 API 请求并关联团队权限和计费,聊天产品的登录或订阅状态不能单独证明 API Key 已创建或团队已有 API 调用权限。
Grok API 是否免费?
官方资料说明 API 按使用量计费,并要求按照账户规则准备可用额度;Console 里的 Playground 用于测试,不应直接理解为 API 请求永久免费。模型价格和账户要求应以官方 Pricing 页面为准。
为什么返回 401?
401 通常表示缺少 Authorization Header 或令牌无效。检查请求是否使用 <code>Authorization: Bearer <XAI_API_KEY></code>,环境变量是否为空,以及 Key 是否已撤销或复制不完整。
为什么返回 404?
官方调试文档列出的常见原因包括模型不存在或 URL 无效。先调用 <code>GET /v1/models</code> 获取当前 Key 可见的模型 ID,再检查 Base URL 和请求路径。
API Key 泄露后怎么办?
立即在官方 Console 撤销泄露的 Key,创建新 Key,替换部署环境中的密钥,并检查 Git、日志和 CI/CD 配置中是否仍留有旧值。随后用列出模型接口验证新 Key。
相关阅读
参考资料
- Grok API Quickstart:官方快速入门(docs.x.ai)
- 官方 REST API Reference(docs.x.ai)
- 官方 Models API 文档(docs.x.ai)
- 官方 Debugging Errors 文档(docs.x.ai)
- 官方 API Pricing 页面(docs.x.ai)