Información sobre el audio

Gemini puede responder a peticiones sobre audio. Puedes añadir audio a las peticiones de Gemini para que realice tareas que impliquen comprender el contenido del audio incluido. Por ejemplo, Gemini puede hacer lo siguiente:

  • Describe, resume o responde a preguntas sobre contenido de audio.
  • Proporciona una transcripción del audio.
  • Proporcionar respuestas o una transcripción sobre un segmento específico del audio.

La comprensión de audio es una de las entradas multimodales de Gemini que combina texto con archivos multimedia.

Para obtener más información sobre la comprensión de audio con Gemini e instrucciones paso a paso para enviar solicitudes a la API, consulta Enviar una petición multimodal.

Especificaciones de las peticiones con audio

Puedes añadir archivos de audio a tu petición a Gemini. La duración máxima admitida de los datos de audio en una sola petición es de 15 minutos o hasta 32.000 tokens. Gemini no limita el número de archivos de audio en una sola petición, pero la duración total combinada de todos los archivos de audio en una sola petición no puede superar los 15 minutos.

Gemini puede entender la voz para resumir, transcribir y traducir audio.

El audio debe estar en uno de los siguientes tipos MIME de formato de audio:

  • AAC: audio/aac
  • AIF: audio/aiff
  • FLAC: audio/flac
  • MP3: audio/mp3
  • OGG: audio/ogg
  • WAV: audio/wav

Gemini impone las siguientes reglas al audio:

  • Representa cada segundo de audio como 25 tokens. Por ejemplo, un minuto de audio se representa como 1500 tokens.
  • Solo infiere respuestas a la voz en inglés.
  • Analiza los componentes no verbales, como el canto de los pájaros o las sirenas.
  • Muestrea archivos de audio con una resolución de datos de 16 Kbps. Si la fuente de audio contiene varios canales, Gemini los combina en un solo canal.

Puedes usar el endpoint Chat Completions en la API REST y usar un cliente HTTP o los SDKs oficiales de OpenAI para Python. Puedes proporcionar el audio como datos insertados en la solicitud de petición como un archivo codificado en base64 o subir el archivo de audio a un contenedor de almacenamiento antes de enviar la solicitud de petición.

Consulta más información sobre las limitaciones del audio en la Google Cloud documentación.

Para obtener más información sobre OpenAI y el endpoint Chat Completions que Gemini implementa en la configuración con air gap de Google Distributed Cloud (GDC), consulta https://platform.openai.com/docs/api-reference/chat.

Interpretar el audio de una petición

En los siguientes ejemplos se muestra una solicitud a la API Completions de Gemini Chat para generar texto a partir de una entrada de texto y audio mediante los SDKs oficiales de OpenAI para Python o curl. Puedes enviar audio como datos insertados o proporcionar una URL de audio en la solicitud.

Enviar solicitudes de datos insertados

Proporciona audio como datos insertados en la solicitud de la petición a partir de archivos codificados en base64. La solicitud de la API contiene el campo input_audio para el audio codificado en base64. En el siguiente ejemplo se muestra cómo enviar solicitudes de audio codificado en Base64:

Python

import openai

client = openai.OpenAI()
model_response = client.chat.completions.create(
  model = "MODEL_ID",
  messages =  [
                {
                  "role": "user",
                  "content": "Show me the lyrics of this song."
                },
                {
                  "role": "user",
                  "content": [
                    {
                      "type": "input_audio",
                      "input_audio": {
                        "data": BASE64_DATA,
                        # Valid formats are aac, aiff, flac, mp3, ogg, or wav
                        "format": "mp3"
                      }
                    }
                  ]
                }
              ]
)

print(model_response)

Haz los cambios siguientes:

  • MODEL_ID: el ID del endpoint del modelo con el que quieres generar la respuesta.
  • BASE64_DATA: los datos codificados en base64 del archivo de audio. Los datos codificados en Base64 deben ir precedidos de un esquema de URI de datos, RFC 2397. Por lo tanto, el formato del campo data de los datos codificados en base64 es, por ejemplo, "data": f"data:audio/mp3;base64,{base64_audio}".

curl

curl \
  -X POST "https://ENDPOINT:443/v1/projects/PROJECT/locations/PROJECT/chat/completions" \
  -H "Content-Type: application/json; charset=utf-8" \
  -H "Authorization: Bearer $(gdcloud auth print-identity-token)" \
  -d  '{
          "model_id": "MODEL_ID",
          "messages": [
            {
              "role": "user",
              "content": "Show me the lyrics of this song."
            },
            {
              "role": "user",
              "content": [
                {
                  "type": "input_audio",
                  "input_audio": {
                    "data": BASE64_DATA,
                    # Valid formats are aac, aiff, flac, mp3, ogg, or wav
                    "format": "mp3"
                  }
                }
              ]
            }
          ],
      }'

Haz los cambios siguientes:

  • ENDPOINT: el endpoint de la API que usas en tu organización.
  • PROJECT: tu ID de proyecto.
  • MODEL_ID: el ID del endpoint del modelo con el que quieres generar la respuesta.
  • BASE64_DATA: los datos codificados en base64 del archivo de audio. Los datos codificados en Base64 deben ir precedidos de un esquema de URI de datos, RFC 2397. Por lo tanto, el formato del campo data de los datos codificados en base64 es, por ejemplo, "data": f"data:audio/mp3;base64,{base64_audio}".

Enviar URLs de audio en la solicitud

Sube el archivo de audio a un contenedor de almacenamiento antes de hacer la solicitud de petición. La solicitud de la API contiene el campo audio_url para los archivos de audio de los segmentos de almacenamiento. En el siguiente ejemplo se muestra cómo enviar solicitudes de URL de audio:

curl \
  -X POST "https://ENDPOINT:443/v1/projects/PROJECT/locations/PROJECT/chat/completions" \
  -H "Content-Type: application/json; charset=utf-8" \
  -H "Authorization: Bearer $(gdcloud auth print-identity-token)" \
  -d  '{
          "model_id": "MODEL_ID",
          "messages": [
            {
              "role": "user",
              "content": "Show me the lyrics of this song."
            },
            {
              "role": "user",
              "content": [
                {
                  "type": "audio_url",
                  "audio_url": {
                    "url": "AUDIO_URL",
                  }
                }
              ]
            }
          ],
      }'

Haz los cambios siguientes:

  • ENDPOINT: el endpoint de la API que usas en tu organización.
  • PROJECT: tu ID de proyecto.
  • MODEL_ID: el ID del endpoint del modelo con el que quieres generar la respuesta.
  • AUDIO_URL: la ruta a una URL de audio en un contenedor de almacenamiento. Las URLs de audio deben hacer referencia a archivos de audio almacenados en un segmento de almacenamiento de GDC. Para obtener más información, consulta Almacenar datos.

Siguientes pasos