Entender áudio

O Gemini pode responder a comandos sobre áudio. É possível adicionar áudio às solicitações do Gemini para realizar tarefas que envolvem entender o conteúdo do áudio incluído. Por exemplo, o Gemini pode fazer o seguinte:

  • Descrever, resumir ou responder a perguntas sobre conteúdo de áudio.
  • Forneça uma transcrição do áudio.
  • Fornecer respostas ou uma transcrição sobre um segmento específico do áudio.

O entendimento de áudio é uma das entradas multimodais do Gemini que combinam texto com arquivos de mídia.

Para mais informações sobre o entendimento de áudio com o Gemini e instruções detalhadas para enviar solicitações de API, consulte Enviar um comando multimodal.

Especificações para comandos com áudio

É possível adicionar arquivos de áudio à sua solicitação para o Gemini. A duração máxima aceita de dados de áudio em uma única solicitação é de 15 minutos ou até 32.000 tokens. O Gemini não limita o número de arquivos de áudio em um único comando, mas a duração total combinada de todos os arquivos de áudio em um único comando não pode exceder 15 minutos.

O Gemini pode entender a fala para resumo, transcrição e tradução de áudio.

O áudio precisa estar em um dos seguintes tipos MIME de formato de áudio:

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

O Gemini impõe as seguintes regras ao áudio:

  • Represente cada segundo de áudio como 25 tokens. Por exemplo, um minuto de áudio é representado como 1.500 tokens.
  • Inferir respostas apenas para fala em inglês.
  • Analisar componentes que não são de fala, como cantos de pássaros ou sirenes.
  • Faça a amostragem de arquivos de áudio para uma resolução de dados de 16 Kbps. Se a fonte de áudio tiver vários canais, o Gemini vai combiná-los em um só.

É possível usar o endpoint Chat Completions na API REST e um cliente HTTP ou os SDKs oficiais da OpenAI para Python. É possível fornecer o áudio como dados inline para a solicitação de comando como um arquivo codificado em base64 ou fazer upload do arquivo de áudio para um bucket de armazenamento antes de fazer a solicitação de comando.

Saiba mais sobre as limitações de áudio na documentação do Google Cloud .

Para saber mais sobre a OpenAI e o endpoint Chat Completions que o Gemini implementa no Google Distributed Cloud (GDC) isolado, consulte https://platform.openai.com/docs/api-reference/chat.

Entender áudio de um comando

Os exemplos a seguir mostram uma solicitação da API Gemini Chat Completions para gerar texto com base em entradas de texto e áudio usando os SDKs oficiais da OpenAI para Python ou curl. Você pode enviar áudio como dados in-line ou fornecer um URL de áudio na solicitação.

Enviar solicitações de dados in-line

Forneça áudio como dados in-line para a solicitação de comando de arquivos codificados em base64. A solicitação de API contém o campo input_audio para áudio codificado em base64. O exemplo a seguir mostra como enviar solicitações de áudio codificadas em 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)

Substitua:

  • MODEL_ID: o ID do endpoint do modelo que você quer usar para gerar a resposta.
  • BASE64_DATA: os dados codificados em base64 do arquivo de áudio. Os dados codificados em base64 precisam ter um prefixo com um esquema de URI de dados, RFC 2397. Portanto, o formato do campo data para dados codificados em base64 é, por exemplo, "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"
                  }
                }
              ]
            }
          ],
      }'

Substitua:

  • ENDPOINT: o endpoint de API que você usa na sua organização.
  • PROJECT: o ID do projeto.
  • MODEL_ID: o ID do endpoint do modelo que você quer usar para gerar a resposta.
  • BASE64_DATA: os dados codificados em base64 do arquivo de áudio. Os dados codificados em base64 precisam ter um prefixo com um esquema de URI de dados, RFC 2397. Portanto, o formato do campo data para dados codificados em base64 é, por exemplo, "data": f"data:audio/mp3;base64,{base64_audio}".

Enviar URLs de áudio na solicitação

Faça upload do arquivo de áudio para um bucket de armazenamento antes de fazer a solicitação de comando. A solicitação da API contém o campo audio_url para arquivos de áudio em buckets de armazenamento. O exemplo a seguir mostra como enviar solicitações de URL de áudio:

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",
                  }
                }
              ]
            }
          ],
      }'

Substitua:

  • ENDPOINT: o endpoint de API que você usa na sua organização.
  • PROJECT: o ID do projeto.
  • MODEL_ID: o ID do endpoint do modelo que você quer usar para gerar a resposta.
  • AUDIO_URL: o caminho para um URL de áudio em um bucket de armazenamento. Os URLs de áudio precisam se referir a arquivos de áudio armazenados em um bucket de armazenamento do GDC. Para mais informações, consulte Armazenar dados.

A seguir