Comprensión de audio

Gemini puede responder a instrucciones sobre audio. Puedes agregar audio a las solicitudes de Gemini para realizar tareas que impliquen comprender el contenido del audio incluido. Por ejemplo, Gemini puede hacer lo siguiente:

  • Describir, resumir o responder preguntas sobre el 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 combinan texto con archivos multimedia.

Para obtener más información sobre la comprensión de audio con Gemini y las instrucciones paso a paso para enviar solicitudes a la API, consulta Envía una instrucción multimodal.

Especificaciones para las instrucciones con audio

Puedes agregar archivos de audio a tu solicitud a Gemini. La duración máxima admitida de los datos de audio en una sola instrucción es de 15 minutos o hasta 32,000 tokens. Gemini no limita la cantidad de archivos de audio en una sola instrucción, pero la duración total combinada de todos los archivos de audio en una sola instrucción no puede superar los 15 minutos.

Gemini puede comprender el habla para el resumen, la transcripción y la traducción de audio.

El audio debe estar en uno de los siguientes tipos de 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 sobre el audio:

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

Puedes usar el endpoint de Chat Completions en la API de REST y usar un cliente HTTP o los SDKs oficiales de OpenAI para Python. Puedes proporcionar el audio como datos intercalados en la solicitud de instrucción como un archivo codificado en Base64 o subir el archivo de audio a un bucket de almacenamiento antes de realizar la solicitud de instrucción.

Obtén más información sobre las limitaciones de audio en la documentación de Google Cloud .

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

Comprende el audio a partir de una instrucción

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

Envía solicitudes de datos intercalados

Proporciona audio como datos intercalados en la solicitud de instrucciones a partir de archivos codificados en base64. La solicitud a 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 codificadas 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)

Reemplaza lo siguiente:

  • MODEL_ID: Es el ID del extremo del modelo con el que deseas generar la respuesta.
  • BASE64_DATA: Son los datos codificados en Base64 del archivo de audio. Los datos codificados en Base64 deben tener el prefijo de un esquema de URI de datos, RFC 2397. Por lo tanto, el formato del campo data para 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"
                  }
                }
              ]
            }
          ],
      }'

Reemplaza lo siguiente:

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

Envía URLs de audio en la solicitud

Sube el archivo de audio a un bucket de almacenamiento antes de realizar la solicitud de instrucción. La solicitud a la API contiene el campo audio_url para los archivos de audio en buckets de almacenamiento. En el siguiente ejemplo, se muestra cómo enviar solicitudes de URLs 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",
                  }
                }
              ]
            }
          ],
      }'

Reemplaza lo siguiente:

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

¿Qué sigue?