Skip to main content
Google Gemini es un sistema de conversación de IA muy potente que puede generar respuestas fluidas y naturales en segundos mediante la introducción de indicaciones. Este documento describe principalmente cómo usar Gemini Generate Content API, que es el formato de API nativo oficial de Google y admite los dos endpoints generateContent y streamGenerateContent.

Diferencias con Chat Completions API

Gemini Generate Content API utiliza el formato de solicitud nativo oficial de Google (el campo contents), en lugar del formato compatible con OpenAI (el campo messages). Si ya utilizas Google Gemini SDK o estás familiarizado con el formato oficial de la API, puedes usar directamente esta API sin modificar el formato de solicitud.

Alcance de soporte actual

La interfaz acepta entradas de texto, imágenes, video y audio (inlineData o fileData), configuración de razonamiento y declaraciones de funciones personalizadas. Los campos nativos como salida de audio, herramientas integradas y caché de contexto explícita aún no tienen una garantía de disponibilidad unificada; consulta el retorno real del modelo específico. Al enviar archivos como audio mediante fileData.fileUri, asegúrate de que el archivo sea accesible directamente a través de HTTPS, no dependa de un estado de inicio de sesión y que el período de validez del enlace firmado cubra todo el tiempo de procesamiento de la solicitud. El análisis de audio no fluido solo devuelve resultados después de que el modelo completa el procesamiento, y puede superar los 90 segundos; el cliente debe configurar un tiempo de espera total suficientemente largo según el tamaño del archivo y el escenario de negocio, para evitar desconectarse mientras el servidor aún está procesando.

Proceso de solicitud

Antes de utilizar Gemini Generate Content API, visita primero la página Gemini Generate Content API y haz clic en el botón “Obtener” para obtener las credenciales necesarias para la solicitud. Si aún no has iniciado sesión o no te has registrado, serás redirigido automáticamente a la página de inicio de sesión. La primera solicitud tendrá cuota gratuita.

Uso básico

Non-Streaming(no fluido)

Envía una solicitud POST a /v1beta/models/{model}:generateContent:
Nota:la serie flash de gemini-3.x es un modelo de razonamiento y primero consumirá reasoning tokens; configura generationConfig.maxOutputTokens por encima de 512; de lo contrario, podría devolver solo contenido vacío.
Ejemplo de resultado devuelto:
Los campos de token en usageMetadata se facturarán según la semántica nativa de Gemini:
  • promptTokenCount incluye cachedContentTokenCount; la parte alcanzada por la caché se calcula según el precio de lectura de caché y no se vuelve a contabilizar como entrada normal.
  • promptTokensDetails y cacheTokensDetails se normalizarán como text_tokens, image_tokens, video_tokens, audio_tokens y los detalles cached_* correspondientes bajo usage.prompt_tokens_details. Estos valores se incluyen respectivamente en prompt_tokens y cached_tokens; las distintas modalidades solo se recalculan según sus respectivos precios y no se facturan repetidamente.
  • Tanto candidatesTokenCount como thoughtsTokenCount se calculan según el precio de los tokens de salida.
  • toolUsePromptTokenCount es un token de entrada de herramienta independiente y se calcula según el precio de los tokens de entrada.
Ace Data Cloud devuelve adicionalmente un objeto usage normalizado; entre protocolos de modelos, el costo de esta llamada se lee de forma unificada desde usage.cost. cost es una vista previa de costo opcional; cuando la vista previa de precios no está disponible temporalmente, la respuesta del modelo seguirá devolviéndose normalmente, pero es posible que no incluya este campo. La facturación final se basará en los registros de uso.

Streaming(fluido)

Envía una solicitud POST a /v1beta/models/{model}:streamGenerateContent?alt=sse:
La respuesta fluida devolverá gradualmente contenido en formato SSE(Server-Sent Events). Los eventos intermedios normalmente solo contienen contenido incremental; el evento final que contiene el uso autoritativo incluirá usageMetadata y usage normalizado, y el costo seguirá estando en usage.cost:
El cierre de la conexión indica el final del flujo; el flujo nativo de Gemini no enviará data: [DONE]. Si la vista previa de precios final no está disponible temporalmente, usage seguirá devolviendo el uso de tokens, pero omitirá cost.

Modelos compatibles

Funciones avanzadas

Instrucciones del sistema

Configuración de generación

Modo JSON

Modo de pensamiento (Thinking)

Los modelos compatibles con la función de pensamiento (como gemini-2.5-flash y gemini-2.5-pro) pueden habilitar el modo de pensamiento:

Llamada a funciones

Conversación de múltiples turnos

Comprensión de imágenes

Configuración de seguridad

El filtrado de contenido puede controlarse mediante safetySettings:

Manejo de errores