Beat API Team · 仕様と価格の確認日:2026年10月9日
範囲が明確で、結果を検証できる処理にはHaiku 5.5を候補にする。複数のファイルやツール、矛盾する資料を扱う継続的な推論にはOpus 5.5を候補にする。 両方の処理を含むサービスでは、Haikuの回答を検証し、未解決の場合だけOpusへ引き継ぐ構成を評価できます。
Claude Haiku 5.5とOpus 5.5の比較では、API料金、キャッシュの扱い、検証後の費用を確認します。
- 入出力の公式単価は、入力が10万トークン以下ならHaikuがOpusの40分の1。10万を超えると8分の1になります。
- キャッシュから読み込む入力も、この境界の判定に含まれます。
- 同じコンテキスト上限でも、同じ仕事を同じ費用で完了できるとは限りません。
- 再試行、検証、引き継ぎを含む「採用できる結果1件あたりの費用」で判断します。
- 移行時にはモデル名だけでなく、引数と応答の読み取り方も確認します。
開示: 著者はBeatAPIの開発チームです。この記事では、Anthropicの公開仕様、BeatAPIの確認時点の公開価格、独自の計算例と実装上の提案を区別しています。この記事のための品質・遅延の比較実験は行っていません。
Claude Haiku 5.5とOpus 5.5の比較で、最初に見る違い
両モデルともテキストと画像を入力し、テキストを返します。公表されているコンテキスト上限は100万トークン、通常の最大出力は12万8,000トークンです。Haiku 5.5の公開日は10月7日、Opus 5.5は9月22日です。Haikuは分類・抽出・振り分けなど、Opusは長時間の開発作業や知識作業に位置づけられています。これはモデル自体の仕様であり、すべての経路や契約で利用できる範囲を保証するものではありません。Haikuの仕様、Opusの仕様で確認できます。
| 処理 | 最初の候補 | 検証する内容 | 引き継ぎの条件 |
|---|---|---|---|
| 問い合わせの分類 | Haiku | 許可された分類、明示された意図、例外 | 意図が複数ある、規約の判断が曖昧 |
| 資料からの値の抽出 | Haiku | 値が引用箇所に存在する | 資料同士が矛盾する、根拠がない |
| 不具合に関係するファイルの探索 | Haiku | パスの存在、関連する記号 | 候補を根拠づけられない |
| 複数ファイルの回帰不具合修正 | Opus | 再現、回帰テスト、差分確認 | テストや確認を通過しない |
| 矛盾する資料の照合 | Opus | 主張の根拠、矛盾の解消 | 証拠が不足する |
| 定期報告の作成 | 抽出はHaiku、統合はOpusも評価 | 数字と資料の網羅性 | 資料を横断する推論や修正が多い |
これは運用方針の候補です。短い問い合わせでも特殊な業務規則があれば難しく、大きな資料でも1か所の値を探すだけなら容易な場合があります。処理名だけで割り当てず、自社の代表的な入力で確認してください。
Haiku 5.5とOpusのAPI料金:入力・出力・キャッシュ
以下はAnthropicの通常API価格で、単位は100万トークンあたりの米ドルです。高速モード、バッチ割引、地域指定、別途課金されるツールは含みません。
| 課金項目 | Haiku:入力10万以下 | Haiku:入力10万超 | Opus:通常 |
|---|---|---|---|
| 新規入力 | $0.10 | $0.50 | $4.00 |
| 出力 | $0.50 | $2.50 | $20.00 |
| キャッシュ読み取り | $0.01 | $0.05 | $0.20 |
| 5分キャッシュ書き込み | $0.125 | $0.625 | $5.00 |
| 1時間キャッシュ書き込み | $0.20 | $1.00 | $8.00 |
新規入力と出力の単価比は40倍または8倍ですが、キャッシュ読み取りだけなら20倍または4倍です。実際の比率は各項目の構成で変わります。公式価格資料には、キャッシュ読み取り・書き込みを含む入力全体で境界を判断すると明記されています。
超過分だけに追加料金がかかる方式ではありません。入力全体が10万を超えたリクエストには、出力も含めて上位の単価が適用されます。過去のリクエストの価格は変わりません。短いメッセージを追加しただけでも、長い会話履歴があれば次の呼び出しで境界を超える可能性があります。
BeatAPIの公開価格は別に確認する
10月9日に公開価格APIを確認したところ、claude-haiku-5-5とclaude-opus-5-5には以下の価格が掲載されていました。
| 課金項目 | BeatAPI Haiku:通常 | BeatAPI Haiku:long_context | BeatAPI Opus |
|---|---|---|---|
| 新規入力 | $0.05 | $0.25 | $2.00 |
| 出力 | $0.25 | $1.25 | $10.00 |
| キャッシュ読み取り | $0.005 | $0.025 | $0.10 |
| 5分キャッシュ書き込み | $0.0625 | $0.3125 | $2.50 |
| 1時間キャッシュ書き込み | $0.10 | $0.50 | $4.00 |
各項目は対応するAnthropic通常価格の半額です。この確認で分かるのは公開価格であり、出力の同等性、稼働率、遅延、全機能への対応を検証したわけではありません。Haikuの2段階の単価は公開APIに掲載されていますが、BeatAPIで境界をまたぐ実際の精算は未検証です。以下では公式の境界を予算上の仮定として使います。利用前に現在の価格を再確認してください。
呼び出す前に計算できる5つのケース
費用は、重複しない項目に分けて計算します。
費用 = (新規入力 × 入力単価
+ キャッシュ読み取り × 読み取り単価
+ 5分書き込み × 書き込み単価
+ 1時間書き込み × 書き込み単価
+ 出力 × 出力単価) / 1,000,000
キャッシュ入力を新規入力にも足すと二重計上になります。出力は画面に見える文章だけでなく、該当する場合は推論を含む課金対象の出力全体です。以下は単価の違いを切り分けるため、両モデルのトークン数が同じと仮定しています。
| 仮定した入力・出力 | Anthropic Haiku | Anthropic Opus | BeatAPI Haiku | BeatAPI Opus |
|---|---|---|---|---|
| 新規2,000+出力500 | $0.00045 | $0.018 | $0.000225 | $0.009 |
| キャッシュ90,000+新規10,000+出力2,000 | $0.0029 | $0.098 | $0.00145 | $0.049 |
| キャッシュ190,000+新規10,000+出力2,000 | $0.0195 | $0.118 | $0.00975 | $0.059 |
| 新規100,000+出力2,000 | $0.011 | $0.440 | $0.0055 | $0.220 |
| 新規100,001+出力2,000 | $0.0550005 | $0.440004 | $0.02750025 | $0.220002 |
実測の請求額ではなく、仮定から計算した例です。 キャッシュを使うケースには、以前の書き込み費用を含めていません。
入力20万のケースではOpusの費用はHaikuの約6.05倍です。「40倍」という見出しから予想する差とは大きく異なります。また、入力を100,000から100,001へ増やすケースでは、Haikuの推定額は約5倍になります。境界に近い処理ほど、振り分けの前に入力全体を数える意味があります。
最初の小さなケースを100万件処理するなら、Anthropic価格ではHaikuが$450、Opusが$18,000。BeatAPIの掲載単価では$225と$9,000です。全件1回で完了し、使用量が変わらず、追加料金がないという仮定であり、実運用の削減額を保証しません。
会話を要約するために、いくら使えるか
続く10回の呼び出しが毎回「キャッシュ190,000+新規10,000+出力2,000」なら、Haikuの公式価格で合計$0.195です。検証済みの要約によりキャッシュ入力を90,000へ減らせれば、同じ10回は$0.029になります。
差額の**$0.166**が、要約の生成と置き換え用キャッシュの作成に使える上限です。BeatAPIの掲載単価なら$0.083になります。90,000トークンを通常の5分キャッシュへ書き込む公式費用は$0.01125で、要約の生成費用はさらに必要です。有効期限切れや読み取り失敗も計算に加えます。
費用だけで要約を採用してはいけません。後で必要になる情報を失えば、再試行や誤答が増えます。元資料の参照先を残し、要約後の処理が検証を通るか確認してください。
公開ベンチマークの読み方
Anthropicの公表値では、Terminal-Bench 4.0がHaiku 39.2%、Opus 66.4%、FrontierCode 1.1 Mainが46.4%と54.4%です。GDPval-AA v2.1は1620と1846です。Haikuの発表、Opusの発表が出典です。
これらは評価する候補を選ぶ材料で、自社の成功率ではありません。Opusの発表ではTerminal-Benchにxhigh、その他の多くにmaxの推論設定を使い、一部の評価で安全対策による別モデルへの切り替えを記載しています。同じ推論量、同じ費用、BeatAPI経由での比較実験ではありません。
ツールあり・なし、評価対象の部分集合が違う数値も直接比較できません。Eloのスコアは割合ではないため、「1846は1620より何%多く仕事を完了する」といった読み方も避けます。
評価は、処理を完了できるか、採用できる結果にいくらかかるか、利用者が待てる時間で返るかの3つに分けます。
Haikuを先に使うなら、却下する条件を決める
処理 → 明示した難易度の条件
├─ 複雑な処理 → Opus → 結果を検証
└─ 範囲が明確 → Haiku → 決定的な検証
├─ 合格 → 返す
└─ 未解決 → 根拠とともにOpusへ
抽出なら引用箇所に値があるか、修正なら再現と回帰テストを通るか、分類なら許可された分類と正解ラベルに合うかを確認します。モデル自身の「自信があります」という返答を合格条件にしません。
引き継ぎでは、Haikuの結論だけをOpusへ渡さず、元資料、関連箇所、不合格となった条件を渡します。最初の結論は未検証の候補として扱い、誤りを引き継いで増幅しないようにします。
引き継ぎ率の損益分岐点
HをHaikuの平均費用、Oeを引き継ぎ後のOpus費用、Odを直接Opusに渡した場合の費用、Vを検証費用、pを引き継ぎ率とします。
平均費用 = H + V + p × Oe
直接Opusより安くなる条件:p < (Od - H - V) / Oe
引き継ぎと直接実行のOpus費用が同じで、検証費用がゼロなら、条件はp < 1 - H/Odです。
小さなケースではH=$0.00045、Oe=Od=$0.018。仮に20%を引き継ぐと、平均$0.00405で、全件Opusの$0.018より77.5%低くなります。BeatAPIの掲載価格では$0.002025と$0.009で、同じ仮定なら削減率は同じです。
20%は実測した引き継ぎ率ではありません。 Opusがより多くの資料を読み直せばOeはOdより高くなります。失敗した試行、別モデルによる検証、ツール、人の確認をすべて足して判断します。
誤答なのに検証を通過した件数も測ってください。引き継ぎ率が下がっても、誤答が利用者へ届く割合が増えたなら改善とはいえません。
移行で見落としやすい点
Haikuの移行資料には、以下の変更が記載されています。
| 以前の前提 | 対応 |
|---|---|
| Haiku 4.5のトークン数を流用できる | 新モデルで再計測。同じ文章でも約30%増える場合がある |
thinking.budget_tokensで推論量を指定する |
adaptiveとoutput_config.effortを使う |
temperature=0で抽出を固定する |
サンプリング引数を外し、要求と検証を明示する |
content[0]が回答になる |
typeがtextのブロックを集める |
小さいmax_tokensで十分 |
推論が上限を使い切る場合を扱う |
| 最後のassistant入力でJSONを強制する | 対応する出力方式を使い、返却内容を検証する |
Opusでは推論を無効化できず、ツールの強制指定もエラーになります。Haikuの設定をそのままOpusへ流す共通実装ではなく、モデル別に対応する設定を管理します。Opusの仕様を確認してください。
最小限の比較リクエスト
BeatAPIの公開契約にはPOST /v1/messagesがあります。付属のcompare.pyは同じ分類問題を両モデルへ渡し、テキスト型のブロックを集め、使用量と終了理由を記録します。
export BEATAPI_API_KEY='YOUR_API_KEY'
python3 compare.py
実行すると2件の課金対象リクエストを送ります。この記事では認証付き実行をしておらず、引数が経路を通ってモデルまで届くかも未検証です。小さな確認用リクエストで確かめてから利用してください。
記録するのは非ストリーミング呼び出しの所要時間で、最初のトークンまでの時間ではありません。JSONの妥当性や終了理由を別に検証します。この2回の呼び出しだけで品質や速度の優劣は判断できません。
モデルを切り替えて引き継ぐ場合は、元資料を使った新しいリクエストを作ります。別モデルや別アカウントへ不透明な推論ブロックを無条件に再送する構成は避け、元の会話に必要な保持規則と区別します。
振り分けの判断に役立つ評価を作る
通常の例と難しい例を含む未使用の評価用データを用意します。正解ラベル付きの50〜100件は、接続や採点基準の問題を見つける予備評価に使えますが、低い本番エラー率を立証するには不十分です。
| 測定項目 | 保存するもの | 判断への影響 |
|---|---|---|
| 採用できる結果の割合 | 正解、基準、出力 | もっともらしい文章と有用な結果を区別 |
| 誤答の通過率 | 検証結果と独立した正誤判定 | 引き継ぎで救えない誤りを発見 |
| 採用1件あたりの費用 | 全試行の使用量と単価 | 失敗と修正も含める |
| 完了までの時間 | 呼び出し、ツール、確認時間 | 利用者の待ち時間を測る |
| 引き継ぎ率 | 経路と却下理由 | 費用式の仮定を確認 |
| キャッシュ挙動 | 書き込み、読み取り、失敗、全入力長 | 想定と実際の差を確認 |
入力、ツール、出力上限、採点規則を固定し、実行順を交互にします。同じ推論設定で比べる評価と、各モデルを調整した評価は別に記録します。成功した回答だけを残さず、全試行を保存してください。
Haiku単独、Opus単独、HaikuからOpusへ引き継ぐ方式の3つを、同じ処理IDで評価します。引き継ぎ方式では最終的に返す回答を採点し、両モデルの使用量を記録します。
採用1件あたりの費用 =
(全推論費用 + ツール + 検証 + 人による確認) / 採用件数
採用ゼロ件なら、この値はゼロではなく未定義です。採用率も併記し、難しい処理を捨てるだけで効率よく見える指標にしないようにします。
切り替える前によく出る疑問
HaikuはOpusを置き換えられますか?
検証基準を満たす処理ごとに候補になります。ファイル探索と移行計画を、同じモデルに任せる必要はありません。
いつでも40分の1の費用ですか?
いいえ。同じトークン数、10万以下の入力、通常の新規入力・出力単価という条件での比率です。キャッシュ、推論、再試行で変わります。
キャッシュを使えば10万以下になりますか?
なりません。キャッシュ入力も含む全入力で判断します。
100万トークンまで使えるなら、コード全体を渡すべきですか?
上限は容量です。関連箇所だけでも検証を通るか調べ、追加参照ができるように元資料への参照先を残します。
Claudeの定額契約と比較できますか?
直接は比較できません。この記事はAPIの従量単価で計算しており、定額契約の利用枠や消費の仕組みは別です。
自社サービスでもHaikuの方が速いですか?
公式では通常速度が最速と位置づけられていますが、実際の経路、ツール、引き継ぎを含む完了時間を測ってください。
最初に何を導入すればよいですか?
範囲が明確で正解を用意できる処理を1つ選び、引数、使用量、検証結果を記録して3つの経路を比べます。正確さと待ち時間の基準を満たしてから広げます。
Claude Haiku 5.5とOpus 5.5の比較で決めるのは、どの処理に推論費用を使うかです。小さく検証できる処理を低単価の候補に任せ、残る複雑さに費用を使い、その違いを検証で判断できる構成にします。
比較リクエストのコード
以下をcompare.pyとして保存してください。
import json
import os
import time
import urllib.request
key = os.environ["BEATAPI_API_KEY"]
prompt = """Classify this ticket as billing, bug, or feature.
Return only a JSON object with label and a short evidence quote.
Ticket: I was charged twice for the same invoice. Can you refund one charge?
Do not take any action on the account."""
for model in ("claude-haiku-5-5", "claude-opus-5-5"):
body = {
"model": model,
"max_tokens": 4096,
"output_config": {"effort": "low"},
"messages": [{"role": "user", "content": prompt}],
}
request = urllib.request.Request(
"https://api.beatapi.io/v1/messages",
data=json.dumps(body).encode(),
headers={
"Authorization": "Bearer " + key,
"Content-Type": "application/json",
"anthropic-version": "2023-06-01",
},
method="POST",
)
start = time.monotonic()
with urllib.request.urlopen(request, timeout=90) as response:
result = json.load(response)
text = "".join(
block.get("text", "")
for block in result.get("content", [])
if block.get("type") == "text"
)
print(json.dumps({
"model": model,
"elapsed_seconds": round(time.monotonic() - start, 3),
"stop_reason": result.get("stop_reason"),
"usage": result.get("usage"),
"answer": text,
}, ensure_ascii=False))
著者とAPIの参照先
実装を確認する場合は、BeatAPIのClaude Haiku 5.5 APIページとClaude Opus 5.5 APIページで、モデルID、現在のトークン料金、リクエスト例を確認できます。以下の振り分け方を採用する前に、代表的な処理を1つ試してください。