価格比較 API
価格比較 API
POST /v1/price-comparisons は、BeatAPI が公開している料金規格 1 つについて、BeatAPI の価格と、他のプラットフォームが同じ規格に公開している価格を比較します。API キーは不要で、課金もされません。
この比較は中立です。BeatAPI も他のプラットフォームと同じルールで順位付けされ、他のプラットフォームのほうが安い場合はそのまま返します。このとき beatapi_position は not_lowest です。
クイックスタート
model だけを指定すると、そのモデルの標準的な規格を、その規格の価格が登録されているすべてのプラットフォームと比較します。別の規格を選ぶには spec を、比較するプラットフォームを選ぶには providers を指定します。
リクエスト
model と spec はそれぞれ最大 200 文字です。model が空の場合は、spec からモデルを探します。
標準的な規格
spec を省略した場合は、規格の形だけで 1 つを選びます。どのプラットフォームが安いかでは選びません。
- テキストモデル:入力トークン。
- 動画モデル:参照動画なし、かつ動画から動画への変換ではない最初の 720p 規格。
- 画像モデル:最初の通常の画像規格。例:
nano-banana-pro-1k。
model 自体が規格 ID の場合は、その規格を比較します。
規格 ID
規格 ID は匿名で読める料金表から取得できます。GET https://api.beatapi.io/v1/pricing の data.groups[].specs[] の各項目に id があります。比較結果にも、そのモデルの available_specs が含まれます。
プラットフォーム ID
プラットフォーム ID は小文字で、quotes[].provider に返る値と同じです。beatapi は BeatAPI を表します。providers を指定すると、列挙したプラットフォームだけを比較します。BeatAPI を順位付けに含めるには beatapi も列挙してください。列挙したプラットフォームにその規格の価格がない場合は、pending_verification として返ります。比較表にない ID は 400 で拒否されます。
レスポンス
成功すると 200 を返し、結果は data に入ります。外側の構造は GET /v1/pricing と同じです。レスポンスはキャッシュされません(Cache-Control: no-store)。
次の例は 2026-11-11 に確認した価格を使っています。価格、日付、data_version は時間とともに変わるため、最新の値は実際に呼び出して確認してください。
この例の数値は、次のように価格から求められます。
- 順位付けに使われる価格は 0.05、0.126、0.1344、0.15 の 4 つです。
atlascloudの見積もりと、higgsfieldが提供していない規格は一覧に残りますが、順位付けには使われません。 - 最安値:0.05(
beatapi)。2 位:0.126(wavespeed)。(0.126 − 0.05) ÷ 0.126 = 60.32%。 - 平均:(0.05 + 0.126 + 0.1344 + 0.15) ÷ 4 = 0.1151。(0.1151 − 0.05) ÷ 0.1151 = 56.56%。
トップレベルのフィールド
単位
金額はすべて米ドルで、10 進数の文字列として返るため、少額の価格がゼロに丸められることはありません。null は信頼できる価格がないことを表し、無料は "0" で表します。
価格
順位付けに使われるのは、金額があり、30 日以内に確認され、規格と完全に一致し、見積もりではない価格だけです。それ以外の価格も exclusion_reason 付きで quotes に残るため、どのプラットフォームがなぜ除外されたかを確認できます。
BeatAPI の価格は GET /v1/pricing のリアルタイムの小売価格です。BeatAPI の価格が変わると、次の比較から反映されます。他のプラットフォームの価格は、各社の公開ページと照らし合わせて手作業で確認しています。
サマリーと 4 つの指標
パーセンテージは小数点以下 2 桁の文字列で、丸める前の金額から計算し、最後に四捨五入します。順位付けされたプラットフォームが 2 つ未満の場合や分母がゼロの場合、その指標は null になり、NaN にはなりません。mean_amount は小数点以下 8 桁に丸めます。
モデルがあいまいな場合
名前が複数のモデルに一致すると、200 と needs_clarification を返します。
候補から 1 つをそのまま model として送ってください。名前、slug、規格 ID の完全一致は部分一致より常に優先されるため、Nano Banana Pro は 1 つのモデルに決まります。どのモデルにも一致しない名前でも needs_clarification を返しますが、model_candidates は含まれません。
エラー
エラーは共通のエラーオブジェクトで返ります。修正が必要なリクエストは 400 bad_request を返し、message が問題を示します。
400 はそのまま再送しないでください。500 internal_error は比較を計算できなかったことを表します。1 回だけ再試行し、それでも失敗する場合は request_id を添えてサポートに連絡してください。

