NovoComo detectamos um vendedor que oferece o modelo errado, e reembolsamos você se isso acontecer.
UberLLM

API de Preços e selo de preço

Dois endereços fornecem os preços atuais da UberLLM sem uma API key ou uma conta:

  • Preços em JSON: GET https://api.uberllm.dev/api/v1/public/prices
  • Um selo de preço: https://api.uberllm.dev/api/v1/public/badge/<model-id>.svg

Ambos mostram o mesmo preço que a página do modelo em uberllm.dev: o menor preço de vendedor no momento. Os preços são relidos a cada 30 segundos.

Preços como 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"
    }
  ]
}

Os números acima foram lidos em 13 de novembro de 2026. Os seus serão diferentes, porque os preços mudam.

O que você pode pedir

Todos estes são opcionais. Sem nenhum, você recebe todos os modelos que pode chamar agora.

Parâmetro O que faz
model Um ID de modelo, por exemplo deepseek/deepseek-v4-flash.
type Apenas modelos text, image, video ou audio. Música, text to speech e speech to text são audio.
q Palavras para encontrar no ID ou no nome. Cada palavra deve corresponder: q=claude opus.
limit No máximo esta quantidade de modelos, de 1 a 1000.

Se model nomear um modelo que não existe, ou um que ninguém atende agora, models é uma lista vazia e a resposta ainda é 200. Um ID de modelo antigo que foi renomeado responde com o modelo que se tornou.

O que retorna

Todos os preços estão em dólares americanos. Um campo sem valor é omitido.

Campo Significado
id, name O ID do modelo que você envia em uma requisição, e seu nome.
type text, image, video ou audio.
input_per_m, output_per_m Modelos de texto: o preço atual para 1 milhões de input tokens e 1 milhões de output tokens.
list_input_per_m, list_output_per_m Modelos de texto: o preço de tabela publicado do modelo para o mesmo.
price Modelos de imagem, vídeo e áudio: o preço atual para um unit.
list_price Modelos de imagem, vídeo e áudio: o preço oficial para um unit. Enviado apenas quando está acima de price.
discount_pct O quão abaixo o preço atual está do preço de tabela, de 1 a 100. Para um modelo de texto, é o menor entre o corte de input e o corte de output. Omitido quando não há preço de tabela ou o preço não está abaixo dele.
unit O que um preço compra: 1M tokens, image, megapixel, second, video, track, minute, 1k characters ou request.
price_text O preço em palavras, em inglês, pronto para exibir: $0.0091/M in · $0.0182/M out, $0.059 / sec, about $0.0315 per image.
page_url A página do modelo em uberllm.dev.
updated_at Quando estes preços foram lidos.

Uma requisição pode custar mais do que o preço mostrado quando os vendedores mais baratos estão ocupados. Veja Preços para saber como uma requisição é cobrada.

De uma página web

Qualquer site pode ler os preços diretamente do navegador:

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);

Selo de preço

Uma pequena imagem com o nome do modelo e seu preço atual. Ela se atualiza sozinha.

Markdown, para um 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>
  • Coloque o ID do modelo no endereço como está, incluindo as barras, e termine com .svg.
  • O selo também informa o quanto o preço está abaixo do preço de tabela. Adicione ?discount=0 para mostrar apenas o preço.
  • Se ninguém estiver servindo o modelo no momento, o selo dirá "não disponível no momento" e não mostrará preço. Ele volta ao preço quando um vendedor retorna.
  • Um ID de modelo que não existe responde 404.
  • O link carrega utm_source=embed, para que possamos saber que uma visita veio de um selo. Ele não registra nada sobre seus leitores. Remova-o se preferir.

Limites e cache

  • 300 requisições por minuto de um endereço IP no endereço JSON. Acima disso, você recebe 429 com um cabeçalho Retry-After.
  • Badges não têm limite de requisições, e um badge para um modelo real é sempre uma imagem: se os preços não puderem ser lidos por um momento, ele dirá "não disponível no momento" em vez de quebrar.
  • Respostas JSON podem ser armazenadas em cache por 60 segundos, badges por 5 minutos. Sites que fazem proxy de imagens (o GitHub faz) podem manter um badge por um pouco mais de tempo.
  • Modelos feitos para conteúdo adulto são excluídos de ambos. Eles estão em GET /v1/models, marcados "nsfw": true.

Erros

Status error.code Motivo
400 invalid_type, invalid_limit, invalid_request Um parâmetro tem um valor não permitido. A mensagem diz qual.
404 model_not_found, not_found Apenas para badge: modelo inexistente, ou o endereço não termina em .svg.
429 rate_limited Apenas para JSON: demasiadas requisições do seu endereço IP. Espere um minuto.
503 unavailable Apenas para JSON: os preços não puderam ser lidos agora. Tente novamente em alguns segundos.

Relacionados

  • GET /v1/models: a lista completa de modelos no formato OpenAI, com tamanhos de contexto e o que cada modelo suporta.
  • MCP server: os mesmos preços que ferramentas para um assistente de IA.
  • OpenAPI spec: ambos os endereços estão nele.