A troca em uma linha
Os SDKs da OpenAI enviam solicitações para a OpenAI por padrão, mas aceitam uma URL base. Aponte essa URL para outro provedor e use a chave e os nomes de modelos dele; o restante do código fica igual.
from openai import OpenAIclient = OpenAI( base_url="https://api.zurelay.com/v1", # the only line that changes api_key="YOUR_ZURELAY_KEY",)reply = client.chat.completions.create( model="claude-sonnet-5-5", messages=[{"role": "user", "content": "Hello"}],)print(reply.choices[0].message.content)O mesmo funciona em TypeScript com baseURL, e em ferramentas que pedem uma "URL base da OpenAI" ou um "endpoint personalizado": OpenCode, Continue, Cline, Open WebUI e muitas outras. Os guias de integração trazem as configurações de cada uma. Muitas ferramentas também leem as variáveis de ambiente OPENAI_BASE_URL e OPENAI_API_KEY, então a troca não exige nenhuma alteração no código.
URLs base dos principais provedores
A URL base geralmente termina em /v1, e o SDK acrescenta /chat/completions a ela. Alguns provedores usam outros caminhos, então copie-os exatamente:
| Provedor | URL base |
|---|---|
| OpenAI | https://api.openai.com/v1 |
| Google Gemini | https://generativelanguage.googleapis.com/v1beta/openai/ |
| DeepSeek | https://api.deepseek.com |
| xAI (Grok) | https://api.x.ai/v1 |
| Zurelay | https://api.zurelay.com/v1 |
| OpenRouter | https://openrouter.ai/api/v1 |
| Groq | https://api.groq.com/openai/v1 |
| Ollama | http://localhost:11434/v1/ |
A URL de cada provedor, com um ID de modelo e o que cada endpoint oferece, está na lista de URLs base compatíveis com a OpenAI, consultada na documentação de cada provedor em 26 de outubro de 2026.
O que continua funcionando
- Mensagens, prompts de sistema e streaming.
- Chamadas de ferramentas e saída estruturada com um esquema JSON.
- Imagens e outros arquivos na mensagem, para modelos que conseguem lê-los.
- O bloco de uso, para que a contabilização de tokens funcione da mesma forma.
O que verificar antes de trocar
- Nomes dos modelos. Cada provedor tem seus próprios IDs; liste-os com
GET /v1/models. - Quais APIs oferece. Muitos provedores oferecem Chat Completions, mas não as APIs Responses, Realtime, de embeddings ou de processamento em lote da OpenAI. A Zurelay oferece Chat Completions, imagens, vídeo e fala, além da API Messages da Anthropic para Claude.
- Parâmetros extras. Níveis de raciocínio, controles de cache e limites de amostragem variam por modelo. Um bom provedor documenta quais parâmetros cada modelo aceita.
- É mesmo o modelo anunciado? Provedores baratos às vezes oferecem um modelo mais antigo ou mais barato com um nome mais recente. Veja cinco verificações rápidas em o que as APIs de IA baratas realmente vendem.
Quando a troca dá errado
- 404 Not Found. A URL base inclui o endpoint (
.../v1/chat/completions) ou está sem o caminho específico do provedor. Use apenas a URL base. - 401 Unauthorized. A chave pertence a outro provedor ou, no Model Studio da Alibaba, a outra região.
- Modelo não encontrado. Os IDs de um mesmo modelo variam entre provedores:
claude-opus-5-5na Anthropic,anthropic/claude-opus-5no OpenRouter, o nome da sua implantação no Azure. - 400 em um parâmetro. Alguns provedores rejeitam ou ignoram parâmetros que a API da OpenAI aceita, como
response_formatna camada de compatibilidade da Anthropic. Remova o parâmetro ou mude para um provedor que o aceite.
APIs compatíveis com a Anthropic
Já o Claude Code e os SDKs da Anthropic usam a API Messages da Anthropic e leem ANTHROPIC_BASE_URL. Vários provedores também oferecem essa API, incluindo DeepSeek, Moonshot, Z.ai, MiniMax e Zurelay; suas URLs nunca terminam em /v1. Eles estão na lista, e preços do Claude Code compara quanto custa usar o Claude Code em cada plano e pela API.
Por que trocar
Uma única chave compatível com a OpenAI dá acesso a modelos de vários laboratórios. Assim, para comparar Claude, GPT, Gemini e DeepSeek com seus próprios prompts, basta mudar o nome do modelo. O mesmo vale para trocar por um mais barato. Veja os modelos e preços.