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

O que é um API endpoint compatível com OpenAI?

Um endpoint de API compatível com OpenAI é aquele que segue os formatos exatos de requisição e resposta da API da OpenAI — o mesmo esquema /v1/chat/completions, o mesmo formato de streaming, os mesmos campos de tool-call — assim, o SDK oficial da OpenAI funciona com ele mudando apenas a base URL e a key. UberLLM é compatível com OpenAI (e compatível com Anthropic em /v1/messages), e é por isso que mudar para ele é uma alteração de uma linha.

A breve definição

Um endpoint é "compatível com OpenAI" quando aceita as mesmas requisições HTTP e retorna as mesmas formas de resposta que a API da OpenAI. Na prática, isso significa:

  • o corpo da requisição POST /v1/chat/completions (model, messages, temperature, tools, stream, …) é aceito como está;
  • a resposta é o mesmo objeto choices[].message, com as mesmas contagens de token usage;
  • streaming usa os mesmos chunks data: de server-sent-events terminando em [DONE];
  • tool / function calling usa os mesmos campos tool_calls.

Como o contrato corresponde, o SDK oficial da OpenAI — em Python, JavaScript ou qualquer linguagem — funciona com o endpoint quando você muda apenas a base URL e a API key. O código da sua aplicação não percebe a diferença.

Por que isso importa

A compatibilidade com OpenAI transformou a API de um fornecedor em um padrão de fato. Um endpoint compatível permite que você mantenha o SDK, as ferramentas e as integrações de framework que você já usa (LangChain, o Vercel AI SDK, LlamaIndex, dezenas de frameworks de agentes) enquanto muda o que está por trás deles.

Essa é toda a migração para o UberLLM:

from openai import OpenAI

client = OpenAI(
    base_url="https://api.uberllm.dev/v1",   # the only line that changes
    api_key="ull_your_key_here",
)

resp = client.chat.completions.create(
    model="deepseek/deepseek-v4-flash",
    messages=[{"role": "user", "content": "Hello!"}],
    stream=True,
)

Veja a documentação do SDK da OpenAI para o conjunto completo de parâmetros suportados.

Compatível vs. um verdadeiro drop-in

"Compatível" é um espectro. Fique atento a endpoints que aceitam o formato da requisição, mas descartam streaming, ignoram tool calls ou retornam usage não-padrão. UberLLM implementa o contrato de chat-completions, incluindo streaming, tool calls e uso de token, e adicionalmente expõe um endpoint compatível com Anthropic em /v1/messages para que os SDKs da Anthropic e Claude Code funcionem inalterados também — documentação do SDK da Anthropic.

O que a UberLLM adiciona por trás do endpoint padrão

O endpoint é padrão; o roteamento por trás dele não é. Cada requisição é enviada ao vendedor saudável mais barato para o modelo que você especificou, falhas antes da saída são retentadas no próximo vendedor, e o preço que você vê (sem taxa adicional) é o preço que você paga. Navegue pelos modelos em /models e preços ao vivo em /llm-api-pricing.

Continue lendo

Perguntas frequentes

O que significa "compatível com OpenAI"?

Isso significa que o endpoint aceita as mesmas requisições e retorna as mesmas respostas que a OpenAI API — o mesmo schema de chat-completions, formato de streaming e campos de tool-call — então o OpenAI SDK funciona com ele mudando apenas a base URL e a key.

Preciso mudar meu código para usar um endpoint compatível com OpenAI?

Apenas a base_url e a api_key. Todo o resto no seu código do OpenAI SDK — messages, streaming, tools, usage — permanece o mesmo.

O UberLLM também é compatível com Anthropic?

Sim. Ao lado do endpoint de chat-completions compatível com OpenAI, o UberLLM expõe um endpoint /v1/messages compatível com Anthropic, então os Anthropic SDKs e o Claude Code funcionam sem alterações.