Guías de modelos y modalidades22 de septiembre de 2026Flatkey Team

Base URL compatible con OpenAI de Gemini API y configuración del router Flatkey

Configura la base URL compatible con OpenAI de Gemini, compara el acceso directo a Google con el enrutamiento de Flatkey y verifica los IDs de modelo, la configuración del SDK y los registros de uso.

Base URL compatible con OpenAI de Gemini API y configuración del router Flatkey

Si ya usas el SDK de OpenAI, la forma más rápida de probar Gemini es cambiar la clave de API, la URL base y el ID del modelo. La URL base oficial compatible con OpenAI de la API de Gemini es:

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

Para Flatkey, la URL base del router compatible con OpenAI es:

https://router.flatkey.ai/v1

Eso es el núcleo de la configuración de la Base URL compatible con OpenAI de Gemini API y del router Flatkey: el uso directo de Gemini emplea una clave de API de Google y el endpoint compatible con OpenAI de Google; Flatkey usa una clave de Flatkey, el router de Flatkey y un ID de modelo de Gemini disponible en tu cuenta de Flatkey.

Usa la ruta directa de Google cuando solo necesites Gemini y quieras la configuración más cercana al proveedor específico. Usa la ruta de Flatkey cuando ya estés comparando Gemini con GPT, Claude, DeepSeek, Qwen u otros modelos y quieras una sola URL base compatible con OpenAI, una sola lista de modelos y un solo registro de uso.

Base URL compatible con OpenAI de Gemini API y configuración del router Flatkey de un vistazo

Opción de configuración URL base Clave de API Origen del ID del modelo Mejor ajuste
Gemini directo https://generativelanguage.googleapis.com/v1beta/openai/ Clave de API de Gemini Documentación de modelos de la API de Google Gemini o client.models.list() Solo necesitas Gemini y quieres acceso directo de Google.
Router Flatkey https://router.flatkey.ai/v1 Clave de API de Flatkey /v1/models de Flatkey o el Directorio de modelos Quieres Gemini junto a otros proveedores de modelos detrás de una sola clave.

No mezcles los dos. Una clave de API de Gemini no se autenticará contra Flatkey, y una clave de Flatkey no se autenticará contra el endpoint directo de Gemini de Google.

Configuración directa de Gemini con el SDK de OpenAI

La capa de compatibilidad con OpenAI de Google te permite conservar la estructura del SDK de OpenAI para flujos de trabajo comunes de chat-completion. La diferencia importante es la configuración del 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": "Escribe una frase sobre el enrutamiento 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: "Escribe una frase sobre el enrutamiento 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": "Escribe una oración sobre el enrutamiento de modelos."}
    ]
  }'

Antes de ponerlo en producción, ejecuta client.models.list() o GET /openai/models contra la misma base URL. Eso detecta el error más común: copiar un ID de modelo antiguo de una entrada de blog y asumir que todavía existe para tu cuenta.

Configuración del router Flatkey para Gemini

Flatkey mantiene la estructura del SDK de OpenAI, pero la base URL y la clave cambian otra vez. Usas el router Flatkey y luego eliges un ID de modelo Gemini a partir de la respuesta de /v1/models de Flatkey o del Directorio de modelos en 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": "Escribe una oración sobre el enrutamiento 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: "Escribe una oración sobre el enrutamiento de modelos." },
  ],
});

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

En producción, no asumas que el ID de modelo directo de Google y el ID de modelo enroutado de Flatkey siempre serán idénticos. Trata la lista de modelos como la fuente de verdad para la cuenta a la que estás llamando.

Variables de entorno para mantener reversible el cambio

Una configuración limpia de base URL compatible con OpenAI de Gemini API y del router Flatkey debería facilitar la comparación entre pruebas directas y enroutadas sin editar el código de la aplicación.

# Gemini directo
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"

Luego selecciona la ruta desde la configuración:

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": "Devuelve exactamente: route ok"}],
)

Este patrón permite a un indie hacker probar primero Gemini directo, añadir Flatkey después y hacer rollback sin reescribir la ruta de la solicitud.

Lista de verificación de prueba rápida antes de mover tráfico

Check Gemini directo Router Flatkey
Autenticación Confirma que la clave de Gemini funciona solo contra el endpoint de Google. Confirma que la clave de Flatkey funciona solo contra router.flatkey.ai.
Lista de modelos Ejecuta client.models.list() contra la base URL de Gemini. Ejecuta client.models.list() contra Flatkey y filtra por IDs de Gemini.
Chat básico Envía una finalización de chat breve sin streaming. Envía el mismo prompt a través del modelo Gemini de Flatkey.
Streaming Prueba el streaming solo si tu app usa streaming. Prueba el streaming en el modelo exacto enroutado antes de habilitarlo para los usuarios.
Llamada a herramientas Prueba un pequeño esquema de función si tu app usa herramientas. Confirma que el modelo enroutado admite el comportamiento de herramientas que tu app espera.
Salida estructurada Valida la salida JSON real, no solo el estado 200. Valida el mismo esquema y el mismo comportamiento de reintento.
Revisión de uso Revisa el uso y los errores de Google en tu cuenta del proveedor. Revisa Flatkey Usage Logs para ver el modelo, los conteos de tokens, la latencia y el coste.

