Guias de modelos e modalidades22 de setembro de 2026Flatkey Team

Configuração da URL Base Compatível com OpenAI da Gemini API e do Router Flatkey

Defina a URL base compatível com OpenAI da Gemini, compare o acesso direto ao Google com o roteamento via Flatkey e verifique IDs de modelos, configuração do SDK e logs de uso.

Configuração da URL Base Compatível com OpenAI da Gemini API e do Router Flatkey

Se você já usa o SDK da OpenAI, a maneira mais rápida de testar o Gemini é alterar a chave da API, a URL base e o ID do modelo. A URL base oficial compatível com OpenAI da API Gemini é:

https://generativelanguage.googleapis.com/v1beta/openai/

Para o Flatkey, a URL base do router compatível com OpenAI é:

https://router.flatkey.ai/v1

Esse é o núcleo da Configuração da URL Base Compatível com OpenAI da Gemini API e do Router Flatkey: o Gemini direto usa uma chave de API do Google e o endpoint compatível com OpenAI do Google; o Flatkey usa uma chave Flatkey, o router Flatkey e um ID de modelo Gemini disponível na sua conta Flatkey.

Use a rota direta do Google quando você só precisa do Gemini e quer a configuração mais próxima possível do provedor específico. Use a rota Flatkey quando você já estiver comparando o Gemini com GPT, Claude, DeepSeek, Qwen ou outros modelos e quiser uma única URL base compatível com OpenAI, uma lista de modelos e um único log de uso.

Configuração da URL Base Compatível com OpenAI da Gemini API e do Router Flatkey em resumo

Opção de configuração URL base Chave de API Origem do ID do modelo Melhor opção para
Gemini direto https://generativelanguage.googleapis.com/v1beta/openai/ Chave da API Gemini Documentação dos modelos da API Gemini do Google ou client.models.list() Você só precisa do Gemini e quer acesso direto ao Google.
Router Flatkey https://router.flatkey.ai/v1 Chave da API Flatkey /v1/models do Flatkey ou o Diretório de Modelos Você quer o Gemini ao lado de outros provedores de modelo atrás de uma única chave.

Não misture os dois. Uma chave de API do Gemini não autenticará no Flatkey, e uma chave Flatkey não autenticará no endpoint direto do Gemini do Google.

Configuração direta do Gemini com o SDK da OpenAI

A camada de compatibilidade com OpenAI do Google permite que você mantenha a mesma estrutura do SDK da OpenAI para fluxos comuns de conclusão de chat. A diferença importante é a configuração do cliente.

Python

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["GEMINI_API_KEY"],
    base_url="https://generativelanguage.googleapis.com/v1beta/openai/",
)

response = client.chat.completions.create(
    model="gemini-3.8-flash",
    messages=[
        {"role": "user", "content": "Escreva uma frase sobre roteamento de modelos."}
    ],
)

print(response.choices[0].message.content)

JavaScript

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.GEMINI_API_KEY,
  baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/",
});

const response = await client.chat.completions.create({
  model: "gemini-3.8-flash",
  messages: [
    { role: "user", content: "Escreva uma frase sobre roteamento de modelos." },
  ],
});

console.log(response.choices[0].message.content);

REST

curl https://generativelanguage.googleapis.com/v1beta/openai/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $GEMINI_API_KEY" \
  -d '{
    "model": "gemini-3.8-flash",
    "messages": [
      {"role": "user", "content": "Escreva uma frase sobre roteamento de modelos."}
    ]
  }'

Antes de fazer o deploy, execute client.models.list() ou GET /openai/models usando a mesma URL base. Isso detecta o erro mais comum: copiar um ID de modelo antigo de um post de blog e assumir que ele ainda existe para a sua conta.

Configuração do router Flatkey para Gemini

A Flatkey mantém a mesma estrutura do SDK da OpenAI, mas a URL base e a chave mudam novamente. Você usa o router Flatkey e depois escolhe um ID de modelo Gemini a partir da resposta de /v1/models da Flatkey ou do Model Directory ao vivo.

Python

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["FLATKEY_API_KEY"],
    base_url="https://router.flatkey.ai/v1",
)

