使用 cURL 调用 Grok API
更新于:
使用 cURL 测试 Grok API Dev 密钥、复现 HTTP 错误并查看流式响应。所有示例都调用兼容 OpenAI 的 Responses API。
准备 API 密钥
运行请求前先把密钥保存到环境变量。这样密钥不会直接出现在命令正文中,也便于在本地终端或 CI secret 中复用。
Bash
curl --versionBash
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 状态,应先检查网络和主机名。