Grok API

使用 cURL 调用 Grok API

View as Markdown

更新于:

使用 cURL 测试 Grok API Dev 密钥、复现 HTTP 错误并查看流式响应。所有示例都调用兼容 OpenAI 的 Responses API。

准备 API 密钥

运行请求前先把密钥保存到环境变量。这样密钥不会直接出现在命令正文中,也便于在本地终端或 CI secret 中复用。

Bash
curl --version
Bash
export GROK_API_DEV_KEY="sk-lg-YOUR_API_KEY"

不要在共享终端或 CI 日志中输出变量。密钥泄露后应立即撤销。

调用 Responses API

最小 JSON 只需 model 和 input。Content-Type 声明 JSON,Authorization 以兼容 OpenAI 的 Bearer 格式传递密钥。

cURL
curl --fail-with-body https://api.llm-gate.tech/v1/responses \
  -H "Authorization: Bearer $GROK_API_DEV_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-4.5",
    "input": "Explain HTTP in two sentences"
  }'

HTTP 4xx 或 5xx 时,--fail-with-body 会返回非零退出码,同时保留 JSON 错误正文。

读取 JSON 响应

使用结果前先检查 status。响应还包含诊断 ID、类型化 output 项,以及输入、输出和总 token 数量。

JSON
{
  "id": "resp_01abc",
  "status": "completed",
  "output": [
    {
      "type": "message",
      "role": "assistant",
      "content": [
        { "type": "output_text", "text": "HTTP is..." }
      ]
    }
  ],
  "usage": {
    "input_tokens": 12,
    "output_tokens": 34,
    "total_tokens": 46
  }
}

不要假设文本永远位于固定数组索引。应用需要类型化解析时应使用 SDK。

使用 cURL 查看 SSE 流

添加 stream: true,并使用 -N 关闭 cURL 输出缓冲。终端会实时显示 SSE 记录,而不是等待一个最终 JSON。

cURL streaming
curl -N --fail-with-body https://api.llm-gate.tech/v1/responses \
  -H "Authorization: Bearer $GROK_API_DEV_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-4.5",
    "input": "Write a short example",
    "stream": true
  }'

response.completed 表示正常结束。若此前收到错误事件或连接中断,则回答不完整。

检查 HTTP 错误

从短 input 和最小 JSON 开始排查。需要同时查看响应头时添加 -i。

cURL
curl -i --fail-with-body https://api.llm-gate.tech/v1/responses \
  -H "Authorization: Bearer $GROK_API_DEV_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-4.5",
    "input": "Test request"
  }'
  • 401:检查 Bearer 请求头和 GROK_API_DEV_KEY。
  • 404:检查 /v1/responses 路径和 grok-4.5 模型 ID。
  • 429:如果有 Retry-After,请按其等待并降低请求频率。
  • DNS 或 TLS 故障没有 HTTP 状态,应先检查网络和主机名。

API 错误

相关页面