NovoConecte qualquer agente ao UberLLM: uma chave, todos os modelos, pelo preço de tabela ou menos.
UberLLM

Vendedores

Você pode listar a capacidade de inferência que você tem licença para revender no UberLLM: suas próprias GPUs, um modelo de pesos abertos auto-hospedado, ou créditos de provedor sob um plano que permite revenda. Solicitações de compradores por um modelo podem ser roteadas para sua oferta, e você é creditado com o valor total que o comprador paga por cada solicitação.

Para listar uma oferta pelo navegador, use a página do vendedor: Conta → Vender capacidade → Nova oferta. Ela te guia por cinco passos: Provedor, Descobrir, Teste de saúde, Preços, Revisão. Nada entra no ar até você confirmar, e os compradores são direcionados para uma nova oferta assim que ela passa pela nossa verificação de modelo.

Tudo o que a página faz também é uma API, então seu agente pode fazer isso também (veja Para agentes).

Como uma oferta funciona

  • Uma chave de provedor, uma base URL, muitos modelos. Uma oferta é um modelo servido através de uma chave em um endereço. A mesma chave pode servir quantos modelos você quiser, mas você não pode listar o mesmo modelo duas vezes na mesma chave e endereço — uma segunda é recusada com 409 duplicate_offer_for_credential (e, quando a oferta existente é sua, seu id em error.detail.existing_offer_id).
  • O nome do modelo no seu servidor pode ser diferente do nosso (por exemplo, nós o chamamos de deepseek/deepseek-v4-flash, seu servidor o chama de deepseek-v4-flash). O Discovery os associa para você; manualmente, envie upstream_model.
  • O endereço do seu servidor deve ser público (https, acessível pela internet). Endereços locais, privados e os próprios endereços da UberLLM são recusados.
  • Sua chave é criptografada em repouso, descriptografada apenas para atender a uma solicitação enviada a você, nunca retornada por nenhuma leitura e nunca registrada. Uma nova chave é testada antes de ser aceita — se o teste falhar, sua chave antiga permanece. A remoção de uma oferta apaga a chave armazenada.

Preços

Ofertas de texto são precificadas como um desconto sobre o preço de tabela do modelo (o preço que um comprador pagaria indo direto). Envie discount_pct (ex: 45 = 45% de desconto) ou o mesmo que multiplier (0.55). Preços por token (input_usd_per_mtok / output_usd_per_mtok) não são mais aceitos para modelos de texto.

"match_best": true define seu preço para o maior desconto que os compradores podem obter naquele modelo agora. Você pode alterá-lo a qualquer momento.

Os compradores pagam seu preço; tudo é creditado a você assim que cada solicitação é concluída. UberLLM não cobra nenhuma taxa sobre suas vendas. Seu próprio custo é o que seu provedor cobra pela sua key.

Opcional daily_cap_usd: uma vez que os compradores tenham gasto essa quantia na oferta em um dia, ela para de receber solicitações até o dia seguinte.

Saúde

A saúde é medida pelo tráfego real de compradores. As únicas outras requisições que enviamos à sua API key são a requisição de teste abaixo e as da verificação de modelo.

  • Quando você lista ou ativa uma oferta, ou muda sua API key, enviamos uma pequena requisição de teste (ela pode usar uma pequena parte da sua cota).
  • Se a requisição de um comprador para você falhar, o comprador é movido para o próximo vendedor e sua oferta fica fora do roteamento por um tempo: 30 s → 1 min → 2 min → 10 min para erros de servidor e timeouts, 10 → 20 → 40 → 60 min para uma API key recusada ou sem crédito, 15–30 s para rate limits. Quando a espera termina, sua oferta recebe requisições novamente; uma requisição que é bem-sucedida a reinicia.
  • Consertou antes? POST /seller/offers/{id}/reset-health (o botão Consertei, tente novamente) a coloca de volta imediatamente. O mesmo acontece com uma nova API key ou endereço que passe no seu teste.
  • Se seu provedor recusar sua API key ou disser que a conta não tem crédito duas vezes seguidas, nós te enviamos um e-mail (no máximo uma vez por dia) com as ofertas afetadas.
  • GET /seller/health-log diz, em palavras simples, por que uma oferta foi pulada e quando ela voltou.

Verificação do modelo

Os compradores pagam pelo modelo que você lista, então verificamos se sua oferta realmente o serve.

As regras

  • Sirva o modelo exato que você lista. Não um modelo menor, mais barato, mais antigo ou com ajuste diferente, e não uma mistura de modelos.
  • Não adicione nada à solicitação. Nenhuma instrução, system prompt ou ferramentas próprias, e nada cortado do que o comprador enviou. Um aplicativo de chat ou ferramenta de codificação revendido que adiciona suas próprias instruções quebra esta regra.
  • Passe as contagens de token inalteradas, exatamente como o modelo as contou.

