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

OpenRouter:Announcements(RSS)·2026-05-01 02:00·121天前·Brian Thomas
AI 导读

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

OpenRouter:Announcements(RSS)
精选
58AI 编辑部评分,满分 100

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

2026-05-01 02:00· 121天前· Brian Thomas
AI 导读

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

推荐理由

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

正文 · AI 翻译
Response Caching: Zero Cost for Identical Requests

你现在可以在聊天补全、响应、消息或嵌入向量请求中添加 `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 接口。

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

完整详情请查阅文档。

来源:OpenRouter:Announcements(RSS)· openrouter.ai