AI業務活用 2026.04.19

【2026年版】Claude API料金比較|Pro vs 従量制で月額いくら安くなるか

タグ:Claude / AI活用 / 料金体系 / コスト削減 / API

Claude API料金体系(2026年8月版)

モデル入力 $/1M出力 $/1M用途
claude-haiku-4-5-20251001$0.80$4.00高速・安価
claude-sonnet-4-5$3.00$15.00汎用・高品質
claude-opus-5$15.00$75.00最高品質

割引オプション:

  • Batches API: 50%オフ(非同期処理)
  • Prompt Caching: 最大90%オフ(繰り返し入力)

コスト試算コード

# cost_calculator.py
# 月間APIコストをシナリオ別に試算する

PRICES = {
    "claude-haiku-4-5-20251001": (0.80, 4.00),
    "claude-sonnet-4-5":         (3.00, 15.00),
    "claude-opus-5":             (15.00, 75.00),
}

PRO_COST = 20.0

def monthly_cost(
    model: str,
    daily_requests: int,
    avg_input: int = 1000,
    avg_output: int = 500,
    use_batches: bool = False,
    cache_hit_rate: float = 0.0
) -> dict:
    """月間APIコストと推奨プランを計算する"""
    inp, out = PRICES[model]
    
    # キャッシュ効果(入力トークンの90%削減)
    effective_inp = inp * (1 - cache_hit_rate * 0.9)
    per_req = (avg_input * effective_inp + avg_output * out) / 1_000_000
    
    # Batches API割引
    if use_batches:
        per_req *= 0.5
    
    monthly_api = round(per_req * daily_requests * 30, 2)
    recommendation = "Pro ($20)" if monthly_api >= PRO_COST else f"API (${monthly_api})"
    
    return {
        "monthly_api_usd": monthly_api,
        "monthly_api_jpy": int(monthly_api * 150),
        "vs_pro": f"${monthly_api - PRO_COST:.2f}" if monthly_api > PRO_COST else f"${PRO_COST - monthly_api:.2f}安い",
        "recommendation": recommendation,
    }

# シナリオ別比較
SCENARIOS = [
    ("軽い利用 (10件/日, Haiku)",       10,  "claude-haiku-4-5-20251001", False, 0.0),
    ("中程度 (50件/日, Sonnet)",          50,  "claude-sonnet-4-5",         False, 0.0),
    ("自動化 (200件/日, Haiku+Batches)", 200, "claude-haiku-4-5-20251001", True,  0.5),
    ("本番 (500件/日, Sonnet+Cache)",    500, "claude-sonnet-4-5",         True,  0.7),
]

print(f"{'シナリオ':<40} {'月額':>8} {'円換算':>8} {'推奨':>12}")
print("-" * 75)
for name, daily, model, batches, cache in SCENARIOS:
    r = monthly_cost(model, daily, use_batches=batches, cache_hit_rate=cache)
    print(f"{name:<40} ${r['monthly_api_usd']:>7} ¥{r['monthly_api_jpy']:>7} {r['recommendation']:>12}")

自動化でコストを削減する実装例

# smart_usage.py
# 3つの最適化手法を組み合わせてコストを大幅削減する

import anthropic

client = anthropic.Anthropic()

SHARED_SYSTEM = """あなたはビジネス文書の要約専門家です。
与えられた文書を以下のルールで要約してください:
- 最重要ポイントを3行で要約
- アクションアイテムを箇条書きで列挙
- 感情的な表現を除いた客観的な記述"""

def summarize_documents_batch(documents: list[str]) -> str:
    """複数文書をBatches API(50%オフ)で一括要約する"""
    requests = [
        {
            "custom_id": f"doc_{i}",
            "params": {
                "model": "claude-haiku-4-5-20251001",  # 要約はHaikuで十分
                "max_tokens": 256,
                "system": SHARED_SYSTEM,
                "messages": [{"role": "user", "content": doc}]
            }
        }
        for i, doc in enumerate(documents)
    ]
    
    batch = client.messages.batches.create(requests=requests)
    print(f"{len(documents)}件のバッチ処理: {batch.id}")
    print(f"通常比50%オフ(非同期処理、~1時間後に結果取得)")
    return batch.id

def summarize_with_cache(document: str) -> str:
    """Prompt Cachingで長いシステムプロンプトをキャッシュ(90%オフ)"""
    response = client.messages.create(
        model="claude-haiku-4-5-20251001",
        max_tokens=256,
        system=[{
            "type": "text",
            "text": SHARED_SYSTEM,
            "cache_control": {"type": "ephemeral"}  # キャッシュ有効化
        }],
        messages=[{"role": "user", "content": document}]
    )
    
    cached = getattr(response.usage, "cache_read_input_tokens", 0)
    if cached > 0:
        print(f"✅ キャッシュHIT: システムプロンプト再利用 (90%オフ)")
    
    return response.content[0].text

# コスト比較例: 月200件の要約
# 最適化なし (Sonnet): $200 * 3.00/1M * 2000tokens = $1.20/日 → $36/月
# Haiku + Batches:     $200 * 0.80/1M * 0.5 * 2000tokens = $0.16/日 → $4.8/月
# 削減効果: 月$31.2 (87%削減)

あわせて読みたい

参考ソース