Saltar al contenido principal

Reenvío para los modelos de Gemini

Para la serie Gemini, ofrecemos dos métodos de invocación: llamadas a la API nativa y llamadas compatibles con OpenAI.
Antes de empezar, asegúrate de instalar o actualizar la dependencia nativa ejecutando pip install google-genai o pip install -U google-genai.
1️⃣ Para la integración nativa, Gemini se encarga automáticamente de enrutar el tráfico entre AI Studio y VertexAI. Solo tienes que proporcionar tu clave API de AIHubMix y la URL de solicitud adecuada. Recuerda que esta URL es diferente del habitual base_url; sigue el ejemplo a continuación para asegurar una configuración correcta.
2️⃣ Para los formatos compatibles con OpenAI, mantén el endpoint universal v1.
3️⃣ Para la serie 2.5, si necesitas mostrar el proceso de razonamiento, hay dos formas de hacerlo:
  1. Invocación nativa: Pasa include_thoughts=True
  2. Método compatible con OpenAI: Pasa reasoning_effort
Puedes consultar los ejemplos de código a continuación para conocer el uso detallado.

Instrucciones de la vista previa de imágenes con Gemini 3 Pro

Gemini 3 Pro Image Preview (Nano Banana Pro Preview) está diseñado para la creación de recursos profesionales e instrucciones complejas. Este modelo ofrece las siguientes funciones:
  • Usa Google Search para recuperar conocimiento del mundo en tiempo real
  • Proceso de “razonamiento” integrado (optimiza la composición antes de generar)
  • Puede generar imágenes con resoluciones de hasta 4K
Modo de streaming (stream=True) → solo la etapa de razonamiento
Modo sin streaming (stream=False) → generación final de la imagen
Las imágenes generadas no se incluyen en las respuestas en streaming y deben recuperarse mediante una solicitud sin streaming .
Ejemplos de uso en Python:

Acerca de los modelos de inferencia de Gemini 2.5

  1. Toda la serie 2.5 está formada por modelos de inferencia.
  2. 2.5 Flash es un modelo híbrido, similar a Claude Sonnet 3.7. Puedes afinar su comportamiento de razonamiento ajustando el parámetro thinking_budget para un control óptimo.
  3. 2.5 Pro es un modelo de inferencia puro. El razonamiento no se puede desactivar y thinking_budget no debe establecerse explícitamente.
Ejemplos de uso en Python:

Gemini 2.5 Flash: Soporte para tareas rápidas

Ejemplo de invocación compatible con OpenAI:
  1. Para tareas complejas, basta con establecer el ID de modelo en el predeterminado gemini-2.5-flash-preview-04-17 para activar el razonamiento.
  2. Gemini 2.5 Flash usa el parámetro budget para controlar la profundidad del razonamiento, en un rango de 0 a 16K. El presupuesto predeterminado es 1024 y el efecto marginal óptimo se obtiene con 16K.

Comprensión multimedia

  • Para los archivos multimedia inferiores a 20 MB (imágenes, audio, vídeo), súbelos usando inline_data.
  • Cuando el archivo multimedia es mayor de 20 MB, debes usar la Files API.

Archivos menores de 20 MB

Añadiendo el parámetro EDIARESOLUTION_MEDIUM puedes ajustar la resolución de la imagen, lo que reduce considerablemente los costos de entrada y minimiza el riesgo de errores con imágenes grandes.Valores admitidos para la resolución multimedia:
Ejemplos de uso en Python:

Files API

Gemini puede gestionar simultáneamente varios tipos de datos de entrada, incluidos texto, imágenes y audio. Cuando el tamaño total de la solicitud (incluidos archivos, prompts de texto, comandos del sistema, etc.) supere los 20 MB, asegúrate de usar la Files API.
  • No se admite listar los archivos subidos.
  • Los archivos se eliminarán automáticamente después de 48 horas, o puedes eliminar manualmente los archivos subidos.
Ejemplos de uso en Python:

Ejecución de código

La función de ejecución de código permite al modelo generar y ejecutar código Python y aprender de los resultados de manera iterativa hasta llegar a una salida final. Puedes usar esta capacidad para construir aplicaciones que se beneficien del razonamiento basado en código y que produzcan salida de texto. Por ejemplo, podrías usar la ejecución de código en una aplicación que resuelva ecuaciones o procese texto.
Python

Interactions API

Interactions es la interfaz de inferencia de nueva generacion de Gemini. Devuelve objetos Interaction estructurados y admite generacion de texto, generacion nativa de imagenes (Nano Banana) y razonamiento en multiples pasos. Actualmente se admite el modo sincrono (interactions.create()); el modo asincrono (Background Interactions) estara disponible proximamente.
Requisito de version del SDK: @google/genai >= 2.0.0 (JS/TS) o google-genai >= 2.0.0 (Python). Las versiones anteriores del SDK seran rechazadas por el backend de Google (legacy Interactions schema no longer supported).

