OpenRouter 推出 Batch API,批量请求享半价推理
Batch API: half-price inference by bundling requests
- 1OpenRouter 上线 Batch API,不需立即完成的批量请求通常按正常每 token 价格的 50% 计费
- 2两周测试期完成的 23 万多个批次中,完成时间中位数为 7 分钟,90% 在 1 小时内完成
- 3Batch API 已支持超过 70 个模型,覆盖 chat completions、responses、messages、embeddings 请求格式
- 4官方观测提交时段对耗时影响大于批量规模,太平洋时间早 5 点到中午提交的批次显著更慢
OpenRouter 把延迟容忍变成了价格杠杆,能接受异步返回的离线批量任务可把 token 成本按半价重算,官方观测等待多为分钟级。
- 影响:语料标注、补齐嵌入、评测打分、工单摘要等离线批量任务的推理成本可按半价预算;只适用于能接受响应时间波动的场景,实时业务不适用;图片和文件须用公开 URL,敏感数据上批前需要先核对数据边界。
- 参考:可考虑先盘点可延迟的离线任务清单,把嵌入补齐和评测打分类工作迁到批处理;值得用真实负载试运行一批并记录实际完成耗时,同时避开太平洋时间早 5 点到中午的提交时段。
- 依据:折扣幅度与耗时数据均来自 OpenRouter 两周测试期 23 万多个批次的官方统计,暂无独立验证,折扣按模型不同而变化。
对于不需要立即完成的大量工作或请求,你现在可以使用新的批处理 API。提交批处理任务时,提供商可以选择在 24 小时窗口内的什么时间完成请求,作为交换,它们通常只收取正常每 token 价格的 50%(有时更低)。
该功能现已支持超过 70 个模型。了解如何使用它,请参阅Batch API 文档。
实际上,我们观察到等待时间很少接近 24 小时。在为期两周的 beta 测试期间完成的 23 万多个批处理任务中,中位数在 7 分钟内完成,90% 在一小时内完成。
Batch 是一个异步 API,适用于可以接受高度可变响应时间的工作负载,例如为语料库打标签、回填嵌入向量、对评估集打分、总结积压的工单,或在一夜之间对几千行数据运行相同的提示词。
Batch API 的工作原理
调用 api/v1/batches 并传入你的请求列表,同时指定要使用的端点格式。chat completions、responses、messages 和 embeddings 均受支持。例如:
curl https://openrouter.ai/api/v1/batches \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-d '{
"endpoint": "/v1/chat/completions",
"model": "google/gemini-3.8-flash",
"requests": [
{ "custom_id": "ticket-0001", "body": { "messages": [{ "role": "user", "content": "Summarize this ticket in one sentence." }] } },
{ "custom_id": "ticket-0002", "body": { "messages": [{ "role": "user", "content": "Summarize this ticket in one sentence." }] } }
]
}'发起请求后,开始轮询 GET /api/v1/batches/:id,直到状态变为 completed、failed、expired 或 cancelled。已完成的批处理任务会在同一响应中内联返回其结果。
大多数批处理任务在几分钟内完成
我们查看了在为期两周的 beta 测试期间完成的批处理任务,并测量了从受理到结果完成所需的时间。中位数为 7 分钟,第 90 百分位为 1.0 小时,第 99 百分位为 10.3 小时。我们还发现,提交任务的时间段比发送的请求数量影响更大。

在太平洋时间早上 5 点到中午 12 点之间提交的批处理任务明显慢于一天中的其他时段。最慢的十分之一需要 2 到 4.5 小时。在其他任何时段提交,第 90 百分位会降至 1.1 小时以下,而在太平洋时间下午 6 点之后则低于 50 分钟。
单请求批处理任务根据时段不同需要 5 到 11 分钟完成,而包含 1,000 个或更多请求的批处理任务需要 12 到 21 分钟。大批量任务确实需要更长的处理时间。在太平洋时间午夜到中午之间提交的包含超过 100 个请求的批处理任务中,最慢的十分之一耗时长达 6.8 小时。

批处理支持哪些功能
- 请求格式:你目前已发送到 OpenRouter 的任何文本请求体格式都将受到支持,包括 chat completions、responses、messages 和 embeddings。
- 路由:每个批处理任务都在单一提供商上执行。在应用你的提供商白名单、数据策略和 BYOK 设置后,默认情况下我们会为该模型选择最便宜的批处理端点。
- BYOK:配置了提供商密钥后,在支持该功能的提供商上运行的批处理任务将通过你的密钥路由,你只需支付 BYOK 费用。
- 逐请求结果:每个结果都独立返回,因此个别坏行不会导致其余任务失败。
- 保留期限:输入和结果会保留 30 天,或者直到你
DELETE该批处理任务。 - 日志记录:每个批处理任务都会显示在日志的 Batches 标签页中,包含模型、提供商、状态和费用信息。
- 定价:折扣适用于每 token 计价,并因模型而异。网络搜索调用按标准费率计费。
- 输入:图片和文件必须是公开 URL。音频、视频以及 OpenRouter 自带的网络搜索插件在批处理中不可用(参见文档的限制部分)。
开始使用
选择一个支持批处理的模型,获取一个 API 密钥,然后将你的第一个批处理任务发布到 https://openrouter.ai/api/v1/batches。快速入门包含完整的请求和响应格式。
在 Discord 的 #feedback 频道告诉我们你正在批量处理哪些内容。
来源:OpenRouter:Blog(Announcements) · openrouter.ai