generateContent y streamGenerateContent.
Diferencias con Chat Completions API
Gemini Generate Content API utiliza el formato de solicitud nativo oficial de Google (el campocontents), 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 degemini-3.xes un modelo de razonamiento y primero consumirá reasoning tokens; configuragenerationConfig.maxOutputTokenspor encima de 512; de lo contrario, podría devolver solo contenido vacío.
usageMetadata se facturarán según la semántica nativa de Gemini:
promptTokenCountincluyecachedContentTokenCount; 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.promptTokensDetailsycacheTokensDetailsse normalizarán comotext_tokens,image_tokens,video_tokens,audio_tokensy los detallescached_*correspondientes bajousage.prompt_tokens_details. Estos valores se incluyen respectivamente enprompt_tokensycached_tokens; las distintas modalidades solo se recalculan según sus respectivos precios y no se facturan repetidamente.- Tanto
candidatesTokenCountcomothoughtsTokenCountse calculan según el precio de los tokens de salida. toolUsePromptTokenCountes un token de entrada de herramienta independiente y se calcula según el precio de los tokens de entrada.
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:
usageMetadata y usage normalizado, y el costo seguirá estando en usage.cost:
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 mediantesafetySettings:

