Skip to content

压缩 Response 上下文 ​

POST/responses/compact

接口说明 ​

透传 OpenAI Responses Compact 的独立操作;加密压缩内容不解析、不改写,成功响应必须包含真实 Usage,并保持原供应商亲和。

请求 ​

  • 方法:POST

  • 鉴权:Authorization: Bearer ${TOKENFACTORY_API_KEY}

请求头 ​

名称必填值或类型说明
Authorization是Bearer ${TOKENFACTORY_API_KEY}Token Factory API Key
Content-Type是application/json请求体媒体类型

路径参数:无

查询参数:无

请求字段 ​

字段类型必填说明示例或约束
inputstring 或 object[]否OpenAI 官方可选且允许为 null 的字符串或待压缩输入项数组;数组项保持开放,可包含既有 compaction/encrypted_content。示例:[{"content":"历史上下文","role":"user","type":"message"},{"encrypted_content":"......;可为 null;形式:string 或 object[]
input[].acknowledged_safety_checksobject[]否已确认的计算机操作安全检查数组。—
input[].actionobject否Web Search 或 Computer 操作。—
input[].approval_request_idstring否MCP 审批请求 ID。—
input[].approveboolean否是否批准 MCP 调用。—
input[].argumentsstring否函数参数 JSON 字符串。—
input[].authorizationstring否MCP 调用授权值。—
input[].call_idstring否工具调用 ID。—
input[].callerobject否工具调用来源。—
input[].commandobject否Shell 或计算机命令。—
input[].commandsstring[]否命令字符串数组。—
input[].connector_idstring否MCP Connector ID。—
input[].contentstring 或 object[]否消息文本或图片/内联文件内容块数组。示例:"历史上下文";形式:string 或 object[]
input[].content[].detailstring否输入图片或文件细节级别;接受非空字符串,可用值由供应商判断。最短:1 字符
input[].content[].file_datastring否Base64 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_labelstring否MCP Server 标签。—
input[].server_urlstring否MCP Server URL。—
input[].shell_idstring否Shell 会话 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_keystring否Prompt Cache 路由键;允许为 null,最长 64 个字符。最长:64 字符;可为 null
prompt_cache_optionsobject否Prompt Cache 选项。可为 null
prompt_cache_options.modestring否缓存断点模式。最短:1 字符
prompt_cache_options.ttlstring否缓存生存时间。最短:1 字符
prompt_cache_retentionstring否已弃用的 Prompt Cache 保留策略;允许为 null。最短:1 字符;可为 null
service_tierstring否服务处理等级;允许为 null。最短:1 字符;可为 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响应媒体类型
request-idstringToken Factory 独立生成的平台请求编号;Anthropic 错误体的 request_id 与其相同。
retry-afterstring可选重试等待提示:非负秒数或标准 HTTP 日期。重试前仍需确认请求可安全重复。
x-request-idstringToken Factory 独立生成的平台请求编号,与 request-id 相同。

响应字段 ​

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

字段类型必填说明示例或约束
created_atnumber是Compaction 创建时间的 Unix 秒时间戳;官方 wire 类型为 number。示例:1787832000;最小值:0
idstring是Compaction 响应 ID。示例:"resp_compaction_example"
objectstring是固定为 response.compaction。示例:"response.compaction";可选值:"response.compaction"
outputobject 或 object 或 object 或 object 或 object 或 object 或 object[]是保留消息、内容和扩展项的原始顺序;至少有一个带 id 与 encrypted_content 的 compaction 项。示例:[{"content":[{"text":"历史上下文","type":"input_text"}],"id":"msg_input_example","...;最少:1 项
output[].contentstring 或 object 或 object 或 object 或 object 或 object 或 object 或 object 或 object 或 object[] 或 object 或 object[]匹配该形式时必填保留的字符串或内容块数组;有效扩展内容保持原值与顺序。;Reasoning 正文;官方可省略或为 null。示例:[{"text":"历史上下文","type":"input_text"}];形式:string 或 object 或 object 或 object 或 object 或 object 或 object 或 object 或 object 或 object[];示例:[{"text":"历史上下文","type":"input_text"}];可为 null
output[].content[].textstring父字段存在且匹配该形式时必填保留的原始输入文本。;输出文本。;Reasoning 正文文本。示例:"历史上下文"
output[].content[].typestring父字段存在且匹配该形式时必填固定为 input_text。;保留的图片或文件内容类型。;保留的图片或文件内容类型。;固定为 output_text。;固定为 refusal。;未列出的有效内容类型;已知类型使用对应结构。;固定为 reasoning_text。;未列出的有效内容类型;已知类型使用对应结构。示例:"input_text";可选值:"input_text";示例:"input_text";可选值:"input_image";示例:"input_text";可选值:"input_file";示例:"input_text";可选值:"output_text";示例:"input_text";可选值:"refusal";示例:"input_text";最短:1 字符;示例:"input_text";可选值:"reasoning_text";示例:"input_text";最短:1 字符
output[].content[].file_idstring匹配该形式时必填文件标识。可为 null;最短:1 字符;可为 null;最短:1 字符
output[].content[].image_urlstring匹配该形式时必填图片地址。可为 null;最短:1 字符
output[].content[].file_datastring匹配该形式时必填不透明文件数据。可为 null;最短:1 字符
output[].content[].file_urlstring匹配该形式时必填文件地址。可为 null;最短:1 字符
output[].content[].annotationsobject[]匹配该形式时必填输出文本注释数组。—
output[].content[].logprobsobject[]否输出 Token 对数概率数组。—
output[].content[].logprobs[].logprobnumber父字段存在且匹配该形式时必填Token 对数概率。—
output[].content[].logprobs[].tokenstring父字段存在且匹配该形式时必填Token 文本。—
output[].content[].logprobs[].top_logprobsobject[]否该位置的候选 Token 对数概率数组。—
output[].content[].refusalstring匹配该形式时必填拒答说明。—
output[].idstring匹配该形式时必填可选消息 ID。;Compaction 项 ID。;Reasoning 项 ID。;输出项 ID;官方可省略或为 null。 ;输出项 ID。示例:"msg_input_example";可为 null;示例:"msg_input_example";示例:"msg_input_example";示例:"msg_input_example";可为 null;示例:"msg_input_example"
output[].rolestring匹配该形式时必填保留的非空消息角色。示例:"user";最短:1 字符
output[].statusstring否输出项状态。;Reasoning 输出项状态;官方可省略或为 null。 ;调用状态;官方可省略或为 null。 ;工具输出项状态;不同类型可省略或为 null。示例:"completed";可选值:"in_progress"、"completed"、"incomplete";可为 null
output[].typestring匹配该形式时必填固定为 message。;固定为 compaction。;固定为 reasoning。;固定为 function_call。;工具输出项类型。;音频输出类型。;未列出的有效内容类型;已知类型使用对应结构。示例:"message";可选值:"message";示例:"message";可选值:"compaction";示例:"message";可选值:"reasoning";示例:"message";可选值:"function_call";示例:"message";可选值:"additional_tools"、"apply_patch_call"、"apply_patch_call_output"、"code_interpreter_call"、"computer_call"、"computer_call_output"、"custom_tool_call"、"custom_tool_call_output"、"file_search_call"、"function_call_output"、"image_generation_call"、"local_shell_call"、"local_shell_call_output"、"mcp_call"、"mcp_approval_request"、"mcp_approval_response"、"mcp_list_tools"、"program"、"program_output"、"shell_call"、"shell_call_output"、"tool_search_call"、"tool_search_output"、"web_search_call";示例:"message";可选值:"audio"、"output_audio";示例:"message";最短:1 字符
output[].created_bystring否创建该项的 actor ID。—
output[].encrypted_contentstring匹配该形式时必填必须原样续接的不透明加密上下文。;可原样续接的不透明加密上下文。可为 null
output[].summaryobject 或 object[]匹配该形式时必填Reasoning 摘要内容块数组。—
output[].summary[].textstring匹配该形式时必填摘要文本。—
output[].summary[].typestring匹配该形式时必填固定为 summary_text。;未列出的有效内容类型;已知类型使用对应结构。可选值:"summary_text";最短:1 字符
output[].argumentsstring匹配该形式时必填函数参数字符串;官方不保证有效 JSON,也允许空字符串。—
output[].call_idstring匹配该形式时必填客户端回传结果时使用的调用 ID。—
output[].callerobject 或 object 或 object否调用来源;官方可省略或为 null。可为 null;形式:object 或 object 或 object
output[].caller.typestring父字段存在且匹配该形式时必填固定为 direct。;固定为 program。;未列出的有效内容类型;已知类型使用对应结构。可选值:"direct";可选值:"program";最短:1 字符
output[].caller.caller_idstring父字段存在且匹配该形式时必填来源 program 调用 ID。—
output[].namestring匹配该形式时必填函数名。—
output[].namespacestring否函数命名空间;官方可省略或为 null。可为 null
output[].datastring匹配该形式时必填供应商返回的音频数据。最短:1 字符
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/compact401invalid_api_keyAuthorization 缺失、Bearer 格式错误、Key 不可用或账户未实名否检查 Bearer API Key、Key 状态与实名状态无
https://api.tokenfactory.cn/v1/responses/compact400model_not_found当前模型不可用否核对模型名称与请求地址;持续出现时联系支持无
https://api.tokenfactory.cn/v1/responses/compact404model_not_found模型不存在、未上架或当前入口不可用否调用模型列表并改用当前入口可用模型无
https://api.tokenfactory.cn/v1/responses/compact404MODEL_ROUTING_PROTOCOL_UNSUPPORTED当前模型不可用否核对模型名称与当前入口的模型列表;持续出现时联系支持无
https://api.tokenfactory.cn/v1/responses/compact503MODEL_ROUTING_NOT_CONFIGURED当前模型服务不可用视情况稍后重试;持续出现时提供平台请求编号联系支持无
https://api.tokenfactory.cn/v1/responses/compact503MODEL_ROUTING_POLICY_INVALID当前模型服务不可用视情况稍后重试;持续出现时提供平台请求编号联系支持无
https://api.tokenfactory.cn/v1/responses/compact503MODEL_ROUTING_NO_AVAILABLE_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/compact413request_too_large请求体超过平台接收上限否缩小请求体后重试无
https://api.tokenfactory.cn/v1/responses/compact400invalid_request_error请求参数或请求体缺字段、格式错误或不受支持否修正请求后重试无
https://api.tokenfactory.cn/v1/responses/compact502upstream_error服务响应异常,请稍后重试视情况确认未收到有效结果后再决定是否重试中到高
https://api.tokenfactory.cn/v1/responses/compact504upstream_timeout请求处理超时,请稍后重试视情况先确认是否已有部分输出,再决定是否重试中到高
https://api.tokenfactory.cn/v1/responses/compact500internal_error平台内部出现未预期错误视情况确认未收到有效结果并记录请求时间后再决定是否重试中到高
https://api.tokenfactory.cn/v1/responses/compact405method_not_allowed请求方法不是该公开地址允许的方法否改用文档列出的 HTTP 方法无
https://api.tokenfactory.cn/v1/responses/compact415unsupported_media_typeContent-Type 与该公开地址要求的媒体类型不一致否按文档发送正确 Content-Type无
https://api.tokenfactory.cn/v1/responses/compact403permission_denied当前 API Key 无权执行该请求否检查 API Key 权限与当前入口的模型可见性无
https://api.tokenfactory.cn/v1/responses/compact409conflict_error请求与当前资源状态冲突视情况读取最新状态后修正请求或稍后重试中到高
https://api.tokenfactory.cn/v1/responses/compact422unprocessable_entity请求结构正确但当前请求无法处理否按错误信息修正参数或输入内容无
https://api.tokenfactory.cn/v1/responses/compact503service_unavailable服务暂不可用,请稍后重试视情况保留平台请求编号,稍后重试或联系支持中到高
https://api.tokenfactory.cn/v1/responses/compact503service_busy模型服务繁忙,请稍后重试视情况参考 Retry-After 并限制重试次数;已收到输出时先确认是否可安全重复中到高
https://api.tokenfactory.cn/v1/responses/compact400context_length_exceeded输入超过模型上下文限制否缩短输入或减少历史上下文后再发送无
https://api.tokenfactory.cn/v1/responses/compact400missing_required_parameter缺少必填请求参数否按文档补齐错误指出的公开参数后再发送无
https://api.tokenfactory.cn/v1/responses/compact400invalid_parameter请求参数的类型或格式不正确否修正错误指出的公开参数类型或格式后再发送无
https://api.tokenfactory.cn/v1/responses/compact502upstream_usage_missing服务响应缺少可验证的用量信息视情况保留平台请求编号联系支持;确认可安全重复后再发送中到高

错误返回报文 ​

适用完整地址 ​

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

HTTP 400;Content-Type: application/json;响应头:request-id: string、retry-after: string、x-request-id: string

json
{
  "error": {
    "code": "model_not_found",
    "message": "当前模型不可用",
    "param": null,
    "type": "invalid_request_error"
  }
}

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

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

限制与计费 ​

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

相关说明 ​

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

TokenFactory 词元工厂 · 开发者文档 · 返回官网