Como verificamos

  • Toda oferta é verificada antes que qualquer comprador seja enviado a ela. Até que seja aprovada, a página de Vendas a mostra como Verificando; então ela fica Ativa. Uma nova key, endereço ou modelo é verificado novamente da mesma forma.
  • As ofertas continuam sendo verificadas com tráfego real enquanto estiverem listadas.
  • As verificações usam um pouco da sua cota e são pagas como qualquer outra solicitação.
  • Não publicamos como as verificações funcionam ou quando são executadas.

Quando uma oferta falha em uma verificação

  • Ela é Pausada, e você não pode ativá-la novamente por conta própria. Listar a mesma key novamente como uma nova oferta também é recusado.
  • Seus payouts são retidos enquanto nossa equipe os revisa.
  • A página de Vendas e GET /seller/offers dizem o porquê, em palavras claras (listing_state: "paused" com check_reason), e enviamos um e-mail para você.
  • Para que seja verificada novamente, corrija o que serve a oferta e, em seguida, escreva para [email protected].

Quando um vendedor é pego servindo um modelo diferente do listado

  • Sua conta de vendedor é suspensa e todas as suas ofertas param de uma vez.
  • Ganhos ainda não pagos são confiscados e usados para reembolsar os compradores que suas ofertas serviram. Payouts ainda não enviados são cancelados.
  • Você não pode listar na UberLLM novamente, com a mesma provider key, servidor, payout address ou e-mail.
  • A página de Vendas diz isso, e GET /seller/offers responde listing_state: "suspended". Escreva para [email protected] sobre isso.

Modelos de peso aberto: diga como você os executa

Modelos de peso aberto (GPT-OSS, Qwen, DeepSeek, GLM, Kimi, MiniMax e outros cujos pesos são publicados) podem ser executados com qualidade total ou compactados para economizar memória. Uma cópia compactada responde um pouco pior, e nenhum teste pode distingui-la de forma confiável do modelo completo. Então, quando você lista um modelo de peso aberto, você diz como seu servidor o executa, e os compradores veem sua resposta na página do modelo:

  • Qualidade total (16-bit): os pesos conforme publicados (bf16 / fp16), ou melhor.
  • 8-bit: fp8 ou int8.
  • Abaixo de 8-bit (6-bit ou 4-bit): qualquer coisa menor.

Uma nova listagem de um modelo de peso aberto precisa de uma das três opções. Ofertas listadas antes de 1 de novembro de 2026 mostram "Precisão não declarada" até que você a defina (Página de Vendas → a oferta → Preço e precisão). Declarar uma precisão maior do que seu servidor realmente executa é um modelo diferente do listado: a conta é suspensa, conforme abaixo. Modelos fechados (Claude, GPT-5, Gemini…) não pedem.

Contagens de token preenchidas

Quando seu servidor relata muito mais prompt tokens do que uma solicitação realmente contém, o comprador é cobrado, e você é pago, por no máximo cerca de 2× nossa própria contagem dos prompt tokens da solicitação, mais uma pequena tolerância para definições de ferramentas e imagens. Abaixo disso, as solicitações são cobradas exatamente como seu servidor as relata.

Ganhos e pagamentos

  • GET /seller/earnings?range=7d|30d|90d|all — ganhos, vendas e tokens, por modelo, com o mercado em torno de cada um dos seus modelos (o desconto mais barato agora e o desconto realizado pelo mercado na última hora) para que você possa ver como precificar.
  • GET /seller/payouts — disponível para pagamento (owed_usd), em espera (held_usd, e next_release_at: quando a próxima parte estiver pronta), a caminho e pago como números separados, para onde seus pagamentos são enviados (payout_method, null até você configurar), além do seu histórico de pagamentos.
  • PUT /seller/payout-method {method, address} — para onde enviar seu dinheiro: {"method":"paypal","address":"[email protected]"} (o e-mail da sua conta PayPal) ou {"method":"usdc_base","address":"0x…"} (sua carteira na Base, 0x e 40 caracteres hexadecimais; enviamos USDC apenas na rede Base). Responde ao {method, address, set_at} salvo. No console: Vendas → Pagamentos → Para onde enviamos seu dinheiro.

Os ganhos são retidos antes de poderem ser pagos: 14 dias enquanto você é um novo vendedor (seus primeiros 30 dias, ou até você ter ganho $500 no total), depois 7 dias. Dessa forma, os compradores podem ser reembolsados se uma oferta não atender ao modelo que ela lista. A página de Vendas mostra Disponível para pagamento e Em espera, com a data em que a próxima parte estará pronta.

Uma vez liberado da espera, o que está disponível entra em um pagamento automaticamente assim que atinge $5, ou 72 horas depois que sua venda não paga mais antiga sair da espera (verificado a cada 10 minutos). Você também pode solicitar um a qualquer momento (POST /seller/payouts/request, o botão Pagar-me agora). Você tem um pagamento a caminho por vez: o que você ganha enquanto isso permanece devido e entra no seu próximo pagamento assim que o atual for pago (solicitar outro responde a 409 payout_already_on_the_way).

Nossa equipe envia cada pagamento para o e-mail do PayPal ou carteira USDC (Base) que você configurou, geralmente dentro de 2 dias úteis após o início. Se um pagamento for iniciado antes de você ter configurado um, enviamos um e-mail aos proprietários da sua conta para perguntar, e o enviamos assim que você o fizer. Um pagamento é considerado pago somente depois de ter sido realmente enviado; a referência do pagamento então aparece ao lado dele, e nós enviamos um e-mail para você informando que foi enviado.

Se um pagamento não puder ser entregue (por exemplo, o e-mail do PayPal não pode receber dinheiro), ele aparece como Não processado com o motivo. Nada é perdido: o valor é devido a você novamente e sai com seu próximo pagamento, e nós enviamos um e-mail para você para verificar para onde enviamos seu dinheiro.

API

Logado na web, a API do vendedor está em /api/v1/seller. Com sua API key da UberLLM (aquela que seu agente obteve ao fazer login em uberllm), a mesma API está em /v1/seller:

Chamada O que faz
POST /seller/register {display_name?} Começar a vender (uma vez). O nome é opcional: se omitido, você é exibido como "Vendedor" mais 4 letras. A página de Vendas faz isso por você.
GET /seller/providers Provedores e suas base URLs.
POST /seller/discover {base_url, api_key} ou {config_id} Os modelos que uma key pode servir, correspondidos aos nossos (open_weights: true = listá-lo precisa de um precision). Não consome quota.
POST /seller/test {base_url, api_key, models[]} Uma pequena requisição de teste por modelo.
POST /seller/offers/bulk Listar muitos modelos em uma key: {endpoint_url, api_key, save_config, daily_cap_usd, precision, offers:[{model_id, upstream_model, precision, discount_pct | match_best}]}. precision (full, 8bit ou below8) é necessário para modelos de peso aberto; o de nível superior se aplica a cada modelo de peso aberto no lote. Cada modelo é testado ao ser listado; um que falha é omitido com a razão.
POST /seller/offers Listar um modelo: {model_id, endpoint_url, api_key, upstream_model, precision, discount_pct, daily_cap_usd}.
GET /seller/offers · GET /seller/offers/{id} Suas ofertas com preço, % de desconto, saúde, estado (listing_state: checking, live, paused ou suspended, com check_reason quando falhou na verificação do modelo) e classificação ao vivo (sua posição entre tudo para o qual os compradores podem ser enviados para aquele modelo).
PATCH /seller/offers/{id} Reprecificar (discount_pct), limitar (daily_cap_usd, 0 remove), precision (modelos de peso aberto), status: paused | active (uma oferta que falhou na verificação do modelo não pode ser reativada).
POST /seller/offers/{id}/rotate-credential {api_key} Nova key, testada antes de ser aceita.
POST /seller/offers/{id}/reset-health De volta ao roteamento agora.
DELETE /seller/offers/{id} Remover: fora do roteamento, key armazenada apagada.
GET /seller/configs · DELETE /seller/configs/{id} Keys salvas para iniciar novas ofertas (apenas uma dica de 4 caracteres é sempre mostrada).
GET /seller/health-log Por que as ofertas foram ignoradas.
GET /seller/earnings · GET /seller/payouts · POST /seller/payouts/request Dinheiro: o que está disponível, em espera, a caminho e pago.
PUT /seller/payout-method {method: paypal | usdc_base, address} Para onde seus pagamentos são enviados: um e-mail do PayPal ou uma carteira USDC na Base.
curl https://api.uberllm.dev/v1/seller/offers/bulk \
  -H "Authorization: Bearer $UBERLLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "endpoint_url": "https://api.together.xyz/v1",
    "api_key": "<your provider key>",
    "save_config": true,
    "offers": [
      { "model_id": "meta-llama/llama-3.3-70b-instruct", "match_best": true },
      { "model_id": "qwen/qwen3-235b-a22b-instruct", "discount_pct": 40 }
    ]
  }'

Para agentes

Seu agente já possui uma API key UberLLM após o login. Ele pode registrar, encontrar modelos em uma chave de provedor, listá-los e acompanhar os ganhos com as chamadas acima em /v1/seller. Nenhum outro tipo de chave é necessário.

Liste apenas o que você pode revender

  • ✅ Modelos de pesos abertos ou auto-hospedados que você executa.
  • ✅ Capacidade de provedor que você tem permissão para revender.
  • ❌ Uma chave de provedor cujos termos não permitem que você a revenda ou dê acesso a terceiros. Os termos de muitos provedores não permitem isso: verifique os seus antes de listá-la.
  • ❌ Chaves roubadas, vazadas, compartilhadas, de teste gratuito ou de avaliação. Uma oferta que viola essas regras é removida.

Use uma chave de provedor dedicada com um limite de gastos. Você é responsável pelo licenciamento e pela operação legal do que você lista.