Batch API:批次請求實現半價推理
Batch API: half-price inference by bundling requests
OpenRouter 推出新的 Batch API,允許使用者以批次提交請求並以 50% 以上折扣完成推理。
- 折扣:大多數供應商在 24 小時內完成請求時收費 50% 或更少。
原文給出批次 API 的價格折扣與完成時間統計,讀者可評估是否適用於延遲容忍工作。
對於不需要立即完成的大批次工作或請求,您現在可以使用新的 batch API。提交批次時,供應商可以選擇在 24 小時視窗內何時完成請求,作為交換,他們通常收取正常每 token 價格的 50%(有時更低)。
目前已支援 超過 70 個模型。請參閱 Batch API 檔案瞭解使用方式。
實際上,我們發現您很少需要等待接近 24 小時。在兩週測試期內完成的 230k+ 批次中,中位數為 7 分鐘,90% 的批次在 1 小時內完成。
Batch 是一個非同步 API,適用於可接受高度變動回應時間的工作負載,例如標記語料庫、回填嵌入、評估集打分、彙總待處理票據,或在夜間對數千行資料執行相同提示。
Batch API 的工作原理
呼叫 api/v1/batches,並傳入您的請求清單,指定要使用的端點形態。聊天完成、回應、訊息與嵌入皆受支援。例如:
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。完成的批次會在同一回應中內嵌返回結果。
大多數批次在幾分鐘內完成
我們檢視了兩週測試期內完成的批次,並測量從接受到完成結果的時間。中位數為 7 分鐘,90th 百分位為 1.0 小時,99th 百分位為 10.3 小時。我們還發現提交時間比請求數量更重要。

在太平洋時間上午 5 點至中午之間提交的批次明顯較慢。最慢的十分之一需要 2 至 4.5 小時。其他時間提交時,90th 百分位低於 1.1 小時,太平洋時間下午 6 點後則低於 50 分鐘。
單請求批次根據時間完成於 5 至 11 分鐘,1,000 個或以上請求的批次完成於 12 至 21 分鐘。大型批次確實需要更長時間處理。在太平洋時間午夜至中午之間提交超過 100 個請求的批次,最慢的十分之一耗時高達 6.8 小時。

Batch 支援專案
- 請求形態:任何您已經傳送到 OpenRouter 的文字請求體形態皆受支援,包括聊天完成、回應、訊息與嵌入。
- 路由:每個批次在單一供應商執行。預設我們在應用供應商白名單、資料政策與 BYOK 設定後,為模型選擇最便宜的批次端點。
- BYOK:若已設定 provider key,支援的供應商批次會透過您的金鑰路由,且僅支付 BYOK 費用。
- 每請求結果:每個結果獨立返回,若有少數行錯誤不會導致整個工作失敗。
- 保留:輸入與結果保留 30 天,或直到您
DELETE批次。 - 日誌:每個批次會顯示於 Batches tab of your logs,包含模型、供應商、狀態與成本。
- 價格:折扣適用於每 token 價格,且依模型不同而異。網頁搜尋呼叫以標準費率計費。
- 輸入:圖片與檔案必須為公開 URL。音訊、影片與 OpenRouter 自身的網頁搜尋外掛不支援批次(請參閱 limitations section of the docs)。
開始使用
選擇一個 batch-capable model,取得 API key,並將第一個批次傳送至 https://openrouter.ai/api/v1/batches。Quickstart 內含完整請求與回應形態。
告訴我們你在 Discord 的 #feedback 中正在批次處理什麼。
來源:openrouter blog · openrouter.ai