Claude API のサービスティアを使い分ける

Claude API エンジニアリング 6分で読めます

Claude API には Priority Tier・Standard・Batch の3つのサービスティアがあります。可用性・応答性・費用のどれを優先するかで選び分けるための仕組みで、リクエスト単位では service_tier パラメータで制御します。ここでは公式ドキュメント Service tiers に基づいて、各ティアの位置づけ、Priority Tier が割り当てられる条件、パラメータの指定方法、割り当て結果の確認方法を整理します。

サービスティアとは

公式は3つのティアを次のように定義しています。

先に重要な注意があります。公式ページには、Priority Tier の容量コミットメントはすでに新規購入できないと明記されています。既存のコミットメントを持つ組織は契約終了日まで使い続けられ、ページはその参照用に残されている、という位置づけです。保証された容量が必要な場合は営業に問い合わせる導線が案内されています。

Standard ティアは、すべての API リクエストの既定です。API は他のすべてのリクエストと並べてベストエフォートで処理します。Priority Tier は、このティアより優先して処理されるため、混雑時の「server overloaded」エラーを減らせるのが主な効果です。

どのリクエストが Priority Tier になるか

割り当ては自動です。次のどちらかが満たされているとき、Anthropic はそのリクエストを Priority Tier に割り当てます。

満たされない場合、リクエストは標準ティアで処理されます。エラーにはなりません。

容量の消費量(バーンダウン)はトークンの種類ごとに係数が違います。ここを1対1だと思って見積もると足りなくなります。

トークンの種類容量の消費
キャッシュ読み取り(入力)1トークンあたり 0.1
キャッシュ書き込み(TTL 5分)1トークンあたり 1.25
キャッシュ書き込み(TTL 1時間)1トークンあたり 2.00
米国内推論(inference_geo: "us"・Claude 4.6 以降)入力・出力とも1トークンあたり 1.1
上記以外の入力・出力1トークンあたり 1

公式はこの係数について、各トークン種別の相対的な価格を反映したものだと説明しています。米国内推論が Claude 4.6 以降で 1.1倍の価格なので、容量も 1.1 ぶん引かれる、という対応関係です。

もう1点、見落としやすい仕様があります。Priority Tier に割り当てられたリクエストは、Priority Tier の容量と通常のレート制限の両方から引かれます。したがって、そのリクエストを処理するとレート制限を超えてしまう場合は、Priority Tier の容量が残っていても拒否されます。

service_tier パラメータの指定

どのティアを使ってよいかは、リクエストの service_tier パラメータで制御します。cURL なら次の形です。

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-opus-4-8",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Hello, Claude!"}],
    "service_tier": "auto"
  }'

Python SDK では同じ指定がキーワード引数になります。

client = anthropic.Anthropic()

message = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello, Claude!"}],
    service_tier="auto",
)
print(message.usage.service_tier)

取りうる値は2つです。

standard_only の使いどころは、優先枠を温存したい低優先度の処理です。バッチ的な補助タスクと、利用者を待たせる対話的なリクエストが同じ組織の枠を取り合う構成では、前者に standard_only を付けておくと、後者に容量を残せます。

割り当て結果を確認する

実際にどちらのティアで処理されたかは、レスポンスの usage オブジェクトに入ります。

{
  "usage": {
    "input_tokens": 410,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0,
    "output_tokens": 585,
    "service_tier": "priority"
  }
}

さらに、Priority Tier のコミットメントがあるモデルに対して service_tier="auto" で投げた場合、レスポンスヘッダに残量の情報が付きます。

anthropic-priority-input-tokens-limit: 10000
anthropic-priority-input-tokens-remaining: 9618
anthropic-priority-input-tokens-reset: 2025-01-12T23:11:59Z
anthropic-priority-output-tokens-limit: 10000
anthropic-priority-output-tokens-remaining: 6000
anthropic-priority-output-tokens-reset: 2025-01-12T23:12:21Z

公式が明記している使い方が1つあります。このヘッダが付いているかどうかで、そのリクエストが Priority Tier の対象だったかを判定できます。容量を超えて標準ティアに落ちた場合でもヘッダ自体は付くので、「対象ではあったが枠が空いていなかった」と「そもそも対象外だった」を切り分けられます。監視を作るなら、usage.service_tier と残量ヘッダの両方を記録しておくと原因の特定が早くなります。

いま何を選ぶべきか

新規に容量コミットメントを買えない以上、これから始める組織の選択肢は実質的に Standard と Batch の2つです。日常の利用は Standard、待てる処理は Batch に寄せる、というのが素直な設計になります。保証された容量が必要な要件がある場合は、公式ページの案内どおり営業窓口に相談する形になります。

既存のコミットメントを持っている場合、その中身は次の4つで構成されています。

Priority Tier は99.5% の稼働率を目標に、計算資源を優先的に割り当てます。コミットした容量を超えたぶんのリクエストは、自動的に標準ティアにフォールバックします。止まるのではなく落ちるだけなので、超過は障害ではなく性能の劣化として現れます。

対応モデルにも制限があります。公式は、Priority Tier はClaude Mythos 5・Claude Mythos Preview・Claude Opus 5・Claude Sonnet 5 を除くすべての利用可能な Claude モデルで使える、としています。つまり最新世代の一部は対象外です。モデルを新しいものへ移行すると、その時点で優先枠が効かなくなることがあるので、移行の検討時にはレート制限だけでなくティアの対応状況も確認してください。