API 参考

Responses

POST/v1/responses

OpenAI Responses API 形状——单个 input 字段、结构化 output 条目,支持推理摘要的模型会一并返回。

#请求参数

  • modelstring必填

    来自 /v1/models 的模型 ID。网关据此解析上游厂商。

  • inputstring | array必填

    提示词:纯字符串或 input 条目数组。

  • instructionsstring可选

    系统级指令,等价于 system 消息。

  • streamboolean可选

    流式返回 response.* SSE 事件,而不是单个 JSON。

  • max_output_tokensinteger可选

    生成 token 上限;同时限定预留额度的估算。

  • toolsarray可选

    模型可调用的函数声明——见工具调用指南。

  • previous_response_idstring可选

    在上一个响应上续接一轮,无需重发历史。

#压缩长对话

POST/v1/responses/compact

当一段对话长到不适合每轮都重发时,compaction 会把它压缩,并返回可以继续往下带的精简版本。编码类智能体在会话接近上下文上限时调用的就是它。

  • modelstring必填

    支持 compaction 的模型。其他模型会以 unsupported_endpoint 拒绝这个路径。

  • inputarray | string可选

    待压缩的对话,使用 Responses 的 input 形态。

  • instructionsstring | array可选

    压缩时需要保留什么——例如「保留所有文件路径和已做的决定」。

  • previous_response_idstring可选

    从已存储的响应继续,无需重发整段历史。

compacted.json
{
  "id": "resp_…",
  "object": "response",
  "created_at": 1789000000,
  "output": [ /* the compacted conversation */ ],
  "usage": {"input_tokens": 8120, "output_tokens": 240, "total_tokens": 8360}
}

不支持流式,按 token 计费

compaction 没有流式形态——这个请求不接受 stream:true。它和普通 Responses 调用一样,按读入和写出的 token 计费,所以要在需要时才压缩,而不是每轮都压。

#相关错误码

  • 400 invalid_request_error请求体格式错误,或该模型不支持某个参数。
  • 401Bearer 令牌无效或缺失。这条路径不带 error.code,请按状态码判断。
  • 402 insufficient_user_quota钱包余额不足以覆盖预扣估算。
  • 429密钥级限流。响应体为空,按 Retry-After 等待。若 429 带有 insufficient_user_quota,那是每日消费上限,不是限流。
  • 503 model_not_found模型名不存在,或当前没有健康渠道可以服务它。

完整错误码表 →

#请求示例

curl https://www.aisplice.store/v1/responses \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-luna",
    "input": "Say hello."
  }'

#响应

response.json
{
  "id": "resp_…",
  "object": "response",
  "model": "gpt-5.6-luna",
  "output": [{
    "type": "message",
    "role": "assistant",
    "content": [{"type": "output_text", "text": "Hello!"}]
  }],
  "usage": {"input_tokens": 9, "output_tokens": 3, "total_tokens": 12}
}

还是没解决?

把请求 ID 或报错信息发给我们,我们来查。