Skip to content

压缩 Response 上下文

POST/responses/compact
鉴权
Bearer API Key
执行方式
按所调用的完整地址执行
查看调用示例

接口说明

本页说明压缩 Response 上下文能力的共同请求与响应结构,各地址的权益、错误与限制按完整公开地址分别列出。

请求

以下请求头、参数与报文结构适用于本页列出的全部完整公开地址。

  • 方法:POST

  • 鉴权:Authorization: Bearer ${TOKENFACTORY_API_KEY}

请求头

名称必填值或类型说明
AuthorizationBearer ${TOKENFACTORY_API_KEY}Token Factory API Key
Content-Typeapplication/json请求体媒体类型

路径参数:无

查询参数:无

请求字段

字段类型必填说明示例或约束
inputstring 或 object[]OpenAI 官方可选且允许为 null 的字符串或待压缩输入项数组;数组项保持开放,可包含既有 compaction/encrypted_content。示例:[{"content":"历史上下文","role":"user","type":"message"},{"encrypted_content":"......;可为 null;形式:string 或 object[]
input[].acknowledged_safety_checksobject[]已确认的计算机操作安全检查数组。
input[].actionobjectWeb Search 或 Computer 操作。
input[].approval_request_idstringMCP 审批请求 ID。
input[].approveboolean是否批准 MCP 调用。
input[].argumentsstring函数参数 JSON 字符串。
input[].authorizationstringMCP 调用授权值。
input[].call_idstring工具调用 ID。
input[].callerobject工具调用来源。
input[].commandobjectShell 或计算机命令。
input[].commandsstring[]命令字符串数组。
input[].connector_idstringMCP Connector ID。
input[].contentstring 或 object[]消息文本或图片/内联文件内容块数组。示例:"历史上下文";形式:string 或 object[]
input[].content[].detailstring输入图片细节级别;Responses 额外支持 original。可选值:"auto"、"low"、"high"、"original"
input[].content[].file_datastringBase64 data URL 文件内容。
input[].content[].file_idstring官方 Files 引用 ID;Token Factory 当前未实现 Files 生命周期,发送即返回 400 invalid_request_error。
input[].content[].file_urlstring文件 URL。
input[].content[].filenamestring内联文件名。
input[].content[].image_urlstring图片 URL 或 data URL。
input[].content[].prompt_cache_breakpointobject显式 Prompt Cache 断点。
input[].content[].textstring输入文本。
input[].content[].typestring父字段存在且匹配该形式时必填输入内容块类型。可选值:"input_text"、"input_image"、"input_file"
input[].encrypted_contentstring不透明加密上下文。
input[].idstring既有输入项 ID。
input[].namestring工具或函数名。
input[].namespacestring工具命名空间。
input[].outputobject工具调用输出。
input[].pending_safety_checksobject[]等待确认的计算机操作安全检查数组。
input[].queriesstring[]搜索查询字符串数组。
input[].resultsobject[]工具调用结果数组。
input[].rolestring消息角色。示例:"user"
input[].server_labelstringMCP Server 标签。
input[].server_urlstringMCP Server URL。
input[].shell_idstringShell 会话 ID。
input[].statusstring输出项状态。可选值:"in_progress"、"completed"、"incomplete"
input[].summaryobject[]Reasoning 摘要块数组。
input[].toolsobject[]动态发现的工具定义数组。
input[].typestring输入项类型。示例:"message"
instructionsstring系统级指令字符串。可为 null
modelstring必须提供且允许为 null 的压缩模型字段。Token Factory 仅在 previous_response_id 或加密上下文能恢复原模型亲和时接受 null,否则返回 400 invalid_request_error。示例:"YOUR_MODEL_ID";可为 null
previous_response_idstring上一次 Response ID;允许为 null。示例:"resp_previous_example";可为 null
prompt_cache_keystringPrompt Cache 路由键;允许为 null,最长 64 个字符。最长:64 字符;可为 null
prompt_cache_optionsobjectPrompt Cache 选项。可为 null
prompt_cache_options.modestring缓存断点模式。可选值:"implicit"、"explicit"
prompt_cache_options.ttlstring缓存生存时间。可选值:"30m"
prompt_cache_retentionstring已弃用的 Prompt Cache 保留策略;允许为 null。可选值:"in_memory"、"24h";可为 null
service_tierstring服务处理等级;允许为 null。可选值:"auto"、"default"、"fast"、"flex"、"priority";可为 null

请求报文

媒体类型:application/json

json
{
  "input": [
    {
      "content": "历史上下文",
      "role": "user",
      "type": "message"
    },
    {
      "encrypted_content": "...",
      "type": "compaction"
    }
  ],
  "model": "YOUR_MODEL_ID",
  "previous_response_id": "resp_previous_example"
}

响应

成功状态:200

响应头

名称值或类型说明
Content-Typeapplication/json响应媒体类型
retry-afterstring上游限流或暂时不可用时保留的重试等待秒数。
x-ratelimit-limit-input-tokensstring上游返回时安全保留的 OpenAI 限额信息。
x-ratelimit-limit-output-tokensstring上游返回时安全保留的 OpenAI 限额信息。
x-ratelimit-limit-requestsstring上游返回时安全保留的 OpenAI 限额信息。
x-ratelimit-limit-tokensstring上游返回时安全保留的 OpenAI 限额信息。
x-ratelimit-remaining-input-tokensstring上游返回时安全保留的 OpenAI 限额信息。
x-ratelimit-remaining-output-tokensstring上游返回时安全保留的 OpenAI 限额信息。
x-ratelimit-remaining-requestsstring上游返回时安全保留的 OpenAI 限额信息。
x-ratelimit-remaining-tokensstring上游返回时安全保留的 OpenAI 限额信息。
x-ratelimit-reset-input-tokensstring上游返回时安全保留的 OpenAI 限额信息。
x-ratelimit-reset-output-tokensstring上游返回时安全保留的 OpenAI 限额信息。
x-ratelimit-reset-requestsstring上游返回时安全保留的 OpenAI 限额信息。
x-ratelimit-reset-tokensstring上游返回时安全保留的 OpenAI 限额信息。
x-request-idstring本次 OpenAI 协议请求的关联 ID;上游未提供时由 Token Factory 生成。

响应字段

OpenAI Responses Compact 成功响应;官方新增字段保持开放。 下表完整列出当前公开协议明确声明的字段;开放扩展只允许未声明的附加字段,不会放宽已声明字段的必填、类型或枚举约束。

字段类型必填说明示例或约束
created_atnumberCompaction 创建时间的 Unix 秒时间戳;官方 wire 类型为 number。示例:1787832000;最小值:0
idstringCompaction 响应 ID。示例:"resp_compaction_example"
objectstring固定为 response.compaction。示例:"response.compaction";可选值:"response.compaction"
outputobject 或 object[]所有 user 消息之后必须有且仅有一个带 id 与 encrypted_content 的 compaction 项。示例:[{"content":[{"text":"历史上下文","type":"input_text"}],"id":"msg_input_example","...;最少:1 项
output[].contentobject[]匹配该形式时必填Compact 保留的输入内容块数组。示例:[{"text":"历史上下文","type":"input_text"}]
output[].content[].textstring匹配该形式时必填输入文本。示例:"历史上下文"
output[].content[].typestring匹配该形式时必填固定为 input_text。示例:"input_text";可选值:"input_text"
output[].idstring匹配该形式时必填消息 ID。;Compaction 项 ID。示例:"msg_input_example"
output[].rolestring匹配该形式时必填固定为 user。示例:"user";可选值:"user"
output[].statusstring匹配该形式时必填输出项状态。示例:"completed";可选值:"in_progress"、"completed"、"incomplete"
output[].typestring匹配该形式时必填固定为 message。;固定为 compaction。示例:"message";可选值:"message";示例:"message";可选值:"compaction"
output[].created_bystring创建该项的 actor ID。
output[].encrypted_contentstring匹配该形式时必填必须原样续接的不透明加密上下文。
usageobject可信协议 Usage;成功终态缺失时请求失败关闭。示例:{"input_tokens":29,"input_tokens_details":{"cache_write_tokens":0,"cached_tok...
usage.input_tokensinteger (int32)输入 Token 数。示例:29;最小值:0
usage.input_tokens_detailsobject输入 Token 分类明细。示例:
usage.input_tokens_details.cache_write_tokensinteger (int32)写入 Prompt Cache 的 Token 数。示例:0;最小值:0
usage.input_tokens_details.cached_tokensinteger (int32)从 Prompt Cache 读取的 Token 数。示例:0;最小值:0
usage.output_tokensinteger (int32)输出 Token 数。示例:8;最小值:0
usage.output_tokens_detailsobject输出 Token 分类明细。示例:
usage.output_tokens_details.reasoning_tokensinteger (int32)Reasoning Token 数。示例:0;最小值:0
usage.total_tokensinteger (int32)输入与输出 Token 总数。示例:37;最小值:0

返回报文

媒体类型:application/json

json
{
  "created_at": 1787832000,
  "id": "resp_compaction_example",
  "object": "response.compaction",
  "output": [
    {
      "content": [
        {
          "text": "历史上下文",
          "type": "input_text"
        }
      ],
      "id": "msg_input_example",
      "role": "user",
      "status": "completed",
      "type": "message"
    },
    {
      "encrypted_content": "gAAAAAB_example",
      "id": "cmp_example",
      "type": "compaction"
    }
  ],
  "usage": {
    "input_tokens": 29,
    "input_tokens_details": {
      "cache_write_tokens": 0,
      "cached_tokens": 0
    },
    "output_tokens": 8,
    "output_tokens_details": {
      "reasoning_tokens": 0
    },
    "total_tokens": 37
  }
}

错误

适用完整地址状态错误码常见触发重试建议动作结果风险
https://api.tokenfactory.cn/v1/responses/compact
https://api.tokenfactory.cn/v1/coding/responses/compact
401invalid_api_keyAuthorization 缺失、Bearer 格式错误、Key 不可用或账户未实名检查 Bearer API Key、Key 状态与实名状态
https://api.tokenfactory.cn/v1/responses/compact
https://api.tokenfactory.cn/v1/coding/responses/compact
400model_not_found模型存在,但不具备当前端点要求的能力改用支持当前端点能力的模型,或改为调用该模型支持的端点
https://api.tokenfactory.cn/v1/responses/compact
https://api.tokenfactory.cn/v1/coding/responses/compact
404model_not_found模型不存在、未上架或当前入口不可用调用模型列表并改用当前入口可用模型
https://api.tokenfactory.cn/v1/responses/compact
https://api.tokenfactory.cn/v1/coding/responses/compact
404MODEL_ROUTING_PROTOCOL_UNSUPPORTED模型未开放当前 API 接口对应协议改用该模型已开放的协议或其他模型
https://api.tokenfactory.cn/v1/responses/compact
https://api.tokenfactory.cn/v1/coding/responses/compact
503MODEL_ROUTING_NOT_CONFIGURED模型的协议路由尚未配置视情况稍后重试;持续出现时联系平台确认路由配置
https://api.tokenfactory.cn/v1/responses/compact
https://api.tokenfactory.cn/v1/coding/responses/compact
503MODEL_ROUTING_POLICY_INVALID模型协议路由策略状态异常视情况稍后重试;持续出现时联系平台检查路由策略
https://api.tokenfactory.cn/v1/responses/compact
https://api.tokenfactory.cn/v1/coding/responses/compact
503MODEL_ROUTING_NO_HEALTHY_ROUTE模型当前没有健康供应路线是,退避后指数退避后重试或临时改用其他模型
https://api.tokenfactory.cn/v1/responses/compact429insufficient_balance账户可用余额不足充值后重新发起请求
https://api.tokenfactory.cn/v1/responses/compact429balance_daily_limit_exceeded账户当天余额消费已达到自助上限调整每日上限或等待次日恢复
https://api.tokenfactory.cn/v1/responses/compact
https://api.tokenfactory.cn/v1/coding/responses/compact
413request_too_large请求体超过平台接收上限缩小请求体后重试
https://api.tokenfactory.cn/v1/responses/compact
https://api.tokenfactory.cn/v1/coding/responses/compact
400invalid_request_error请求参数或请求体缺字段、格式错误或不受支持修正请求后重试
https://api.tokenfactory.cn/v1/responses/compact
https://api.tokenfactory.cn/v1/coding/responses/compact
502upstream_error供应商连接失败或返回异常响应视情况确认未收到有效结果后再决定是否重试中到高
https://api.tokenfactory.cn/v1/responses/compact
https://api.tokenfactory.cn/v1/coding/responses/compact
504upstream_timeout供应商在平台超时时间内未完成响应视情况先确认是否已有部分输出,再决定是否重试中到高
https://api.tokenfactory.cn/v1/responses/compact
https://api.tokenfactory.cn/v1/coding/responses/compact
500internal_error平台内部出现未预期错误视情况确认未收到有效结果并记录请求时间后再决定是否重试中到高
https://api.tokenfactory.cn/v1/responses/compact
https://api.tokenfactory.cn/v1/coding/responses/compact
405method_not_allowed请求方法不是该公开地址允许的方法改用文档列出的 HTTP 方法
https://api.tokenfactory.cn/v1/responses/compact
https://api.tokenfactory.cn/v1/coding/responses/compact
415unsupported_media_typeContent-Type 与该公开地址要求的媒体类型不一致按文档发送正确 Content-Type
https://api.tokenfactory.cn/v1/responses/compact
https://api.tokenfactory.cn/v1/coding/responses/compact
403permission_denied当前 API Key 或上游账户无权执行该请求检查权限、模型可见性与供应商授权
https://api.tokenfactory.cn/v1/responses/compact
https://api.tokenfactory.cn/v1/coding/responses/compact
409conflict_error请求与上游资源当前状态冲突视情况读取最新状态后修正请求或稍后重试中到高
https://api.tokenfactory.cn/v1/responses/compact
https://api.tokenfactory.cn/v1/coding/responses/compact
422unprocessable_entity请求结构正确但上游无法处理其中的语义按错误信息修正参数或输入内容
https://api.tokenfactory.cn/v1/coding/responses/compact429insufficient_package账户没有可用 Coding Plan购买或启用可用套餐
https://api.tokenfactory.cn/v1/coding/responses/compact429package_expiredCoding Plan 已过期续费套餐后重新发起请求
https://api.tokenfactory.cn/v1/coding/responses/compact400model_not_in_package所选模型不在当前套餐支持范围改用套餐支持的模型
https://api.tokenfactory.cn/v1/coding/responses/compact429package_5h_quota_exhausted5 小时套餐窗口额度已用尽等待窗口恢复或升级套餐
https://api.tokenfactory.cn/v1/coding/responses/compact429package_weekly_quota_exhausted每周套餐窗口额度已用尽等待窗口恢复或升级套餐
https://api.tokenfactory.cn/v1/coding/responses/compact429package_concurrency_limited当前套餐并发调用数已达上限是,退避后等待在途调用结束后再试
https://api.tokenfactory.cn/v1/coding/responses/compact413package_input_too_large请求超过 Coding Plan 输入字节上限缩短输入后重试
https://api.tokenfactory.cn/v1/coding/responses/compact400package_output_limit_exceeded请求的输出 Token 上限超过套餐限制降低输出上限后重试

错误返回报文

适用完整地址

https://api.tokenfactory.cn/v1/responses/compacthttps://api.tokenfactory.cn/v1/coding/responses/compact

HTTP 400Content-Type: application/json;响应头:retry-after: stringx-ratelimit-limit-input-tokens: stringx-ratelimit-limit-output-tokens: stringx-ratelimit-limit-requests: stringx-ratelimit-limit-tokens: stringx-ratelimit-remaining-input-tokens: stringx-ratelimit-remaining-output-tokens: stringx-ratelimit-remaining-requests: stringx-ratelimit-remaining-tokens: stringx-ratelimit-reset-input-tokens: stringx-ratelimit-reset-output-tokens: stringx-ratelimit-reset-requests: stringx-ratelimit-reset-tokens: stringx-request-id: string

json
{
  "error": {
    "code": "model_not_found",
    "message": "模型存在,但不具备当前端点要求的能力",
    "param": null,
    "type": "invalid_request_error"
  }
}

适用完整地址:https://api.tokenfactory.cn/v1/responses/compacthttps://api.tokenfactory.cn/v1/coding/responses/compact

供应商非 2xx 响应会归一化为当前公开协议的错误信封,并只保留安全响应头;502504 或连接中断时,调用结果可能未知。

限制与计费

适用完整地址限制或计费说明
https://api.tokenfactory.cn/v1/responses/compact请求成功后按通用余额计费;余额不足时调用失败。
受全局请求体上限约束。
模型上下文与输出限制依当前模型和上游事实而定。
Compact 与 Responses Create 分别验证;encrypted_content 原样透传且不读取。
不自研摘要替代 Compact,也不跨供应商恢复 previous_response_id 上下文。
余额计费调用不会自动改用 Coding Plan 权益。
https://api.tokenfactory.cn/v1/coding/responses/compact请求按 Coding Plan 独立权益计入用量;套餐不可用时调用失败。
受全局请求体上限约束。
Coding Plan 权益、并发与模型限制按当前套餐事实执行。
Compact 与 Responses Create 分别验证;encrypted_content 原样透传且不读取。
不自研摘要替代 Compact,也不跨供应商恢复 previous_response_id 上下文。
Coding Plan 权益独立核验;套餐不可用时不会自动改扣余额。

调用示例

cURL · https://api.tokenfactory.cn/v1/responses/compact

sh
curl --request POST "https://api.tokenfactory.cn/v1/responses/compact" --silent --show-error --fail-with-body --max-time 60 --header "Authorization: Bearer ${TOKENFACTORY_API_KEY}" --header "Content-Type: application/json" --data "{\"model\":\"${TOKENFACTORY_MODEL_ID}\",\"input\":[{\"type\":\"compaction\",\"encrypted_content\":\"...\"}]}"

cURL · https://api.tokenfactory.cn/v1/coding/responses/compact

sh
curl --request POST "https://api.tokenfactory.cn/v1/coding/responses/compact" --silent --show-error --fail-with-body --max-time 60 --header "Authorization: Bearer ${TOKENFACTORY_API_KEY}" --header "Content-Type: application/json" --data "{\"model\":\"${TOKENFACTORY_MODEL_ID}\",\"input\":[{\"type\":\"compaction\",\"encrypted_content\":\"...\"}]}"

相关说明

请求与响应按当前 OpenAI 兼容能力开放;供应商扩展字段可能随所选模型变化。

Token Factory · 国产合规 AI Gateway