生成AI入門 2026.04.19

Claude Code料金プラン比較【2026年版】Pro・Max・API従量課金どれが安い?コスト試算コード付き

タグ:料金 / プラン選び / 初心者向け / Claude Code / API

プラン別料金・特徴比較(2026年版)

プラン月額主な利用シーン
無料$0試用・週数回の軽い利用
Claude Pro$20毎日の開発・業務活用
Claude Max$1001日8時間+の開発・Claude Code長時間利用
API従量課金使用量アプリ開発・自動化・月により変動

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

プランvsAPI コスト試算コード

# plan_vs_api_calculator.py
# 自分の使用量でProとAPIどちらが安いか計算する

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

PRO_PLAN_COST = 20.0  # $20/月

def compare_plan_vs_api(daily_requests: int, model: str,
                         avg_input: int = 2000, avg_output: int = 1000,
                         use_batches: bool = False) -> dict:
    """ProプランとAPI従量課金のどちらが安いか計算する"""
    inp, out = MODELS[model]
    per_req = (avg_input * inp + avg_output * out) / 1_000_000
    if use_batches:
        per_req *= 0.5
    
    monthly_api_cost = per_req * daily_requests * 30
    
    recommendation = "Pro($20)" if monthly_api_cost >= PRO_PLAN_COST else f"API(${monthly_api_cost:.2f})"
    savings = abs(monthly_api_cost - PRO_PLAN_COST)
    
    return {
        "model": model,
        "daily_requests": daily_requests,
        "monthly_api_cost": round(monthly_api_cost, 2),
        "vs_pro": f"APIが${monthly_api_cost - PRO_PLAN_COST:.2f}" if monthly_api_cost > PRO_PLAN_COST else f"APIが${PRO_PLAN_COST - monthly_api_cost:.2f}安い",
        "recommendation": recommendation,
    }

# 使用シナリオ別比較
SCENARIOS = [
    ("個人開発(軽め)", 10, "claude-haiku-4-5-20251001"),
    ("個人開発(標準)", 30, "claude-sonnet-4-5"),
    ("業務開発(ヘビー)", 100, "claude-sonnet-4-5"),
]

print(f"{'シナリオ':<20} {'月API費用':>10} {'Proとの比較':>20} {'推奨':>15}")
print("-" * 70)
for name, daily, model in SCENARIOS:
    result = compare_plan_vs_api(daily, model)
    print(f"{name:<20} ${result['monthly_api_cost']:>9} {result['vs_pro']:>20} {result['recommendation']:>15}")

コスト最適化: 3つの割引を組み合わせる

# cost_optimization.py
# Batches API (50%オフ) + Prompt Caching (90%オフ) で最大コスト削減

import anthropic

client = anthropic.Anthropic()

SYSTEM_PROMPT_LONG = """あなたはPythonの専門家です。
以下のコーディングルールに従ってください:
- 型ヒントを必ず使う
- docstringを書く
- エラーハンドリングを含める
[さらに長い仕様を含める...]
"""  # ← 実際は数千トークンのシステムプロンプト

def optimized_request(user_question: str) -> str:
    """Prompt Cachingで長いシステムプロンプトを再利用(90%オフ)"""
    response = client.messages.create(
        model="claude-sonnet-4-5",
        max_tokens=1024,
        system=[{
            "type": "text",
            "text": SYSTEM_PROMPT_LONG,
            "cache_control": {"type": "ephemeral"}  # ← キャッシュ有効化
        }],
        messages=[{"role": "user", "content": user_question}]
    )
    
    cached = getattr(response.usage, "cache_read_input_tokens", 0)
    print(f"キャッシュ効果: {cached}トークン再利用 (90%オフ)")
    return response.content[0].text

あわせて読みたい

参考ソース