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 campodatapara 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.