Generacion de texto

Llama a interactions.create() para iniciar una inferencia. El objeto Interaction devuelto proporciona la propiedad de conveniencia output_text.

Generacion nativa de imagenes

Configura la modalidad de salida como imagen mediante response_format. El objeto Interaction devuelto proporciona la propiedad de conveniencia output_image.
  • Modelo recomendado: gemini-3.1-flash-image (Nano Banana 2, modelo universal de generacion de imagenes).
  • Los valores de response_modalities deben estar en minusculas: ['text', 'image']; las mayusculas son la sintaxis de la API generateContent y devuelven un 400 en la Interactions API.
  • No envies delivery: 'inline' (400 Image delivery mode is not supported) — los resultados se devuelven en modo inline por defecto.

Salida en streaming

Pasa stream: true para habilitar streaming SSE. El texto incremental se obtiene mediante event.delta.text.
JavaScript
La guia completa de integracion con el SDK (incluyendo Embeddings, CRUD de cache explicito, matriz de capacidades, etc.) esta disponible en Integracion con SDK nativo de Gemini.

Caché de contexto

La API nativa de Gemini habilita la caché de contexto implícita por defecto: no se requiere configuración. Para cada solicitud de generate_content, el sistema almacena automáticamente en caché el contenido de entrada. Si una solicitud posterior utiliza exactamente el mismo contenido, modelo y parámetros, el sistema devolverá al instante el resultado previo, acelerando enormemente el tiempo de respuesta y reduciendo potencialmente los costos de tokens de entrada.
  • El almacenamiento en caché es automático; no se necesita configuración manual.
  • La caché solo se acierta cuando el contenido, el modelo y todos los parámetros son exactamente iguales; cualquier diferencia resultará en un fallo de caché.
  • La duración de la caché (TTL) puede ser establecida por el desarrollador o dejarse sin definir (por defecto, 1 hora). Google no impone un TTL mínimo ni máximo. Los costos dependen del número de tokens en caché y de la duración de la caché.
    • Aunque Google no impone restricciones al TTL, como plataforma de reenvío, solo admitimos un rango limitado de TTL. Para requisitos que excedan los límites de nuestra plataforma, contáctanos.

Notas

  • No se garantizan ahorros de costo: Los tokens en caché se facturan al 25 % del precio estándar de entrada, por lo que, teóricamente, el almacenamiento en caché puede ahorrarte hasta el 75 % en costos de tokens de entrada. Sin embargo, la documentación oficial de Google no garantiza el ahorro de costos; el efecto real depende de tu tasa de aciertos de caché, los tipos de tokens y la duración del almacenamiento.
  • Condiciones de acierto de caché: Para maximizar la eficacia de la caché, coloca el contexto repetible al principio de tu entrada y el contenido dinámico (como la entrada del usuario) al final.
  • Cómo detectar aciertos de caché: Si una respuesta proviene de la caché, response.usage_metadata incluirá el campo cache_tokens_details y cached_content_token_count. Puedes usarlos para determinar el uso de la caché.
    Ejemplo de campos cuando se produce un acierto de caché:
Ejemplo de código:
Cuando se produce un acierto de caché, response.usage_metadata contendrá:
Conclusión clave: La caché implícita es automática y ofrece comentarios claros sobre los aciertos de caché. Los desarrolladores pueden comprobar usage_metadata para conocer el estado de la caché. No se garantizan ahorros de costos: el beneficio real depende de la estructura de la solicitud y de las tasas de acierto de la caché.

Llamadas a funciones (Function calling)

Al usar la forma compatible con OpenAI para invocar las llamadas a funciones de Gemini, debes pasar tool_choice="auto" en el cuerpo de la solicitud; de lo contrario, se producirá un error.
Ejemplo de salida:

Seguimiento sencillo del uso de tokens

  1. Gemini realiza el seguimiento del uso de tokens mediante usage_metadata. Esto es lo que significa cada campo:
    • prompt_token_count: número de tokens de entrada
    • candidates_token_count: número de tokens de salida
    • thoughts_token_count: tokens utilizados durante el razonamiento (también se cuentan como salida)
    • total_token_count: total de tokens utilizados (entrada + salida)
    Para más detalles, consulta su documentación oficial.
  2. Para las API que usan el formato compatible con OpenAI, el uso de tokens se rastrea en .usage con los siguientes campos:
    • usage.completion_tokens: número de tokens de entrada
    • usage.prompt_tokens: número de tokens de salida (incluido el razonamiento)
    • usage.total_tokens: uso total de tokens

A continuación, cómo usarlo en código:

Última actualización: 2026-07-07