# OpenRouter 推出 Response Caching：相同请求零成本缓存

- 来源：OpenRouter：Announcements（RSS）
- 作者：Brian Thomas
- 发布时间：2026-05-01 02:00
- AIHOT 分数：58
- AIHOT 标记：精选
- AIHOT 链接：https://aihot.virxact.com/items/cmq9zl2hb0gpfslld1sjoke4v
- 原文链接：https://openrouter.ai/blog/announcements/response-caching

## 精选理由

OpenRouter 这波缓存功能很实在，相同请求零费用，对频繁调用的开发者是省钱利器。可惜 42 天前的东西，现在只能当文档翻翻。

## AI 摘要

OpenRouter 新增 Response Caching 头部，用于缓存完全相同的 API 请求，使后续请求的响应时间大幅缩短，且缓存调用完全免费。

## 正文

你现在可以在聊天补全、响应、消息或嵌入向量请求中添加 `X-OpenRouter-Cache: true`，以开始缓存完全相同的调用。首次调用会访问模型提供商并按正常方式计费。此后每次完全相同的调用都会在极短的时间内返回相同的响应，且不产生任何 token 费用。

它的作用

响应缓存位于模型提供商之前。当你发送一个启用了缓存的请求时，OpenRouter 会将请求体、模型、API 密钥和流式模式哈希成一个缓存键。如果之前有过相同的请求且尚未过期，缓存的响应会立即返回。无需调用提供商，不消耗 token，不产生费用。

流式和非流式请求均可使用。缓存的流式响应会通过相同的管道重放，因此你的客户端代码无需更改。文本、图像、音频、文档和工具调用均可正常缓存。多模态输入（base64 图像、音频片段、文件附件）也会包含在缓存键的哈希中。一个注意事项：内部为处理而卸载的非常大的多模态负载不符合缓存条件。标准大小的请求可以正常缓存。

响应缓存与提示词缓存是分开的。提示词缓存（许多提供商原生支持）在消息共享共同前缀时降低提示词部分的成本。响应缓存则完全绕过提供商，从 OpenRouter 的边缘缓存返回完整响应。

将响应时间从秒级降至毫秒级

缓存的响应在 80-300 毫秒内返回，其中大部分时间是序列化和网络传输。缓存查找本身平均耗时 4 毫秒。作为对比，一个典型的未缓存请求，Gemini 2.5 Flash 大约需要 1.3 秒，Kimi K2.6 需要 4.6 秒，GPT-5.5 需要 9.1 秒。缓存命中不计费：无提示词 token、无补全 token、无费用。

通过请求头或预设启用

在你希望符合条件的每个 API 调用中添加 `X-OpenRouter-Cache: true` 请求头：

curl https://openrouter.ai/api/v1/chat/completions \ -H "Authorization: Bearer $OPENROUTER_API_KEY" \ -H "Content-Type: application/json" \ -H "X-OpenRouter-Cache: true" \ -d '{ "model": "google/gemini-2.5-flash", "messages": [{"role": "user", "content": "What is the meaning of life?"}] }'

预设。通过在预设配置中设置 `cache_enabled: true`，为使用特定预设的所有请求启用缓存。单个请求上无需添加请求头。

您可以通过 `X-OpenRouter-Cache-TTL` 控制响应的缓存时长（1 秒到 24 小时，默认 5 分钟）。需要全新响应？发送 `X-OpenRouter-Cache-Clear: true` 即可清除该特定请求的缓存。

响应标头会告知您缓存状态：`X-OpenRouter-Cache-Status: HIT` 或 `MISS`，外加 `X-OpenRouter-Cache-Age` 和 `X-OpenRouter-Cache-TTL`，让您精确了解缓存的运行情况。

最适用的场景

智能体重试。当智能体工作流中途失败时，您可以从头开始重试。已缓存的步骤会即时返回且完全免费，因此您只需为新的计算付费。

测试套件。反复运行基于大语言模型的测试，而无需消耗模型 token。首次运行填充缓存后，后续运行将具有确定性且完全免费。

重复的上下文处理。如果您的应用向同一模型发送相同的提示词（相同的系统提示词、相同的用户输入、相同的参数），则只有首次调用会产生费用。

现已适用于大多数生成端点

缓存范围限定在您的 API 密钥内。不同的密钥（即使属于同一账户）不会共享缓存条目。

该功能适用于 `/chat/completions`、`/responses`、`/messages` 和 `/embeddings` 端点。其他端点——旧版 `/completions`、`/audio/speech`（TTS）、`/audio/transcriptions`（STT）、`/rerank` 以及视频生成——暂不支持。目前该功能处于测试阶段，我们正在观察其表现，之后再确定最终的 API 接口。

缓存命中不计入提供商速率限制（因为请求从未到达提供商），并且在您的活动日志中会显示缓存指示器，便于监控。

完整详情请查阅文档。
