Cómo solicitar instrucciones con archivos multimedia


Ver en ai.google.dev Ejecutar en Google Colab Ver código fuente en GitHub

La API de Gemini admite solicitudes con datos de texto, imagen, audio y video, también conocidas como instrucciones multimodales, lo que significa que puedes incluir esos tipos de archivos multimedia en las instrucciones. Para archivos pequeños, puedes apuntar el modelo de Gemini directamente a un archivo local cuando proporciones una instrucción. Sube archivos más grandes con la API de File antes de incluirlos en las instrucciones.

La API de File te permite almacenar hasta 20 GB de archivos por proyecto, y cada archivo no supera los 2 GB de tamaño. Los archivos se almacenan durante 48 horas y se puede acceder a ellos con tu clave de API para generarlos dentro de ese período. Además, no se pueden descargar desde la API. La API de Files está disponible sin costo en todas las regiones donde está disponible la API de Gemini.

La API de File controla las entradas que se pueden usar para generar contenido con model.generateContent o model.streamGenerateContent. Para obtener información sobre formatos de archivo válidos (tipos MIME) y modelos compatibles, consulta Formatos de archivo compatibles.

En esta guía, se muestra cómo usar la API de File para subir archivos multimedia y, luego, incluirlos en una llamada GenerateContent a la API de Gemini. Para obtener más información, consulta las muestras de código.

Formatos de archivo compatibles

Los modelos de Gemini admiten instrucciones con varios formatos de archivo. En esta sección, se explican las consideraciones sobre el uso de formatos multimedia generales para el uso de instrucciones, específicamente archivos de imagen, audio, video y texto sin formato. Puedes usar archivos multimedia para enviar instrucciones solo con versiones específicas de modelos, como se muestra en la siguiente tabla.

Modelo Imágenes Audio Video Texto sin formato
Gemini 1.5 Pro (versión 008 y posteriores) ✔ (máx. 3,600 archivos de imagen)
Gemini Pro Vision ✔ (16 archivos de imagen como máximo)

Formatos de imagen

Puedes usar datos de imagen para enviar instrucciones con los modelos gemini-pro-vision y gemini-1.5-pro. Cuando usas imágenes para las instrucciones, están sujetas a las siguientes limitaciones y requisitos:

  • Las imágenes deben estar en uno de los siguientes tipos de MIME de datos de imagen:
    • PNG: image/png
    • JPEG: image/jpeg
    • WEBP: image/webp
    • HEIC: image/heic
    • HEIF: image/heif
  • Un máximo de 16 imágenes individuales para las imágenes de gemini-pro-vision y las de 3600 para gemini-1.5-pro
  • No hay límites específicos para la cantidad de píxeles de una imagen. Sin embargo, las imágenes más grandes se reducen para ajustarse a una resolución máxima de 3,072 x 3,072 y, al mismo tiempo, preservar su relación de aspecto original.

Formatos de audio

Puedes usar datos de audio para realizar instrucciones con el modelo gemini-1.5-pro. Cuando usas audio para las instrucciones, están sujetos a las siguientes limitaciones y requisitos:

  • Los datos de audio son compatibles con los siguientes tipos de MIME de formato de audio común:
    • WAV: Audio/wav
    • MP3 - Audio/mp3
    • AIFF: Audio/aiff
    • AAC: Audio/aac
    • OGG Vorbis - audio/ogg
    • FLAC: audio/flac
  • La duración máxima admitida de datos de audio en un solo mensaje es de 9.5 horas.
  • Los archivos de audio se vuelven a muestrear con una resolución de datos de 16 Kbps, y varios canales de audio se combinan en un solo canal.
  • No hay un límite específico para la cantidad de archivos de audio en una sola instrucción. Sin embargo, la duración total combinada de todos los archivos de audio en una misma instrucción no puede superar las 9.5 horas.

Formatos de video

Puedes usar datos de video para crear instrucciones con el modelo gemini-1.5-pro.

  • Los datos de video son compatibles con los siguientes tipos de MIME de video común:

    • video/mp4
    • video/mpeg
    • video/movimiento
    • video/aviso
    • video/x-flv
    • video/mpg
    • Video/WebM
    • video/wmv
    • video/3gpp
  • El servicio de File API hace muestras de videos en imágenes a 1 fotograma por segundo (FPS) y puede estar sujeto a cambios para proporcionar la mejor calidad de inferencia. Las imágenes individuales ocupan 258 tokens, independientemente de la resolución y calidad.

Formatos de texto sin formato

La API de File admite la carga de archivos de texto sin formato con los siguientes tipos de MIME:

  • text/plain
  • text/html
  • text/css
  • text/javascript
  • application/x-javascript
  • texto/texto-tipo-x
  • aplicación/X-typescript
  • texto/csv
  • texto/markdown
  • texto/x-python
  • application/x-python-code
  • application/json
  • text/xml
  • aplicación/rtf
  • texto/rtf

Para los archivos de texto sin formato con un tipo de MIME que no está en la lista, puedes intentar especificar uno de los tipos de MIME anteriores de forma manual.