models = client.models.list()
gemini_models = [model.id for model in models.data if "gemini" in model.id]
print(gemini_models)

response = client.chat.completions.create(
    model=os.environ.get("FLATKEY_GEMINI_MODEL", "gemini-2.5-flash"),
    messages=[
        {"role": "user", "content": "Escreva uma frase sobre roteamento de modelos."}
    ],
)

print(response.choices[0].message.content)

JavaScript

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.FLATKEY_API_KEY,
  baseURL: "https://router.flatkey.ai/v1",
});

const models = await client.models.list();
console.log(models.data.map((model) => model.id).filter((id) => id.includes("gemini")));

const response = await client.chat.completions.create({
  model: process.env.FLATKEY_GEMINI_MODEL || "gemini-2.5-flash",
  messages: [
    { role: "user", content: "Escreva uma frase sobre roteamento de modelos." },
  ],
});

console.log(response.choices[0].message.content);

Em produção, não assuma que o ID de modelo direto do Google e o ID de modelo roteado da Flatkey serão sempre idênticos. Trate a lista de modelos como a fonte da verdade para a conta que você está chamando.

Variáveis de ambiente para manter a troca reversível

Uma configuração limpa da URL Base Compatível com OpenAI da Gemini API e do Router Flatkey deve facilitar a comparação entre testes diretos e roteados sem editar o código da aplicação.

# Gemini direto
GEMINI_API_KEY="..."
GEMINI_OPENAI_BASE_URL="https://generativelanguage.googleapis.com/v1beta/openai/"
GEMINI_MODEL="gemini-3.8-flash"

# Router Flatkey
FLATKEY_API_KEY="..."
FLATKEY_BASE_URL="https://router.flatkey.ai/v1"
FLATKEY_GEMINI_MODEL="gemini-2.5-flash"

Depois selecione a rota a partir da configuração:

import os
from openai import OpenAI

route = os.environ.get("AI_ROUTE", "flatkey")

if route == "direct_gemini":
    client = OpenAI(
        api_key=os.environ["GEMINI_API_KEY"],
        base_url=os.environ["GEMINI_OPENAI_BASE_URL"],
    )
    model = os.environ["GEMINI_MODEL"]
else:
    client = OpenAI(
        api_key=os.environ["FLATKEY_API_KEY"],
        base_url=os.environ["FLATKEY_BASE_URL"],
    )
    model = os.environ["FLATKEY_GEMINI_MODEL"]

response = client.chat.completions.create(
    model=model,
    messages=[{"role": "user", "content": "Retorne exatamente: route ok"}],
)

Esse padrão permite que um indie hacker teste primeiro o Gemini direto, adicione o Flatkey depois e faça rollback sem reescrever o caminho da requisição.

Checklist de smoke test antes de mover o tráfego

Check Gemini direto Router Flatkey
Autenticação Confirme que a chave do Gemini funciona apenas no endpoint do Google. Confirme que a chave do Flatkey funciona apenas em router.flatkey.ai.
Lista de modelos Execute client.models.list() na base URL do Gemini. Execute client.models.list() no Flatkey e filtre pelos IDs do Gemini.
Chat básico Envie uma conclusão de chat curta sem streaming. Envie o mesmo prompt pelo modelo Gemini do Flatkey.
Streaming Teste streaming apenas se seu app usar streaming. Teste streaming no modelo roteado exato antes de habilitá-lo para usuários.
Chamada de ferramentas Teste um pequeno schema de função se seu app usar ferramentas. Confirme que o modelo roteado suporta o comportamento de ferramentas que seu app espera.
Saída estruturada Valide a saída JSON real, não apenas o status 200. Valide o mesmo schema e o mesmo comportamento de retry.
Revisão de uso Verifique o uso e os erros do Google na sua conta do provedor. Verifique os Usage Logs do Flatkey para modelo, contagem de tokens, latência e custo.

Compatível com OpenAI não significa que todo recurso específico de um provedor se comporte de forma idêntica. Significa que a estrutura do seu cliente pode ficar próxima o suficiente para fluxos comuns do SDK. O smoke test deve cobrir os recursos dos quais seu app realmente depende.

