Conecte o Open WebUI a um endpoint compatível com OpenAI personalizado.

Updated 2026-07-29

O Open WebUI trata conexões compatíveis com OpenAI como uma configuração de admin de primeira classe: adicione uma conexão em Admin Settings com https://api.apisrouter.com/v1 e uma chave, e todo modelo do catálogo aparece no seletor de modelo para todos os seus usuários, ao lado do que roda localmente.

Resposta rápida: uma conexão em Admin Settings.

Como admin, abra Admin Settings, vá em Connections, e sob a seção OpenAI API clique para adicionar uma conexão. Dois campos importam: a URL, definida como https://api.apisrouter.com/v1, e a chave de API. Salve, e o Open WebUI consulta a listagem /v1/models do endpoint para popular o seletor de modelo; verifique com o controle de checagem da conexão, depois escolha qualquer id do catálogo em um chat novo. Conexões adicionadas dessa forma valem para o workspace inteiro: todo usuário da sua instância do Open WebUI vê os modelos, sujeito a quaisquer controles de acesso a modelo que você configurar. Os mesmos valores podem vir como variáveis de ambiente no momento do deploy em vez disso, OPENAI_API_BASE_URL e OPENAI_API_KEY, que é o caminho mais limpo quando a instância é provisionada por arquivos compose em vez de clicada na forma.

URL:      https://api.apisrouter.com/v1
API Key:  sk-YOUR-APISROUTER-KEY

Save → os modelos se auto-populam a partir de /v1/models
(opcional) allowlist de Model IDs para curar o seletor

Como o Open WebUI usa conexões OpenAI.

O Open WebUI (cerca de 145 mil estrelas no GitHub) é a interface de chat de IA auto-hospedada padrão: um cliente web completo com usuários e permissões, RAG e coleções de conhecimento, tool calling, e gestão de modelo, classicamente combinado com Ollama para modelos locais mas igualmente confortável falando com APIs remotas. Seu modelo de conexão é aditivo. A seção Ollama cobre runtimes locais; a seção OpenAI API cobre qualquer endpoint que fale o dialeto padrão de chat-completions, e você pode adicionar várias conexões lado a lado. Cada conexão contribui sua lista de modelos para o seletor compartilhado, cada uma tem sua própria chave, e cada uma pode ser desligada sem apagar sua configuração. As requisições carregam o id de modelo como uma string simples para qualquer conexão que o sirva. Esse design significa que uma conexão de gateway não desloca nada: seus modelos locais continuam rodando pelo Ollama sem custo por token, enquanto claude-sonnet-4-6, gpt-5.5, gemini-3.5-flash, e deepseek-v4-pro se tornam entradas no seletor para as conversas que precisam de qualidade de ponta. Uma chave cobre todos eles, e o uso do lado do admin fica legível porque o tráfego de nuvem sai por exatamente um lugar.

Configuração no momento do deploy: variáveis de ambiente.

Para implantações docker-compose e Kubernetes, a conexão pode fazer parte do manifesto. OPENAI_API_BASE_URL recebe o endpoint e OPENAI_API_KEY a chave; a instância sobe com a conexão já presente. Múltiplos endpoints são suportados pelas formas plurais (OPENAI_API_BASE_URLS e OPENAI_API_KEYS com valores separados por ponto e vírgula) se você roda mais de uma fonte remota. Duas observações operacionais. Primeiro, valores definidos pela UI persistem no banco de dados do Open WebUI e têm precedência sobre padrões de ambiente depois do primeiro boot, um comportamento documentado que regularmente surpreende operadores que mudam o ambiente e não veem nada acontecer; ajuste conexões existentes em Admin Settings, ou defina ENABLE_PERSISTENT_CONFIG=false se você quer que o ambiente continue sendo autoritativo. Segundo, se a listagem de modelo do endpoint for grande, use a allowlist de Model IDs da conexão para curar o que seus usuários veem; um seletor de quatro itens é usado, um de duzentos é rolado e ignorado. Nota de versão: o texto dos menus mudou ao longo do ritmo de release rápido do projeto (Settings vs Admin Settings, nomes de seção dentro de Connections), então em builds mais antigos procure pelo par de base URL e chave da OpenAI API onde quer que as conexões vivam.

services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    environment:
      - OPENAI_API_BASE_URL=https://api.apisrouter.com/v1
      - OPENAI_API_KEY=sk-YOUR-APISROUTER-KEY
    ports:
      - "3000:8080"

Escolhendo modelos para um workspace multi-usuário.

Com todo modelo de nuvem cobrado por uma chave, o teste A/B é uma escolha de seletor. Rode a mesma carga de trabalho do time com duas semanas de diferença em dois padrões candidatos e deixe a visão de uso por modelo no console da APIsRouter arbitrar, por modelo e por dia, em vez de adivinhar a partir de benchmarks.

  • A escolha de modelo padrão faz a maior parte do trabalho em uma instância compartilhada. claude-haiku-4-5-20251001 ou gemini-3.5-flash como o padrão do workspace mantém o custo por conversa do uso casual estável.
  • claude-sonnet-4-6 e gpt-5.5 pertencem ao seletor para rascunhos, análise, e perguntas de código; os usuários sobem de nível quando a tarefa merece.
  • Pipelines RAG multiplicam tokens de entrada: toda resposta carrega trechos recuperados. deepseek-v4-pro vale a pena testar como o cavalo de batalha do RAG, onde o manuseio de contexto longo por token gasto é o traço decisivo.
  • Mantenha material genuinamente privado em modelos locais pelo Ollama e roteie todo o resto pelo gateway; o seletor mantém as duas faixas honestas.
  • Use a allowlist de Model IDs como política: o que não está no seletor não pode te surpreender no log de uso.

