É possível adicionar vídeos às solicitações do Gemini para realizar tarefas que envolvem entender o conteúdo dos vídeos incluídos. Esta página mostra como adicionar vídeos às suas solicitações para o Gemini na Gemini Enterprise Agent Platform usando o console Cloud de Confiance e a API Agent Platform.
Modelos compatíveis
A tabela a seguir lista os modelos compatíveis com a compreensão de vídeo:
| Modelos | Detalhes da mídia | Tipos MIME |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Para uma lista de linguagens compatíveis com os modelos do Gemini, consulte as informações do modelo Modelos do Google. Para saber mais sobre como criar comandos multimodais, consulte Criar comandos multimodais. Se você está procurando uma maneira de usar o Gemini diretamente no seu dispositivo móvel e e apps da Web, consulte os SDKs de cliente do Firebase AI Logic para apps Swift, Android, Web, Flutter e Unity.
Adicionar vídeos a uma solicitação
É possível adicionar um ou vários vídeos à sua solicitação ao Gemini e os vídeos podem incluir áudio.
Vídeo único
O exemplo de código em cada uma das guias a seguir mostra uma maneira diferente de identificar o conteúdo de um vídeo. Esta amostra funciona com todos os modelos multimodais do Gemini.
Console
Para enviar um comando multimodal usando o console Cloud de Confiance , faça o seguinte:Na seção Agent Platform do console do Cloud de Confiance , acesse a página Agent Studio.
Clique em Criar prompt.
Opcional: configure o modelo e os parâmetros:
- Modelo: selecione um modelo.
Opcional: para configurar parâmetros avançados, clique em Avançado e faça a configuração da seguinte maneira:
Clique para abrir as configurações avançadas
Top-K: use o controle deslizante ou a caixa de texto para inserir um valor para "top-K".
O top-k muda a forma como o modelo seleciona tokens para saída. Um top-K de1significa que o próximo token selecionado é o mais provável entre todos os tokens no vocabulário do modelo (também chamado de decodificação gananciosa), enquanto um top-K de3significa que o próximo token está selecionado entre os três tokens mais prováveis usando a temperatura.Para cada etapa da seleção de tokens, são amostrados os tokens top-K com as maiores probabilidades. Em seguida, os tokens são filtrados com base no valor de top-P com o token final selecionado por meio da amostragem de temperatura.
Especifique um valor mais baixo para respostas menos aleatórias e um valor mais alto para respostas mais aleatórias.
- Top-P: use o controle deslizante ou a caixa de texto para inserir um valor para essa parte.
Os tokens são selecionados do mais provável para o menos até que a soma das probabilidades seja igual ao valor do top-P. Para ter menos resultados de variáveis,
defina top-P como
0. - Respostas máximas: use o controle deslizante ou a caixa de texto para inserir um valor para o número de respostas a serem geradas.
- Respostas de streaming: ative para mostrar as respostas à medida que são geradas.
- Limite do filtro de segurança: selecione o limite de probabilidade de mostrar respostas que podem ser prejudiciais.
- Ativar embasamento: o embasamento não é compatível com solicitações multimodais.
- Região: selecione a região que você quer usar.
- Temperatura: use o controle deslizante ou a caixa de texto para inserir um valor para
a temperatura.
The temperature is used for sampling during response generation, which occurs whentopPandtopKare applied. Temperature controls the degree of randomness in token selection. Lower temperatures are good for prompts that require a less open-ended or creative response, while higher temperatures can lead to more diverse or creative results. A temperature of0means that the highest probability tokens are always selected. In this case, responses for a given prompt are mostly deterministic, but a small amount of variation is still possible.If the model returns a response that's too generic, too short, or the model gives a fallback response, try increasing the temperature. If the model enters infinite generation, increasing the temperature to at least
0.1may lead to improved results.1.0is the recommended starting value for temperature. </li> <li>**Output token limit**: Use the slider or textbox to enter a value for the max output limit. Maximum number of tokens that can be generated in the response. A token is approximately four characters. 100 tokens correspond to roughly 60-80 words.Specify a lower value for shorter responses and a higher value for potentially longer responses.
</li> <li>**Add stop sequence**: Optional. Enter a stop sequence, which is a series of characters that includes spaces. If the model encounters a stop sequence, the response generation stops. The stop sequence isn't included in the response, and you can add up to five stop sequences.</li> </ul>
Clique em Inserir mídia e selecione uma origem para o arquivo.
Fazer upload
Selecione o arquivo que você quer enviar e clique em Abrir.
Por URL
Insira o URL do arquivo que você quer usar e clique em Inserir.
YouTube
Insira o URL do vídeo do YouTube que você quer usar e clique em Inserir.
Você pode usar qualquer vídeo público ou um vídeo que seja de propriedade da conta que você usou para fazer login no console do Cloud de Confiance .
Cloud Storage
Selecione o bucket e o arquivo que você quer importar e clique em Selecionar.
Google Drive
- Escolha uma conta e conceda consentimento ao Agent Studio para acessar sua conta na primeira vez que você selecionar essa opção. É possível fazer upload vários arquivos que tenham um tamanho total de até 10 MB. Um único arquivo não pode exceder 7 MB.
- Clique no arquivo que você quer adicionar.
Clique em Selecionar.
A miniatura do arquivo é mostrada no painel Comando. O número total de tokens também é exibido. Se os dados do comando excederem o limite de tokens, os tokens serão truncados e não serão incluídos no processamento dos dados.
Digite o comando de texto no painel Prompt.
Opcional: para conferir o ID do token para texto e os IDs de token, clique na contagem de tokens no painel Comando.
Clique em Enviar.
Opcional: para salvar o comando em Meus comandos, clique em Salvar.
Opcional: para receber o código Python ou um comando curl para seu comando, clique em Criar com código > Receber código.
Python
Instalar
pip install --upgrade google-genai
Para mais informações, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa do Google com a Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Go
Saiba como instalar ou atualizar o Go.
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa do Google com a Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Java
Saiba como instalar ou atualizar o Java.
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa do Google com a Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Node.js
Instalar
npm install @google/genai
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa do Google com a Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
REST
Depois de configurar seu ambiente, use REST para testar uma solicitação de texto. O exemplo a seguir envia uma solicitação ao endpoint do modelo de editor.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID: o ID do projeto. .FILE_URI: o URI ou URL do arquivo a ser incluído no comando. Os valores aceitáveis são os seguintes:- URI do bucket do Cloud Storage:o objeto precisa ser publicamente legível ou residir no mesmo projeto Cloud de Confiance que está enviando a solicitação.
- URL HTTP: o URL do arquivo precisa ser legível publicamente. É possível especificar um arquivo de vídeo, um arquivo de áudio e até 10 arquivos de imagem por solicitação. Os arquivos de áudio, vídeo e documentos não podem exceder 15 MB.
- URL do vídeo do YouTube:o vídeo do YouTube precisa ser de propriedade da conta que você usou para fazer login no console do Cloud de Confiance ou ser público. Somente um URL de vídeo do YouTube é aceito por solicitação.
Ao especificar um
fileURI, você também precisa especificar o tipo de mídia (mimeType) do arquivo. Se o VPC Service Controls estiver ativado, não será possível especificar um URL de arquivo de mídia parafileURI.Se você não tiver um arquivo de vídeo no Cloud Storage, use o seguinte arquivo disponível publicamente:
gs://cloud-samples-data/video/animals.mp4com um tipo MIME devideo/mp4. Para acessar este vídeo, abrir o MP4 de amostra .MIME_TYPE: O tipo de mídia do arquivo especificado emdataoufileUri. Os valores aceitáveis são os seguintes:Clique para expandir os tipos MIME.
application/pdfaudio/mpegaudio/mp3audio/wavimage/pngimage/jpegimage/webptext/plainvideo/movvideo/mpegvideo/mp4video/mpgvideo/avivideo/wmvvideo/mpegpsvideo/flv
TEXT: as instruções de texto a serem incluídas no comando. Por exemplo,What is in the video?
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado request.json.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
cat > request.json << 'EOF'
{
"contents": {
"role": "USER",
"parts": [
{
"fileData": {
"fileUri": "FILE_URI",
"mimeType": "MIME_TYPE"
}
},
{
"text": "TEXT"
}
]
}
}
EOFDepois execute o comando a seguir para enviar a solicitação REST:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-3.5-flash:generateContent"
PowerShell
Salve o corpo da solicitação em um arquivo chamado request.json.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
@'
{
"contents": {
"role": "USER",
"parts": [
{
"fileData": {
"fileUri": "FILE_URI",
"mimeType": "MIME_TYPE"
}
},
{
"text": "TEXT"
}
]
}
}
'@ | Out-File -FilePath request.json -Encoding utf8Depois execute o comando a seguir para enviar a solicitação REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-3.5-flash:generateContent" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a seguinte.
Observe o seguinte no URL deste exemplo:- Use o
generateContentpara solicitar que a resposta seja retornada depois de ser totalmente gerada. Para reduzir a percepção de latência ao público humano, transmita a resposta à medida que geradas usando ostreamGenerateContent. - O ID do modelo multimodal está localizado no final do URL, antes do método
Por exemplo,
gemini-3.5-flash). Este exemplo pode oferecer suporte a outros modelos de classificação. - Quando você usa um endpoint de API regional (por exemplo,
us-central1), a região do URL do endpoint determina onde a solicitação é processada. Qualquer local conflitante no caminho do recurso é ignorado.
Vídeo com áudio
Confira a seguir como resumir um arquivo de vídeo com áudio e retornar capítulos com marcações de tempo. Esta amostra funciona com todos os modelos multimodais do Gemini que aceitam vídeo com áudio.
Python
Instalar
pip install --upgrade google-genai
Para mais informações, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa do Google com a Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
REST
Depois de configurar seu ambiente, use REST para testar uma solicitação de texto. O exemplo a seguir envia uma solicitação ao endpoint do modelo de editor.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID: .FILE_URI: o URI ou URL do arquivo a ser incluído no comando. Os valores aceitáveis são os seguintes:- URI do bucket do Cloud Storage:o objeto precisa ser publicamente legível ou residir no mesmo projeto Cloud de Confiance que está enviando a solicitação.
- URL HTTP: o URL do arquivo precisa ser legível publicamente. É possível especificar um arquivo de vídeo, um arquivo de áudio e até 10 arquivos de imagem por solicitação. Os arquivos de áudio, vídeo e documentos não podem exceder 15 MB.
- URL do vídeo do YouTube:o vídeo do YouTube precisa ser de propriedade da conta que você usou para fazer login no console Cloud de Confiance ou ser público. Somente um URL de vídeo do YouTube é aceito por solicitação.
Ao especificar um
fileURI, você também precisa especificar o tipo de mídia (mimeType) do arquivo. Se o VPC Service Controls estiver ativado, não será possível especificar um URL de arquivo de mídia parafileURI.Se você não tiver um arquivo de vídeo no Cloud Storage, use o seguinte arquivo disponível publicamente:
gs://cloud-samples-data/generative-ai/video/pixel8.mp4com um tipo MIME devideo/mp4. Para acessar este vídeo, abrir o MP4 de amostra .MIME_TYPE: O tipo de mídia do arquivo especificado emdataoufileUri. Os valores aceitáveis são os seguintes:Clique para expandir os tipos MIME.
application/pdfaudio/mpegaudio/mp3audio/wavimage/pngimage/jpegimage/webptext/plainvideo/movvideo/mpegvideo/mp4video/mpgvideo/avivideo/wmvvideo/mpegpsvideo/flv
As instruções de texto a serem incluídas no comando. Por exemplo,TEXT
Provide a description of the video. The description should also contain anything important which people say in the video.
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado request.json.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
cat > request.json << 'EOF'
{
"contents": {
"role": "USER",
"parts": [
{
"fileData": {
"fileUri": "FILE_URI",
"mimeType": "MIME_TYPE"
}
},
{
"text": "TEXT"
}
]
}
}
EOFDepois execute o comando a seguir para enviar a solicitação REST:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-2.5-flash:generateContent"
PowerShell
Salve o corpo da solicitação em um arquivo chamado request.json.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
@'
{
"contents": {
"role": "USER",
"parts": [
{
"fileData": {
"fileUri": "FILE_URI",
"mimeType": "MIME_TYPE"
}
},
{
"text": "TEXT"
}
]
}
}
'@ | Out-File -FilePath request.json -Encoding utf8Depois execute o comando a seguir para enviar a solicitação REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-2.5-flash:generateContent" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a seguinte.
Observe o seguinte no URL deste exemplo:- Use o
generateContentpara solicitar que a resposta seja retornada depois de ser totalmente gerada. Para reduzir a percepção de latência ao público humano, transmita a resposta à medida que geradas usando ostreamGenerateContent. - O ID do modelo multimodal está localizado no final do URL, antes do método
(por exemplo,
gemini-3.5-flash). Este exemplo pode oferecer suporte a outras modelos de classificação. - Quando você usa um endpoint de API regional (por exemplo,
us-central1), a região do URL do endpoint determina onde a solicitação é processada. Qualquer local conflitante no caminho do recurso é ignorado.
Console
Para enviar um comando multimodal usando o console Cloud de Confiance , faça o seguinte:Na seção Agent Platform do console Cloud de Confiance , acesse a página Agent Studio.
Clique em Criar prompt.
Opcional: configure o modelo e os parâmetros:
- Modelo: selecione um modelo.
Opcional: para configurar parâmetros avançados, clique em Avançado e faça a configuração da seguinte maneira:
Clique para abrir as configurações avançadas
Top-K: use o controle deslizante ou a caixa de texto para inserir um valor para "top-K".
O top-k muda a forma como o modelo seleciona tokens para saída. Um top-K de1significa que o próximo token selecionado é o mais provável entre todos os tokens no vocabulário do modelo (também chamado de decodificação gananciosa), enquanto um top-K de3significa que o próximo token está selecionado entre os três tokens mais prováveis usando a temperatura.Para cada etapa da seleção de tokens, são amostrados os tokens top-K com as maiores probabilidades. Em seguida, os tokens são filtrados com base no valor de top-P com o token final selecionado por meio da amostragem de temperatura.
Especifique um valor mais baixo para respostas menos aleatórias e um valor mais alto para respostas mais aleatórias.
- Top-P: use o controle deslizante ou a caixa de texto para inserir um valor para essa parte.
Os tokens são selecionados do mais provável para o menos até que a soma das probabilidades seja igual ao valor do top-P. Para ter menos resultados de variáveis,
defina top-P como
0. - Respostas máximas: use o controle deslizante ou a caixa de texto para inserir um valor para o número de respostas a serem geradas.
- Respostas de streaming: ative para mostrar as respostas à medida que são geradas.
- Limite do filtro de segurança: selecione o limite de probabilidade de mostrar respostas que podem ser prejudiciais.
- Ativar embasamento: o embasamento não é compatível com solicitações multimodais.
- Região: selecione a região que você quer usar.
- Temperatura: use o controle deslizante ou a caixa de texto para inserir um valor para
a temperatura.
The temperature is used for sampling during response generation, which occurs whentopPandtopKare applied. Temperature controls the degree of randomness in token selection. Lower temperatures are good for prompts that require a less open-ended or creative response, while higher temperatures can lead to more diverse or creative results. A temperature of0means that the highest probability tokens are always selected. In this case, responses for a given prompt are mostly deterministic, but a small amount of variation is still possible.If the model returns a response that's too generic, too short, or the model gives a fallback response, try increasing the temperature. If the model enters infinite generation, increasing the temperature to at least
0.1may lead to improved results.1.0is the recommended starting value for temperature. </li> <li>**Output token limit**: Use the slider or textbox to enter a value for the max output limit. Maximum number of tokens that can be generated in the response. A token is approximately four characters. 100 tokens correspond to roughly 60-80 words.Specify a lower value for shorter responses and a higher value for potentially longer responses.
</li> <li>**Add stop sequence**: Optional. Enter a stop sequence, which is a series of characters that includes spaces. If the model encounters a stop sequence, the response generation stops. The stop sequence isn't included in the response, and you can add up to five stop sequences.</li> </ul>
Clique em Inserir mídia e selecione uma origem para o arquivo.
Fazer upload
Selecione o arquivo que você quer enviar e clique em Abrir.
Por URL
Insira o URL do arquivo que você quer usar e clique em Inserir.
YouTube
Insira o URL do vídeo do YouTube que você quer usar e clique em Inserir.
Você pode usar qualquer vídeo público ou um vídeo que seja de propriedade da conta que você usou para fazer login no console do Cloud de Confiance .
Cloud Storage
Selecione o bucket e o arquivo que você quer importar e clique em Selecionar.
Google Drive
- Escolha uma conta e conceda consentimento ao Agent Studio para acessar sua conta na primeira vez que você selecionar essa opção. É possível fazer upload vários arquivos que tenham um tamanho total de até 10 MB. Um único arquivo não pode exceder 7 MB.
- Clique no arquivo que você quer adicionar.
Clique em Selecionar.
A miniatura do arquivo é mostrada no painel Comando. O número total de tokens também é exibido. Se os dados do comando excederem o limite de tokens, os tokens serão truncados e não serão incluídos no processamento dos dados.
Digite o comando de texto no painel Prompt.
Opcional: para conferir o ID do token para texto e os IDs de token, clique na contagem de tokens no painel Comando.
Clique em Enviar.
Opcional: para salvar o comando em Meus comandos, clique em Salvar.
Opcional: para receber o código Python ou um comando curl para seu comando, clique em Criar com código > Receber código.
Personalizar o processamento de vídeo
É possível personalizar o processamento de vídeo na API Gemini para Google Cloud definindo intervalos de corte ou fornecendo amostragem de taxa de frames personalizada.
Definir intervalos de corte
É possível cortar vídeos especificando
videoMetadata
com ajustes de início e fim.
Definir um frame rate personalizado
É possível definir uma amostragem de frame rate personalizada transmitindo um argumento fps para
videoMetadata.
Por padrão, um quadro por segundo (QPS) é amostrado do vídeo. Talvez seja melhor definir um FPS baixo (< 1) para vídeos longos. Isso é especialmente útil para vídeos principalmente estáticos, como palestras. Se quiser capturar mais detalhes em visuais que mudam rapidamente, defina um valor de QPS mais alto.
Compreensão agêntica de vídeos
Com a compreensão agêntica de vídeos, o modelo navega dinamicamente pelo conteúdo de vídeo em vez de processar cada frame de forma estática. O entendimento de vídeo com agente usa menos tokens do que o processamento estático e pode melhorar a qualidade da resposta. Isso pode resultar em custos mais baixos e respostas mais rápidas para cargas de trabalho de vídeos mais longos.
É possível usar a compreensão de vídeo agêntica e o processamento estático para vídeos diferentes na mesma solicitação. Por exemplo, se você tiver vídeos mais longos (como uma palestra de uma hora) e conteúdo de vídeo mais curto (como os Shorts), use o entendimento de vídeo com agente nos vídeos mais longos para segmentar informações contextualmente relevantes e o processamento estático no conteúdo de vídeo mais curto para ter precisão no nível do frame.
O contexto do vídeo precisa ser preservado em todas as etapas de uma conversa. Ao usar
o processamento de agentes com a API GenerateContent, a resposta pode incluir etapas
opacas (step_list) que codificam o contexto do vídeo. É necessário incluir essas etapas na
próxima vez para preservar o contexto. Se você omitir esses dados, o contexto do vídeo será
perdido, e o modelo não poderá responder a perguntas complementares sobre o vídeo sem
reprocessá-lo.
Modelos e tipos de arquivos compatíveis
A compreensão agêntica de vídeos está disponível nos seguintes modelos:
Clique para abrir os modelos compatíveis
Você pode usar as seguintes fontes ao usar o entendimento de vídeo com agente:
- URLs do YouTube
- URIs do Cloud Storage
- Arquivos de vídeo codificados em Base64 inline
Quando usar a compreensão agêntica de vídeos
Use o entendimento de vídeo agêntico (media_processing = "AGENTIC")
para as seguintes cargas de trabalho:
- Perguntas e respostas e pesquisa de vídeos mais longos: faça perguntas específicas ou localize eventos específicos em palestras, reuniões, gravações ou tutoriais em vídeo de uma hora sem tokenizar todos os frames em resolução máxima.
- Inspeção visual detalhada: aplique zoom em carimbos de data/hora específicos ou detalhes visuais (como ler textos pequenos na tela, slides ou mudanças no placar) em um vídeo mais longo.
- Comparação de vários vídeos: compare vários vídeos em uma única solicitação. É possível usar diferentes modos de processamento para cada vídeo na mesma solicitação.
- Agentes com tecnologia de vídeo: crie agentes que raciocinam sobre conteúdo de vídeo com suporte a conversas de várias rodadas. O contexto do vídeo é preservado em todas as interações sem precisar de reprocessamento.
- Otimização de custos para cargas de trabalho de vídeo longas: reduza o consumo de tokens em aplicativos de vídeo mais longos em que apenas um subconjunto de segmentos é relevante para o comando.
Mantenha o processamento estático padrão (media_processing = "STATIC") quando:
- Processamento de clipes curtos: para vídeos curtos, o processamento estático evita o excesso de navegação em ferramentas de várias etapas e geralmente usa menos tokens com menor latência.
- Processamento uniforme de vídeo completo: sua carga de trabalho requer uma análise uniforme quadro a quadro em todo o clipe, em vez de uma inspeção direcionada de segmentos específicos.
Usar a compreensão agêntica de vídeos
Você pode usar a compreensão agêntica de vídeos com a API GenerateContent. Use media_processing =
"AGENTIC" na solicitação:
Python
from google import genai
from google.genai import types
client = genai.Client()
# Example: Controlling media_processing explicitly
video_part = types.Part(
file_data=types.FileData(
file_uri="gs://my-bucket-name/sports_clip.mp4",
mime_type="video/mp4",
),
media_processing="agentic" # Options: "agentic", "static"
)
response = client.models.generate_content(
model="gemini-3.7-flash",
contents=[
video_part,
"Analyze the player's footwork right before the shot."
]
)
print(response.text)
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://aiplatform.googleapis.com/v1beta1/projects/YOUR_PROJECT_ID/locations/global/publishers/google/models/gemini-3.7-flash:generateContent \
-d '{
"contents": [
{
"role": "USER",
"parts": [
{
"fileData": {
"mimeType": "video/mp4",
"fileUri": "gs://my-bucket/lecture.mp4"
},
"mediaProcessing": "AGENTIC"
},
{
"text": "Summarize the key takeaways."
}
]
}
],
"generationConfig": {
"thinkingLevel": "MEDIUM"
}
}'
A compreensão agêntica de vídeos é definida como STATIC ou desativada por padrão para
todos os modelos compatíveis.
Ajustar a resolução da mídia
Você pode ajustar
MediaResolution
para processar seus vídeos com menos tokens.
Definir parâmetros opcionais do modelo
Cada modelo tem um conjunto de parâmetros opcionais que podem ser definidos. Para mais informações, consulte Parâmetros de geração de conteúdo.
Tokenização de vídeo
Com o Gemini 3, a tokenização de vídeo usa um comprimento de sequência variável, que substitui o método Pan and Scan usado em modelos anteriores para melhorar a qualidade e a latência.
Você pode especificar uma resolução de mídia para entradas de vídeo, o que afeta a forma como os vídeos são tokenizados e quantos tokens são usados para cada vídeo.
É possível definir media_resolution em generationConfig para aplicar a toda a mídia na solicitação ou definir para trechos de áudio individuais, o que vai substituir a configuração de nível superior. A resolução padrão para vídeos é de 70 tokens por frame.
As seguintes resoluções estão disponíveis para os modelos do Gemini 3:
MEDIA_RESOLUTION_HIGH: 280 tokens por frameMEDIA_RESOLUTION_MEDIUM: 70 tokens por frameMEDIA_RESOLUTION_LOW: 70 tokens por frameMEDIA_RESOLUTION_UNSPECIFIED: 70 tokens por frame (padrão)
Para modelos anteriores ao Gemini 3, cada frame é tokenizado com 258 tokens por frame para resolução padrão ou 66 tokens por frame para baixa resolução.
Este exemplo de código demonstra como ajustar media_resolution:
from google import genai from google.genai import types client = genai.Client() response = client.models.generate_content( model="gemini-3.1-pro-preview", contents=[ types.Part( file_data=types.FileData( file_uri="gs://cloud-samples-data/generative-ai/image/a-man-and-a-dog.png", mime_type="image/jpeg", ), media_resolution=types.PartMediaResolution( level=types.PartMediaResolutionLevel.MEDIA_RESOLUTION_HIGH ), ), Part( file_data=types.FileData( file_uri="gs://cloud-samples-data/generative-ai/video/behind_the_scenes_pixel.mp4", mime_type="video/mp4", ), media_resolution=types.PartMediaResolution( level=types.PartMediaResolutionLevel.MEDIA_RESOLUTION_LOW ), ), "When does the image appear in the video? What is the context?", ], ) print(response.text)
Práticas recomendadas
Ao usar vídeos, siga as práticas recomendadas e informações abaixo para ter os melhores resultados:
- Se o comando contiver um único vídeo, coloque o vídeo antes do comando de texto.
- Se você precisar de localização de carimbo de data/hora em um vídeo com áudio, peça ao modelo para gerar carimbos de data/hora que sigam o formato descrito em "Formato de carimbo de data/hora".
Para modelos do Gemini 3, considere também o seguinte:
- Use uma taxa de amostragem de quadros por segundo (FPS) mais alta para vídeos que exigem uma análise temporal granular, como compreensão de ação rápida ou rastreamento de movimento de alta velocidade.
Limitações
Embora os modelos multimodais do Gemini sejam eficientes em muitos casos de uso multimodais, é importante entender as limitações dos modelos:
- Moderação de conteúdo: os modelos se recusam a fornecer respostas sobre vídeos que violam nossas políticas de segurança.
- Reconhecimento de som sem fala: os modelos compatíveis com áudio podem cometer erros ao reconhecer sons que não são fala.
Detalhes técnicos sobre vídeos
Processamento da API File: ao usar a API File, os vídeos são amostrados a 1 frame por segundo (FPS), e o áudio é processado a 1 Kbps (canal único). Os carimbos de data/hora são adicionados a cada segundo.
- Essas taxas estão sujeitas a alterações no futuro para melhorias na inferência.
Formato de marcação de tempo: ao se referir a momentos específicos de um vídeo no comando, o formato da marcação de tempo depende da taxa de amostragem de quadros por segundo (FPS) do vídeo:
Para taxas de amostragem de 1 FPS ou menos: use o formato
MM:SS, em que os dois primeiros dígitos representam minutos e os dois últimos representam segundos. Se você tiver offsets maiores que 1 hora, use o formatoH:MM:SS.Para taxas de amostragem acima de 1 FPS: use o formato
MM:SS.sssou, se você tiver deslocamentos maiores que 1 hora, use o formatoH:MM:SS.sss, descrito da seguinte maneira:- O primeiro dígito representa a hora.
- Os dois dígitos seguintes representam os minutos.
- Os dois últimos dígitos representam os segundos.
- Os três últimos dígitos representam os microssegundos.
Práticas recomendadas:
Use apenas um vídeo por solicitação de comando para ter os melhores resultados.
Se você combinar texto e um único vídeo, coloque o comando de texto depois da parte do vídeo na matriz
contents.Sequências de ação rápida podem perder detalhes devido à taxa de amostragem de 1 FPS. Considere diminuir a velocidade desses clipes, se necessário.
A seguir
- Comece a criar com os modelos multimodais do Gemini. Novos clientes ganham US $300 em créditos Cloud de Confiance by S3NS para explorar o que podem fazer com o Gemini.
- Saiba como enviar solicitações de comandos de chat.
- Saiba mais sobre as práticas recomendadas de IA responsável e os filtros de segurança da Agent Platform.