Base URLhttps://suoxie.codes/v1

客户端配置

cURL

用最小命令验证认证和模型。

准备:用 cURL 验证 ​

cURL 能把 API 问题与客户端配置问题分开。Windows PowerShell 是本文基线:请写 curl.exe,因为 curl 在旧版 Windows PowerShell 中可能是 Invoke-WebRequest 的别名;macOS / Linux 才直接写 curl。

请在私密终端执行,不要在浏览器开发者工具或共享屏幕中输入。目标很简单:拿到一次模型列表响应和一次短请求的完成响应。两项结果确认前请保留终端,因为同一条命令最容易区分 API 问题和应用配置问题。

准备变量 ​

本文的 <API_KEY> 替换为完整 Key,<MODEL> 替换为 GET /v1/models 返回的完整模型 ID;替换时不要输入尖括号。

Windows PowerShell:

powershell
$env:SUOXIE_API_KEY = '<API_KEY>'

macOS / Linux:

bash
export SUOXIE_API_KEY='<API_KEY>'

操作一:检查模型列表 ​

Windows PowerShell:

powershell
curl.exe --fail-with-body --show-error `
  https://suoxie.codes/v1/models `
  -H "Authorization: Bearer $env:SUOXIE_API_KEY"

macOS / Linux:

bash
curl --fail-with-body --show-error \
  https://suoxie.codes/v1/models \
  -H "Authorization: Bearer $SUOXIE_API_KEY"

成功标志: HTTP 200,且 data 中至少出现一个模型。选择一个精确 id:

json
{
  "object": "list",
  "data": [
    { "id": "<MODEL>", "object": "model" }
  ]
}

失败时先检查 Bearer 格式、Key 是否完整,以及 Key 的分组和余额/订阅。不要使用另一把 Key 的模型列表。

应复制什么: 从返回中任选一个 "id" 后面的完整文本,保持大小写和标点,并在下方赋给 SUOXIE_MODEL。不要使用截图、其他账户或旧客户端配置里的模型名称。

操作二:发送最小请求 ​

设置模型变量:

powershell
$env:SUOXIE_MODEL = '<MODEL>'
bash
export SUOXIE_MODEL='<MODEL>'

Windows PowerShell:

powershell
$body = @{
  model = $env:SUOXIE_MODEL
  input = 'Reply with OK'
  store = $false
} | ConvertTo-Json -Compress
$body | curl.exe --fail-with-body --show-error `
  https://suoxie.codes/v1/responses `
  -H "Authorization: Bearer $env:SUOXIE_API_KEY" `
  -H "Content-Type: application/json" `
  --data-binary '@-'

macOS / Linux:

bash
curl --fail-with-body --show-error \
  https://suoxie.codes/v1/responses \
  -H "Authorization: Bearer $SUOXIE_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"model\":\"$SUOXIE_MODEL\",\"input\":\"Reply with OK\",\"store\":false}"

成功标志 ​

成功标志: HTTP 200、status 为 completed,且 output 有模型回复。

json
{
  "id": "resp_example",
  "object": "response",
  "status": "completed",
  "model": "<MODEL>",
  "output": [],
  "usage": {
    "input_tokens": 7,
    "output_tokens": 2,
    "total_tokens": 9
  }
}

示例省略了真实 output 细节。--fail-with-body 会保留 4xx/5xx 正文;旧版 cURL 不支持时可暂时移除,但必须人工检查 HTTP 状态。

继续前先读懂结果 ​

  • HTTP 200 加 status: "completed",说明 Base URL、Bearer Key、模型和最小 Responses 请求体已能一起工作。
  • 模型列表返回 200、但 Responses 请求失败,问题范围就缩小到端点、请求体、模型能力,或该能力对应的账户/分组权限。
  • 模型列表本身失败时,请先修复 URL、网络或认证。第三方客户端无法让这条基线命令成功。

两条命令都通过后,只在自己的记录中保留命令结构和状态。不要保存或分享完整 Key、Authorization 请求头,或包含它们的终端图片。

安全边界与响应头 ​

  1. 为同一条最小请求临时添加 --include。
  2. 记录实际出现的 X-Request-ID、X-Client-Request-ID 或 Retry-After。
  3. 删除输出中的 Authorization 和完整 Key,再发送给支持。

失败时先检查 HTTP 状态和响应正文,不要只看终端最后一行。

失败时先检查 ​

现象先检查
PowerShell 命令行为异常是否误用了 curl 别名,而不是 curl.exe
401Bearer 格式、Key 完整性和状态
403余额/订阅、分组、模型或能力权限
404Base URL 是否重复 /v1,模型是否在同一 Key 的列表中
请求中断或超时先查用量和任务记录,再决定是否重提

安全边界:不要用 -k 绕过 TLS,不把 Key 写入脚本、Git、截图或支持消息;共享电脑用完后清除环境变量和剪贴板。

下一步 ​

cURL 成功后,可直接集成 Responses API,或配置 Codex、Cursor 等普通客户端。请保留这条通过的命令作为基线:同一把 Key 在 cURL 成功而客户端失败时,检查 Base URL、Provider、模型缓存和代理;若 cURL 之后也失败,则回到常见错误。