Entender vídeos

O Gemini pode responder a comandos sobre vídeos. É possível adicionar vídeos às solicitações do Gemini para realizar tarefas que envolvem entender o conteúdo do vídeo incluído.

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

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

Especificações para solicitações com vídeo

É possível adicionar arquivos de vídeo à sua solicitação para o Gemini. A duração máxima de dados de vídeo depende de se o vídeo contém áudio. O Gemini é compatível com as seguintes durações máximas de vídeo:

  • Vídeo com áudio: 100 segundos
  • Vídeo sem áudio: 120 segundos

O número máximo de arquivos de vídeo permitidos em uma solicitação de comando é 10.

Os vídeos precisam estar em um dos seguintes tipos MIME compatíveis:

  • AVI: video/avi
  • FLV: video/x-flv
  • MOV: video/mov
  • MPEG: video/mpeg
  • MPG: video/mpg
  • MP4: video/mp4
  • WEBM: video/webm
  • WMV: video/wmv
  • 3GP: video/3gpp

O Gemini impõe as seguintes regras aos vídeos:

  • As amostras dos vídeos são feitas a um quadro por segundo (fps). Cada frame de vídeo representa 258 tokens.
  • A faixa de áudio é codificada com frames de vídeo e dividida em entroncamentos de um segundo, cada um representando 32 tokens. O frame de vídeo e os tokens de áudio são intercalados com os respectivos carimbos de data/hora, que são representados por sete tokens.
  • Se o comando contiver um único vídeo, coloque o vídeo antes do comando de texto.

É possível usar o endpoint Chat Completions na API REST e um cliente HTTP. É possível fornecer o vídeo como dados inline na solicitação de comando como um arquivo codificado em base64 ou fazer upload do arquivo de vídeo para um bucket de armazenamento antes de fazer a solicitação de comando.

Saiba mais sobre as práticas recomendadas e limitações para vídeos 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 um vídeo com base em um comando

Os exemplos a seguir mostram uma solicitação da API Gemini Chat Completions para gerar texto de uma entrada de vídeo usando curl.

Enviar solicitações de dados in-line

Forneça o vídeo 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_video para vídeo codificado em base64. O exemplo a seguir mostra como enviar solicitações de vídeo codificadas em base64:

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": [
            {
              "type": "input_video",
              "input_video": {
                "data": BASE64_DATA,
                # Valid formats are avi, flv, mov, mpeg, mpg, mp4, webm, wmv, or 3gpp
                "format": "wmv"
              }
            }
          ]
        }
      ],
    }'

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 vídeo. 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:video/wmv;base64,{base64_video}".

Enviar URLs de vídeo na solicitação

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

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": [
            {
              "type": "video_url",
              "video_url": {
                "url": "VIDEO_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.
  • VIDEO_URL: o caminho para um URL de vídeo em um bucket de armazenamento. Os URLs de vídeo precisam se referir a arquivos de vídeo armazenados em um bucket de armazenamento do GDC. Para mais informações, consulte Armazenar dados.

A seguir