Pague pelo uso · abaixo do preço oficial

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

ModeloPreço oficialNosso preço
Claude Haiku 4.5 20251001$1.00 / $5.00 per M$0.80 / $4.00 per M
Claude Sonnet 4.6$3.00 / $15.00 per M$2.40 / $12.00 per M
GPT-5.5$5.00 / $30.00 per M$4.00 / $24.00 per M
Gemini 3.5 Flash$1.50 / $9.00 per M$1.20 / $7.20 per M
DeepSeek V4 Pro$0.43 / $0.87 per M$0.40 / $0.90 per M

Modos de falha específicos do Open WebUI.

Nenhum modelo aparecendo depois de adicionar a conexão é o relato mais comum. As causas em ordem: a chave falhou contra /v1/models (verifique com o controle de verificação da conexão), a URL está sem o sufixo /v1, ou o interruptor da conexão está desligado. O Open WebUI constrói o seletor a partir do que a listagem retorna, então um seletor vazio significa que a chamada de listagem falhou ou não retornou nada. Mudanças de ambiente que parecem ignoradas são a regra de configuração persistente descrita acima: depois do primeiro boot, o banco de dados vence o ambiente para configurações que a UI gerencia. Edite a conexão em Admin Settings ou desabilite a configuração persistente explicitamente. Um modelo que lista mas dá erro no chat geralmente é um id que a listagem expõe mas sua chave não consegue usar, ou um erro de digitação introduzido ao editar à mão a allowlist de Model IDs; compare com a saída bruta de /v1/models. E mantenha as faixas claras ao depurar: problemas de conexão do Ollama e problemas de conexão OpenAI parecem idênticos pela janela de chat. A página Connections mostra a qual faixa um modelo pertence; teste a faixa com falha diretamente antes de assumir que a instância inteira está fora do ar.

Quem roteia o Open WebUI por um gateway.

  • Times auto-hospedando uma interface de chat única para todos que querem modelos de ponta disponíveis sem emitir chaves de fornecedor para usuários individuais.
  • Usuários de Ollama que mantêm modelos locais para trabalho privado mas querem qualidade Claude e GPT no mesmo seletor para as conversas que precisam disso.
  • Admins que precisam que a conta de nuvem seja legível: uma conexão, uma chave, e um log de uso por modelo em vez de recibos de quatro fornecedores.
  • Operadores em regiões onde alguns cadastros de fornecedor são dolorosos; o acesso baseado em recarga sem exigência de cartão remove a dependência por provedor.
  • Entusiastas de homelab rodando o Open WebUI para a família, onde um único saldo pré-pago é mais fácil de entender que qualquer assinatura.

Verifique o endpoint e depure o primeiro chat.

Prove o endpoint a partir do servidor primeiro, especialmente em implantações containerizadas onde a rede do container não é a do seu laptop. Uma listagem de modelos e uma chat completion de dentro do host confirmam a metade do gateway antes do Open WebUI entrar em cena. Depois adicione a conexão e observe o seletor popular. Erros de autenticação são o campo de chave; um seletor vazio é a chamada de listagem; um caminho duplicado (/v1/v1/...) nos logs do servidor significa que o campo de URL já carregava um /v1 e algo anexou outro, então leia a URL exatamente como salva. Assim que os chats fluem, o console da APIsRouter mostra modelo, contagens de token e gasto por requisição. Para uma instância multi-usuário esse é o número que importa: quais modelos seus usuários de fato escolhem, e quanto uma semana do workspace realmente custa, por modelo, por dia, em uma única página.

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $APISROUTER_API_KEY" | head -50

curl -s https://api.apisrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $APISROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-haiku-4-5-20251001",
       "messages":[{"role":"user","content":"ping"}]}'

Perguntas frequentes

Como eu adiciono um endpoint OpenAI API personalizado ao Open WebUI?

Em Admin Settings, abra Connections e adicione uma conexão sob a seção OpenAI API: URL https://api.apisrouter.com/v1 mais sua chave. Salve e o seletor de modelo se popula a partir da listagem /v1/models do endpoint; use a allowlist de Model IDs para curá-lo.

A URL precisa do sufixo /v1?

Sim. O Open WebUI anexa caminhos de rota como /chat/completions à base URL que você fornece, então o valor correto é https://api.apisrouter.com/v1. Um sufixo ausente aparece como uma lista de modelo vazia; um duplicado aparece como 404s de /v1/v1 nos logs.

Posso rodar o Ollama e uma conexão de gateway ao mesmo tempo?

Sim, e é a configuração padrão. Conexões Ollama e conexões OpenAI API são seções separadas que alimentam o mesmo seletor de modelo, então modelos locais e ids do catálogo como claude-sonnet-4-6 ficam lado a lado, cada conversa escolhendo sua faixa.

Por que minhas mudanças de variável de ambiente são ignoradas?

O Open WebUI persiste configurações no seu banco de dados depois do primeiro boot, e valores persistidos têm precedência sobre padrões de ambiente. Edite a conexão em Admin Settings, ou defina ENABLE_PERSISTENT_CONFIG=false para que o ambiente continue autoritativo entre restarts.

Todos os usuários veem os modelos de uma conexão de admin?

Conexões adicionadas em Admin Settings valem para o workspace inteiro por padrão, sujeitas aos controles de acesso a modelo e permissão de workspace que sua versão oferece. Cure o seletor com a allowlist de Model IDs e configurações de acesso por modelo em vez de chaves por usuário.

O Open WebUI pode alcançar Claude e Gemini por uma conexão OpenAI?

Sim. A conexão fala chat completions padrão e encaminha o id de modelo como uma string simples, então qualquer id que o gateway sirva funciona: ids Claude, Gemini, DeepSeek e GPT todos por uma URL e uma chave.