Compatible con OpenAI no significa que todas las funciones específicas del proveedor se comporten de forma idéntica. Significa que la forma de tu cliente puede mantenerse lo suficientemente cercana para los flujos de trabajo comunes del SDK. La prueba rápida debe cubrir las funciones de las que realmente depende tu app.

Errores comunes de base URL

Omitir /openai/ en la ruta directa de Gemini

Para llamadas directas de Gemini compatibles con OpenAI, usa:

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

No uses el endpoint nativo de Gemini generateContent con código de completado de chat del SDK de OpenAI. Los ejemplos nativos de la API de Gemini y los ejemplos compatibles con OpenAI tienen formas de solicitud diferentes.

Usar base_url en Node o baseURL en Python

La configuración del SDK de OpenAI en Python usa base_url. El SDK de JavaScript usa baseURL.

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

Tratar los IDs de modelo como permanentes

Los nombres de modelo cambian más rápido que el código de configuración del SDK. Para la ruta directa, consulta la documentación de modelos de Google o enumera los modelos a través del endpoint compatible con OpenAI de Gemini. Para Flatkey, consulta /v1/models y el Directorio de Modelos.

Omitir los registros

La primera respuesta exitosa no es el final de la configuración. Después de la primera solicitud de Flatkey, abre Usage Logs y verifica el modelo, los recuentos de tokens, la latencia y el costo. Eso hace que la Base URL compatible con OpenAI de Gemini API y la configuración del router Flatkey sean trazables operativamente, en lugar de solo correctas sintácticamente.

Cuándo Flatkey aporta valor

Flatkey es útil cuando Gemini es una ruta dentro de una pila de modelos más amplia. Por ejemplo:

  • Quieres Gemini, Claude, GPT, DeepSeek y Qwen detrás de una sola base URL compatible con OpenAI.
  • Estás probando el comportamiento de fallback del modelo y no quieres claves de proveedor separadas repartidas entre aplicaciones y agentes.
  • Necesitas un registro compartido de uso para IDs de modelo, recuentos de tokens, latencia y costo por solicitud.
  • Quieres que los desarrolladores cambien el parámetro de modelo sin cambiar el cliente del SDK.

Si tu aplicación solo va a llamar a Gemini, la configuración directa de Google puede ser suficiente. Si tu producto ya está comparando proveedores, el router Flatkey te ofrece una ruta de migración más limpia.

Enlaces internos que vale la pena mantener abiertos

Preguntas frecuentes

¿Cuál es la base URL oficial compatible con OpenAI de Gemini?

La base URL oficial compatible con OpenAI de Gemini es https://generativelanguage.googleapis.com/v1beta/openai/. Úsala con una clave API de Gemini, no con una clave de Flatkey.

¿Qué base URL debo usar para Gemini a través de Flatkey?

Usa https://router.flatkey.ai/v1 con una clave API de Flatkey. Luego elige un ID de modelo de Gemini a partir de la respuesta de /v1/models de Flatkey o del Directorio de Modelos en vivo.

¿Puedo usar el mismo ID de modelo de Gemini en ambos lugares?

A veces, pero no lo asumas. El proceso seguro es listar los modelos para la ruta exacta y la cuenta que estás usando, y luego fijar ese ID en la configuración.

¿Compatible con OpenAI significa paridad total de funciones?

No. Trata la compatibilidad con OpenAI como una conveniencia del SDK y del formato de la solicitud. Prueba el streaming, las herramientas, la salida estructurada, los archivos y las entradas multimodales en el modelo y la ruta exactos antes del despliegue en producción.

¿Un indie hacker debería empezar de forma directa o con Flatkey?

Empieza directo si solo estás comprobando que Gemini funciona. Empieza con Flatkey si la decisión real es qué modelo debe impulsar el producto, no si Gemini por sí solo puede responder al prompt.

En resumen

La Base URL compatible con OpenAI de Gemini API y la configuración del router Flatkey es sencilla cuando separas las dos rutas:

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

Mantén las claves separadas, enumera los modelos antes de llamar a chat completions, prueba las funciones que usa tu aplicación y verifica el uso después de la primera solicitud. Cuando estés listo para comparar Gemini con otros proveedores a través de una capa compatible con OpenAI, crea una clave de Flatkey y migra una carga de trabajo a la vez.