跳到正文
openrouter blog·· 10 天前精選AI 評分68

Batch API:批次請求實現半價推理

Batch API: half-price inference by bundling requests

AI 導讀

OpenRouter 推出新的 Batch API,允許使用者以批次提交請求並以 50% 以上折扣完成推理。

  • 折扣:大多數供應商在 24 小時內完成請求時收費 50% 或更少。
推薦理由

原文給出批次 API 的價格折扣與完成時間統計,讀者可評估是否適用於延遲容忍工作。

正文 · AI 翻譯

對於不需要立即完成的大批次工作或請求,您現在可以使用新的 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 小時。我們還發現提交時間比請求數量更重要。

Bar chart of batch completion time by the Pacific hour a batch was submitted, showing the median, 75th percentile, and 90th percentile for each hour. The median stays between 5 and 11 minutes all day. The 90th percentile sits under 1.1 hours for most hours but climbs to between 2 and 4.5 hours for batches submitted from 5am to noon Pacific, peaking at 4.5 hours for the 9am hour.

在太平洋時間上午 5 點至中午之間提交的批次明顯較慢。最慢的十分之一需要 2 至 4.5 小時。其他時間提交時,90th 百分位低於 1.1 小時,太平洋時間下午 6 點後則低於 50 分鐘。

單請求批次根據時間完成於 5 至 11 分鐘,1,000 個或以上請求的批次完成於 12 至 21 分鐘。大型批次確實需要更長時間處理。在太平洋時間午夜至中午之間提交超過 100 個請求的批次,最慢的十分之一耗時高達 6.8 小時。

Heatmap of median hours to complete by three-hour Pacific submission window and batch size bucket (1, 2 to 10, 11 to 100, 101 to 1k, and 1k+ requests). Every cell shows a median of 5 to 21 minutes. Each cell also lists the sample size and 90th percentile, which climbs as high as 6.8 hours for batches of 101 or more requests submitted between midnight and noon Pacific.

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