Compreenda vídeos

O Gemini pode responder a comandos sobre vídeos. Pode adicionar vídeo a pedidos do Gemini para realizar tarefas que envolvam a compreensão do conteúdo do vídeo incluído.

A compreensão de vídeo é uma das entradas multimodais do Gemini que combinam texto com ficheiros multimédia.

Para mais informações sobre a compreensão de vídeos com o Gemini e instruções passo a passo para enviar pedidos de API, consulte Enviar um comando multimodal.

Especificações para comandos com vídeo

Pode adicionar ficheiros de vídeo ao seu pedido ao Gemini. A duração máxima suportada dos dados de vídeo depende de se o vídeo contém áudio. O Gemini suporta as seguintes durações máximas de vídeos:

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

O número máximo de ficheiros de vídeo permitidos num pedido de comando é 10.

Os vídeos têm de estar num dos seguintes tipos MIME suportados:

  • 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:

  • Os vídeos são amostrados a um frame por segundo (fps). Cada frame de vídeo representa 258 tokens.
  • A faixa de áudio é codificada com frames de vídeo e dividida em segmentos de um segundo, cada um com 32 tokens. Os frames de vídeo e os tokens de áudio são intercalados com as respetivas indicações de tempo, que são representadas por sete tokens.
  • Se o comando contiver um único vídeo, coloque o vídeo antes do comando de texto.

Pode usar o ponto final Chat Completions na API REST e usar um cliente HTTP. Pode fornecer o vídeo como dados inline ao pedido de comando como um ficheiro codificado em base64 ou carregar o ficheiro de vídeo para um contentor de armazenamento antes de fazer o pedido de comando.

Saiba mais sobre as práticas recomendadas e as limitações para vídeos na Google Cloud documentação.

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

Compreenda vídeos a partir de um comando

Os exemplos seguintes mostram um pedido da API Gemini Chat Completions para gerar texto a partir da entrada de vídeo com curl.

Envie pedidos de dados em linha

Forneça vídeo como dados inline ao pedido de comando a partir de ficheiros codificados em base64. O pedido da API contém o campo input_video para vídeo codificado em base64. O exemplo seguinte mostra como enviar pedidos de vídeo codificados 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 o seguinte:

  • ENDPOINT: o ponto final da API que usa para a sua organização.
  • PROJECT: o ID do seu projeto.
  • MODEL_ID: o ID do ponto final do modelo para o qual quer gerar a resposta.
  • BASE64_DATA: os dados codificados em base64 do ficheiro de vídeo. Os dados codificados em Base64 têm de ter o prefixo de um esquema de URI de dados, RFC 2397. Por conseguinte, o formato do campo data para dados codificados em base64 é, por exemplo, "data": f"data:video/wmv;base64,{base64_video}".

Envie os URLs dos vídeos na solicitação

Carregue o ficheiro de vídeo para um contentor de armazenamento antes de fazer o pedido de comando. O pedido da API contém o campo video_url para ficheiros de vídeo em contentores de armazenamento. O exemplo seguinte mostra como enviar pedidos 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 o seguinte:

  • ENDPOINT: o ponto final da API que usa para a sua organização.
  • PROJECT: o ID do seu projeto.
  • MODEL_ID: o ID do ponto final do modelo para o qual quer gerar a resposta.
  • VIDEO_URL: o caminho para um URL de vídeo num contentor de armazenamento. Os URLs de vídeo têm de referir-se a ficheiros de vídeo armazenados num contentor de armazenamento do GDC. Para mais informações, consulte o artigo Armazene dados.

O que se segue?