Erros comuns de base URL

Esquecer /openai/ na rota direta do Gemini

Para chamadas diretas do Gemini compatíveis com OpenAI, use:

https://generativelanguage.googleapis.com/v1beta/openai/

Não use o endpoint nativo do Gemini generateContent com código de chat completion do SDK OpenAI. Exemplos nativos da API Gemini e exemplos compatíveis com OpenAI têm formatos de requisição diferentes.

Usar base_url no Node ou baseURL em Python

A configuração do SDK OpenAI em Python usa base_url. O SDK JavaScript usa baseURL.

OpenAI(base_url="https://router.flatkey.ai/v1")
new OpenAI({ baseURL: "https://router.flatkey.ai/v1" })

Tratar IDs de modelo como permanentes

Os nomes dos modelos mudam mais rápido do que o código de configuração do SDK. Para o caminho direto, consulte a documentação de modelos do Google ou liste os modelos pelo endpoint OpenAI-compatible da Gemini. Para o Flatkey, verifique /v1/models e o Model Directory.

Skipping logs

A primeira resposta bem-sucedida não é o fim da configuração. Depois da primeira solicitação ao Flatkey, abra os Usage Logs e verifique o modelo, as contagens de tokens, a latência e o custo. Isso torna a configuração da URL Base Compatível com OpenAI da Gemini API e do Router Flatkey rastreável operacionalmente, e não apenas sintaticamente correta.

Quando a Flatkey agrega valor

O Flatkey é útil quando a Gemini é apenas um caminho em uma pilha mais ampla de modelos. Por exemplo:

  • Você quer Gemini, Claude, GPT, DeepSeek e Qwen atrás de uma única URL base compatível com OpenAI.
  • Você está testando o comportamento de fallback de modelos e não quer chaves de provedores separadas espalhadas por apps e agentes.
  • Você precisa de um registro compartilhado de uso para IDs de modelo, contagens de tokens, latência e custo por solicitação.
  • Você quer que os desenvolvedores alterem o parâmetro de modelo sem mudar o cliente do SDK.

Se o seu app só for chamar a Gemini, a configuração direta do Google pode ser suficiente. Se o seu produto já estiver comparando provedores, o router Flatkey oferece um caminho de migração mais limpo.

Perguntas frequentes

What is the official Gemini OpenAI-compatible base URL?

A URL base oficial compatível com OpenAI da Gemini é https://generativelanguage.googleapis.com/v1beta/openai/. Use-a com uma chave de API da Gemini, não com uma chave do Flatkey.

What base URL should I use for Gemini through Flatkey?

Use https://router.flatkey.ai/v1 com uma chave de API do Flatkey. Em seguida, escolha um ID de modelo da Gemini a partir da resposta de /v1/models do Flatkey ou do Model Directory ao vivo.

Can I use the same Gemini model ID in both places?

Às vezes, mas não presuma isso. O processo seguro é listar os modelos para a rota exata e a conta que você está usando e, então, fixar esse ID na configuração.

Does OpenAI-compatible mean full feature parity?

Não. Trate a compatibilidade com OpenAI como uma conveniência de SDK e de formato da requisição. Teste streaming, tools, structured output, files e entradas multimodais no modelo e na rota exatos antes do lançamento em produção.

Should an indie hacker start direct or with Flatkey?

Comece direto se você estiver apenas comprovando que a Gemini funciona. Comece com o Flatkey se a decisão real for qual modelo deve alimentar o produto, e não se a Gemini sozinha consegue responder ao prompt.

Conclusão

A configuração da URL Base Compatível com OpenAI da Gemini API e do Router Flatkey é simples quando você separa os dois caminhos:

  • Gemini direta: https://generativelanguage.googleapis.com/v1beta/openai/
  • Router Flatkey: https://router.flatkey.ai/v1

Mantenha as chaves separadas, liste os modelos antes de chamar as completions de chat, teste os recursos que seu aplicativo usa e verifique o uso após a primeira solicitação. Quando estiver pronto para comparar o Gemini com outros provedores por meio de uma camada compatível com OpenAI, crie uma chave Flatkey e mova uma carga de trabalho de cada vez.