新着違うモデルを出品する販売者をどう見抜き、どう返金するか。
UberLLM

Price APIと価格バッジ

APIキーやアカウントなしで、UberLLMの現在の価格を2つのアドレスから取得できます。

  • JSON形式の価格: GET https://api.uberllm.dev/api/v1/public/prices
  • 価格バッジ: https://api.uberllm.dev/api/v1/public/badge/<model-id>.svg

どちらもuberllm.devのモデルページと同じ価格、つまり現時点での最低販売価格を表示します。価格は30秒ごとに再読み込みされます。

JSON形式の価格

curl "https://api.uberllm.dev/api/v1/public/prices?model=deepseek/deepseek-v4-flash"
{
  "updated_at": "2026-11-13T06:40:12Z",
  "models": [
    {
      "id": "deepseek/deepseek-v4-flash",
      "name": "DeepSeek V4 Flash",
      "type": "text",
      "input_per_m": 0.0091,
      "output_per_m": 0.0182,
      "list_input_per_m": 0.09,
      "list_output_per_m": 0.18,
      "discount_pct": 89.9,
      "unit": "1M tokens",
      "price_text": "$0.0091/M in · $0.0182/M out",
      "page_url": "https://uberllm.dev/models/deepseek/deepseek-v4-flash"
    }
  ]
}

上記の数字は2026年11月13日に読み取られたものです。価格は変動するため、お客様の価格とは異なります。

リクエスト可能な項目

これらはすべてオプションです。何も指定しない場合、現在呼び出し可能なすべてのモデルが返されます。

パラメータ 説明
model モデルIDを1つ指定します。例:deepseek/deepseek-v4-flash。
type text、image、video、またはaudioモデルのみ。音楽、テキスト読み上げ、音声認識はaudioです。
q IDまたは名前に含まれる単語を検索します。すべての単語が一致する必要があります:q=claude opus。
limit 最大でこの数のモデル。1から1000まで。

もしmodelが存在しないモデル、または現在誰も提供していないモデルを指定した場合、 modelsは空のリストとなり、応答は依然として200です。名前が変更された古いモデルIDは、変更後のモデルで応答します。

返される項目

すべての価格は米ドルです。値がないフィールドは省略されます。

フィールド 意味
id, name リクエストで送信するモデルIDとその名前。
type text、image、video、またはaudio。
input_per_m, output_per_m テキストモデル:現在の価格。入力トークン1百万、出力トークン1百万の場合。
list_input_per_m, list_output_per_m テキストモデル:同じ条件でのモデルの公開されている定価。
price 画像、動画、音声モデル:unit 1つあたりの現在の価格。
list_price 画像、動画、音声モデル:unit 1つあたりの公式価格。priceを超える場合にのみ送信されます。
discount_pct 現在の価格が定価よりどれだけ低いか。1から100まで。テキストモデルの場合、入力割引と出力割引のうち小さい方です。定価がない場合、または価格が定価を下回っていない場合は省略されます。
unit 1つの価格で何が購入できるか:1M tokens、image、megapixel、second、video、track、minute、1k characters、またはrequest。
price_text 表示準備ができた、英語での価格の言葉による表現:$0.0091/M in · $0.0182/M out、$0.059 / sec、about $0.0315 per image。
page_url uberllm.dev上のモデルページ。
updated_at これらの価格が読み取られた日時。

最も安価な販売者が混雑している場合、リクエストの費用は表示されている価格よりも高くなることがあります。リクエストの課金方法については、Pricing]をご覧ください。

ウェブページから

どのウェブサイトでも、ブラウザから直接価格を読み取ることができます。

const res = await fetch("https://api.uberllm.dev/api/v1/public/prices?type=text&limit=10");
const { models } = await res.json();
for (const m of models) console.log(m.name, m.price_text);

価格バッジ

モデル名と現在の価格が表示された小さな画像です。自動的に更新されます。

Markdown(README用):

[![DeepSeek V4 Flash price on UberLLM](https://api.uberllm.dev/api/v1/public/badge/deepseek/deepseek-v4-flash.svg)](https://uberllm.dev/models/deepseek/deepseek-v4-flash?utm_source=embed&utm_medium=referral&utm_campaign=price-badge)

HTML:

<a href="https://uberllm.dev/models/deepseek/deepseek-v4-flash?utm_source=embed&amp;utm_medium=referral&amp;utm_campaign=price-badge">
  <img src="https://api.uberllm.dev/api/v1/public/badge/deepseek/deepseek-v4-flash.svg"
       alt="DeepSeek V4 Flash price on UberLLM" height="20">
</a>
  • モデルIDをスラッシュを含めてそのままアドレスに入れ、.svgで終わらせてください。
  • バッジには、価格が定価よりどれだけ安いかも表示されます。価格のみを表示するには、?discount=0を追加してください。
  • 現在モデルを提供している人がいない場合、バッジには「現在利用できません」と表示され、価格は表示されません。販売者が戻ると価格表示も元に戻ります。
  • 存在しないモデルIDは404を返します。
  • リンクにはutm_source=embedが含まれているため、訪問がバッジから来たものだとわかります。読者に関する情報は何も記録されません。必要であれば削除してください。

制限とキャッシュ

  • JSONアドレスに対して、1つのIPアドレスから1分あたり300リクエスト。それを超えると、Retry-Afterヘッダーとともに429が返されます。
  • バッジにはリクエスト制限がなく、実際のモデルのバッジは常に画像です。一時的に価格が読み取れない場合、壊れる代わりに「現在利用できません」と表示されます。
  • JSONの応答は60秒間キャッシュされることがあり、バッジは5分間キャッシュされることがあります。画像をプロキシするサイト(GitHubなど)は、バッジをもう少し長く保持する可能性があります。
  • 成人向けコンテンツ用に作られたモデルは、どちらからも除外されます。それらはGET /v1/models]にあり、"nsfw": trueとマークされています。

エラー

ステータス error.code 理由
400 invalid_type, invalid_limit, invalid_request パラメータに許可されていない値が設定されています。どのパラメータか、メッセージに記載されています。
404 model_not_found, not_found バッジのみ: そのようなモデルは存在しません。またはアドレスが.svgで終わっていません。
429 rate_limited JSONのみ: あなたのIPアドレスからのリクエストが多すぎます。しばらくお待ちください。
503 unavailable JSONのみ: 現在、価格を読み取れませんでした。数秒後にもう一度お試しください。

関連

  • GET /v1/models: OpenAI形式の全モデルリスト。コンテキストサイズと各モデルがサポートする機能について。
  • MCP server: AIアシスタント用ツールとしての価格。
  • OpenAPI spec: 両方のアドレスが記載されています。