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:
[](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&utm_medium=referral&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=0para 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
429com um cabeçalhoRetry-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.