Usando o OpenAI SDK para chamar a API Gemini: como configurar base_url, nome do modelo e preço do Gemini 3.5 Flash
14 de junho de 2026 · 10 min de leitura · Claude / GPT / Gemini

A documentação compatível com OpenAI do Google foi atualizada em 2026-05-18 e afirma diretamente: os modelos Gemini podem ser chamados pelos SDKs OpenAI Python / JavaScript, mudando essencialmente apenas três pontos: api_key, base_url, model (Google). Hoje é 2026-06-14, e a página de preços informa que, na camada paga padrão do gemini-3.5-flash, o preço é: entrada $1.50 / 100 万 token, saída incluindo tokens de pensamento $9.00 / 100 万 token (Google Pricing).
Minha avaliação é simples: se você já tem um projeto com o SDK da OpenAI, não reescreva tudo agora. Primeiro conecte o Gemini como um backend compatível com OpenAI, valide custos, streaming e chamadas de ferramentas, e só então decida se vale migrar para o SDK nativo do Gemini.

1. Mudança mínima: trocar apenas o endpoint e o nome do modelo
Em Python, primeiro instale o SDK oficial da OpenAI:
pip install openai
export GEMINI_API_KEY="你的 Gemini API Key"
Depois altere o cliente para ficar assim:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["GEMINI_API_KEY"],
base_url="https://generativelanguage.googleapis.com/v1beta/openai/",
)
resp = client.chat.completions.create(
model="gemini-3.5-flash",
reasoning_effort="low",
messages=[
{"role": "system", "content": "你是一个直接、准确的代码助手。"},
{"role": "user", "content": "用三句话解释 SSE 流式输出。"},
],
)
print(resp.choices[0].message.content)
chat.completions.create, messages e tools continuam seguindo o formato OpenAI Chat Completions; a própria referência da API da OpenAI ainda define Chat Completions como uma interface que gera respostas com base em uma lista de mensagens (OpenAI). Portanto, o foco da migração não é o código de negócio, mas a camada de configuração.
2. Não esqueça a barra final em base_url
O endereço na documentação do Google é:
https://generativelanguage.googleapis.com/v1beta/openai/
Se faltar o / final, alguns clientes podem gerar problemas estranhos ao montar caminhos. Em código de produção, recomendo extrair isso para variáveis de ambiente:
OPENAI_BASE_URL="https://generativelanguage.googleapis.com/v1beta/openai/"
OPENAI_API_KEY="$GEMINI_API_KEY"
OPENAI_MODEL="gemini-3.5-flash"
Se você quiser evitar alternar entre contas, cotas e faturas de vários provedores, o onehop é um caminho mais prático: altere o base_url para https://api.onehop.ai/v1 e chame Claude, GPT e Gemini pela mesma interface compatível com OpenAI / Anthropic. Novas contas recebem $10, sem precisar vincular cartão; é adequado para fazer um PoC primeiro e depois decidir se vale conectar diretamente às APIs oficiais.
from openai import OpenAI
client = OpenAI(
api_key="你的 onehop key",
base_url="https://api.onehop.ai/v1",
)
resp = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[{"role": "user", "content": "给我一个 FastAPI 健康检查接口"}],
)
print(resp.choices[0].message.content)
O acesso fica aqui: chamar Claude e outros modelos no onehop, cadastre-se e receba $10 em créditos de teste.
3. Calcule o preço primeiro pelos tokens de saída
A camada padrão do gemini-3.5-flash não é “tão barata que dá para ignorar”. O preço de saída é 6 vezes o preço de entrada:
| Modelo | Camada | Entrada / 1 milhão de tokens | Saída / 1 milhão de tokens |
|---|---|---|---|
gemini-3.5-flash |
Padrão | $1.50 |
$9.00 |
gemini-3.5-flash |
Batch | $0.75 |
$4.50 |
gemini-3.5-flash |
Flex | $0.75 |
$4.50 |
Os números de Batch e Flex também vêm da mesma página de preços do Google. Ao criar aplicações, limite max_completion_tokens, especialmente em resumo, geração de código e loops de ferramentas de Agent. Entradas mais longas ainda podem ser cacheadas; saída fora de controle é gasto real.

4. Como o reasoning_effort é mapeado
A camada compatível do Google aceita o reasoning_effort no estilo OpenAI e o mapeia para a configuração de thinking do Gemini (Google):
reasoning_effort |
thinking_level do Gemini 3 Flash |
|---|---|
minimal |
minimal |
low |
low |
medium |
medium |
high |
high |
Se não for informado, usa-se o valor padrão do modelo. A documentação do Google também traz uma restrição importante: no Gemini 3, não é possível desativar o thinking; none só se aplica a alguns modelos 2.5. Minha recomendação é usar low como padrão em produção, elevando para medium ou high apenas em planejamento complexo ou chamadas de ferramentas em cadeias longas. Como o preço de saída inclui tokens de pensamento, a intensidade de raciocínio não é um botão gratuito.
5. Streaming e chamadas de função: funcionam, mas proteja-se contra chunks vazios
A chamada em streaming mantém a escrita do SDK da OpenAI:
stream = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[{"role": "user", "content": "写一个 Redis 缓存封装"}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)
O if delta aqui é muito útil. Em respostas por streaming, pode haver papel, chamada de ferramenta ou incremento vazio; não presuma que todo chunk terá texto.
Chamadas de função também passam por tools e tool_choice="auto". A documentação de compatibilidade do Google traz um exemplo de função de clima e confirma que a Gemini API oferece suporte a function calling (Google). Em projetos reais, não se limite a imprimir o retorno do modelo; verifique message.tool_calls, execute a função local e então envie o resultado da ferramenta de volta ao modelo como a próxima mensagem.
Conclusão: o menor custo para migrar para o Gemini é mudar três linhas de configuração; o que realmente precisa de atenção são tokens de saída, intensidade de thinking, chunks vazios no streaming e o ciclo fechado de chamadas de ferramentas. Se você só quer colocar Claude, GPT e Gemini rapidamente no mesmo projeto com SDK da OpenAI, usar a entrada unificada do onehop economiza bastante tempo de configuração: chame Claude e outros modelos no onehop, ou primeiro resgate o crédito de teste de $10 ao se cadastrar.
Leituras relacionadas

Use Groq GPT-OSS 120B com o SDK da OpenAI: Base URL, preços e cache
Troque a base URL do SDK da OpenAI para rodar GPT-OSS 120B na Groq, estimar custos com cache e evitar surpresas com ferramentas.
17 de junho de 2026 · 27 min de leitura

Usando o OpenAI SDK para chamar a Gemini API: tutorial de migração alterando apenas base_url, API Key e nome do modelo
Checklist de migração para projetos com OpenAI SDK usando a interface compatível do Gemini, com código, mapeamento de parâmetros e preços.
14 de junho de 2026 · 9 min de leitura

Como chamar a API Gemini com o OpenAI SDK: tutorial de integração alterando apenas base_url, key e nome do modelo
Integre código existente do OpenAI SDK ao Gemini com mudanças mínimas em apenas três configurações.
14 de junho de 2026 · 9 min de leitura