Claude APIを叩くとき、みんなどうしてる? messages.create() をループで回して、Rate Limitに怒られて、リトライ書いて……。2024年ならそれも仕方なかった。でも今はもっといいやり方がある。
AnthropicのMessage Batches APIだ。これを知ると、一括処理の世界観がガラッと変わる。
一言で言えば、最大10万件のAPIリクエストをまとめて投げて、非同期で処理してもらう仕組み。
通常のMessages APIは「投げて→待って→受け取る」の同期処理。Batch APIは「まとめて投げて→あとで結果を取りに行く」の非同期処理。リクエストをJSONLでまとめて送るだけで、あとはAnthropic側がよしなに処理してくれる。
1バッチあたりの上限は100,000リクエスト or 256MB。意外とデカい。
ここが一番大事。Batch API経由のリクエストはすべて50%割引になる。入力も出力も、モデル問わず半額。マジで。
たとえばOpus 4.7の場合:
| 入力 (per MTok) | 出力 (per MTok) | |
|---|---|---|
| 通常 API | $5.00 | $25.00 |
| Batch API | $2.50 | $12.50 |
半額。理由はシンプルで、非同期リクエストはAnthropic側でリソース割り当てを最適化できるから。即時性を求めないバッチ処理なら、余剰リソースを活用できる — その恩恵が価格に反映されている。
ここが個人的に一番エキサイトしたポイント。Batch APIにはもう一つ、通常APIにはない強力な機能がある。
Opus 4.7、Opus 4.6、Sonnet 4.6は、Batch API経由で300k output tokensまで出力できる。
通常のMessages APIは128k tokensが上限。Batch APIなら2.4倍の長文出力が可能になる(beta header output-300k-2026-03-24の指定が必要)。
何が嬉しいって:
128kだと途中で切れてた出力が、300kなら余裕で収まる。この差はデカい。
Batch APIで対応している機能:
各リクエストは独立して処理されるので、1つのバッチ内に異なる種類のリクエストを混在できる。たとえば「翻訳10件+要約20件+コードレビュー5件」を1バッチにまとめて投げる、みたいな運用が可能。
新しいプロンプトやモデルの精度を検証したいとき、数百パターンのテストケースをBatchで一括実行。結果を29日間保持されるので、あとでゆっくり分析できる。
蓄積されたUGC(ユーザー生成コンテンツ)を定期的に一括判定。即時性は不要なので、夜間バッチで回して翌朝確認する運用が自然。
売上データやアンケート結果をLLMに読み込ませてレポート生成。300k出力トークンのおかげで、詳細な分析レポートも一気に出力可能。
SEO記事、商品説明文、メール文案などを大量生成。半額なので、A/Bテスト用に10パターン出しても普段の5パターン分のコスト。
PRの差分をまとめてBatch APIに投げ、レビューコメントを一括生成。レビューの質を下げずにコスト半額は魅力的。
良いことばかりじゃない。知っておくべき制約:
Batch APIが向いているのは、「今すぐ欲しい」じゃなくて「今日中に欲しい」なタスク。
半額で10万リクエスト処理できる上に、300k output tokensで長文出力も余裕。対応機能もVision、Tool use、Multi-turnと一通り揃ってる。Prompt Cachingとの相性も良い。
即時性が不要な処理 — データ分析、評価、コンテンツ生成、レビュー — なら、Batch API一択。毎日 for ループでAPI叩いてる人は、今すぐ乗り換えを検討すべき。
公式ドキュメント: Message Batches API — Anthropic Docs