Compreensão de vídeo

Pode adicionar vídeos a pedidos do Gemini para realizar tarefas que envolvam a compreensão do conteúdo dos vídeos incluídos. Esta página mostra-lhe como adicionar vídeos aos seus pedidos ao Gemini no Vertex AI através da Google Cloud consola e da API Vertex AI.

Modelos suportados

A tabela seguinte apresenta os modelos que suportam a compreensão de vídeo:

Modelo Detalhes de multimédia Tipos MIME
Gemini 2.5 Flash-Lite
  • Duração máxima do vídeo (com áudio): Aproximadamente 45 minutos
  • Duração máxima do vídeo (sem áudio): Aproximadamente 1 hora
  • Número máximo de vídeos por comando: 10
  • video/x-flv
  • video/quicktime
  • video/mpeg
  • video/mpegs
  • video/mpg
  • video/mp4
  • video/webm
  • video/wmv
  • video/3gpp
Gemini 2.5 Flash com áudio nativo da API Live
  • Duração máxima da partilha de ecrã: Aproximadamente 10 minutos
  • video/x-flv
  • video/quicktime
  • video/mpeg
  • video/mpegs
  • video/mpg
  • video/mp4
  • video/webm
  • video/wmv
  • video/3gpp
Gemini 2.0 Flash com API Live
  • Duração máxima do vídeo (com áudio): Aproximadamente 45 minutos
  • Duração máxima do vídeo (sem áudio): Aproximadamente 1 hora
  • Número máximo de vídeos por comando: 10
  • Máximo de tokens por minuto (TPM):
    • Resolução de multimédia alta/média/predefinida:
      • EUA/Ásia: 37,9 M
      • UE: 9,5 M
    • Baixa resolução de multimédia:
      • US/Asia: 1 G
      • UE: 2,5 M
  • video/x-flv
  • video/quicktime
  • video/mpeg
  • video/mpegs
  • video/mpg
  • video/mp4
  • video/webm
  • video/wmv
  • video/3gpp
Gemini 2.0 Flash com geração de imagens
  • Duração máxima do vídeo (com áudio): Aproximadamente 45 minutos
  • Duração máxima do vídeo (sem áudio): Aproximadamente 1 hora
  • Número máximo de vídeos por comando: 10
  • Máximo de tokens por minuto (TPM):
    • Resolução de multimédia alta/média/predefinida:
      • EUA/Ásia: 37,9 M
      • UE: 9,5 M
    • Baixa resolução de multimédia:
      • US/Asia: 1 G
      • UE: 2,5 M
  • video/x-flv
  • video/quicktime
  • video/mpeg
  • video/mpegs
  • video/mpg
  • video/mp4
  • video/webm
  • video/wmv
  • video/3gpp
Gemini 2.5 Pro
  • Duração máxima do vídeo (com áudio): Aproximadamente 45 minutos
  • Duração máxima do vídeo (sem áudio): Aproximadamente 1 hora
  • Número máximo de vídeos por comando: 10
  • video/x-flv
  • video/quicktime
  • video/mpeg
  • video/mpegs
  • video/mpg
  • video/mp4
  • video/webm
  • video/wmv
  • video/3gpp
Gemini 2.5 Flash
  • Duração máxima do vídeo (com áudio): Aproximadamente 45 minutos
  • Duração máxima do vídeo (sem áudio): Aproximadamente 1 hora
  • Número máximo de vídeos por comando: 10
  • video/x-flv
  • video/quicktime
  • video/mpeg
  • video/mpegs
  • video/mpg
  • video/mp4
  • video/webm
  • video/wmv
  • video/3gpp
Gemini 2.0 Flash
  • Duração máxima do vídeo (com áudio): Aproximadamente 45 minutos
  • Duração máxima do vídeo (sem áudio): Aproximadamente 1 hora
  • Número máximo de vídeos por comando: 10
  • Máximo de tokens por minuto (TPM):
    • Resolução de multimédia alta/média/predefinida:
      • US/Asia: 38 M
      • UE: 10 M
    • Baixa resolução de multimédia:
      • US/Asia: 10 M
      • UE: 2,5 M
  • video/x-flv
  • video/quicktime
  • video/mpeg
  • video/mpegs
  • video/mpg
  • video/mp4
  • video/webm
  • video/wmv
  • video/3gpp
Gemini 2.0 Flash-Lite
  • Duração máxima do vídeo (com áudio): Aproximadamente 45 minutos
  • Duração máxima do vídeo (sem áudio): Aproximadamente 1 hora
  • Número máximo de vídeos por comando: 10
  • Máximo de tokens por minuto (TPM):
    • Resolução de multimédia alta/média/predefinida:
      • EUA/Ásia: 6,3 M
      • UE: 3,2 M
    • Baixa resolução de multimédia:
      • EUA/Ásia: 3,2 milhões
      • UE: 3,2 M
  • video/x-flv
  • video/quicktime
  • video/mpeg
  • video/mpegs
  • video/mpg
  • video/mp4
  • video/webm
  • video/wmv
  • video/3gpp

A métrica de quota é generate_content_video_input_per_base_model_id_and_resolution.

Para ver uma lista de idiomas suportados pelos modelos do Gemini, consulte as informações do modelo Modelos Google. Para saber mais sobre como criar comandos multimodais, consulte o artigo Crie comandos multimodais. Se procura uma forma de usar o Gemini diretamente a partir das suas apps para dispositivos móveis e Web, consulte os SDKs do cliente da Firebase AI Logic para apps Swift, Android, Web, Flutter e Unity.

Adicione vídeos a um pedido

Pode adicionar um ou vários vídeos no seu pedido ao Gemini, e o vídeo pode incluir áudio.

Vídeo único

O exemplo de código em cada um dos separadores seguintes mostra uma forma diferente de identificar o conteúdo de um vídeo. Este exemplo funciona com todos os modelos multimodais do Gemini.

Consola

Para enviar um comando multimodal através da Google Cloud consola, faça o seguinte:

  1. Na secção Vertex AI da Google Cloud consola, aceda à página Vertex AI Studio.

    Aceda ao Vertex AI Studio

  2. Clique em Criar comando.

  3. Opcional: configure o modelo e os parâmetros:

    • Modelo: selecione um modelo.
  4. Opcional: para configurar parâmetros avançados, clique em Avançadas e configure da seguinte forma:

    Clique para expandir as configurações avançadas

    • Top-K: use o controlo de deslize ou a caixa de texto para introduzir um valor para o top-K.

      O Top-K altera a forma como o modelo seleciona tokens para a saída. Um top-K de 1 significa que o token selecionado seguinte é o mais provável entre todos os tokens no vocabulário do modelo (também denominado descodificação gananciosa), enquanto um top-K de 3 significa que o token seguinte é selecionado entre os três tokens mais prováveis através da temperatura.

      Para cada passo de seleção de tokens, são amostrados os K principais tokens com as probabilidades mais elevadas. Em seguida, os tokens são filtrados com base no top-P, sendo o token final selecionado através da amostragem de temperatura.

      Especifique um valor inferior para respostas menos aleatórias e um valor superior para respostas mais aleatórias.

    • Top-P: use o controlo de deslize ou a caixa de texto para introduzir um valor para o top-P. Os tokens são selecionados do mais provável para o menos provável até que a soma das respetivas probabilidades seja igual ao valor de top-P. Para obter os resultados menos variáveis, defina o top-P como 0.
    • Respostas máximas: use o controlo de deslize ou a caixa de texto para introduzir um valor para o número de respostas a gerar.
    • Respostas graduais: ative esta opção para imprimir as respostas à medida que são geradas.
    • Limite do filtro de segurança: selecione o limite da probabilidade de ver respostas que possam ser prejudiciais.
    • Ativar fundamentação: a fundamentação não é suportada para comandos multimodais.
    • Região: selecione a região que quer usar.
    • Temperatura: use o controlo de deslize ou a caixa de texto para introduzir um valor para a temperatura.

          
      The temperature is used for sampling during response generation, which occurs when topP
      and topK are 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 of 0
      means 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.

      <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>**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. </ul>

  5. Clique em Inserir multimédia e selecione uma origem para o ficheiro.

    Carregar

    Selecione o ficheiro que quer carregar e clique em Abrir.

    Por URL

    Introduza o URL do ficheiro que quer usar e clique em Inserir.

    YouTube

    Introduza o URL do vídeo do YouTube que quer usar e clique em Inserir.

    Pode usar qualquer vídeo público ou um vídeo que seja propriedade da conta que usou para iniciar sessão na consola do Google Cloud .

    Cloud Storage

    Selecione o contentor e, de seguida, o ficheiro do contentor que quer importar e clique em Selecionar.

    Google Drive

    1. Escolha uma conta e dê o seu consentimento ao Vertex AI Studio para aceder à sua conta na primeira vez que selecionar esta opção. Pode carregar vários ficheiros com um tamanho total de até 10 MB. Um único ficheiro não pode exceder os 7 MB.
    2. Clique no ficheiro que quer adicionar.
    3. Clique em Selecionar.

      A miniatura do ficheiro é apresentada no painel Comando. Também é apresentado o número total de tokens. Se os dados dos comandos excederem o limite de tokens, os tokens são truncados e não são incluídos no processamento dos seus dados.

  6. Introduza o comando de texto no painel Comando.

  7. Opcional: para ver o ID do token para texto e os IDs dos tokens, clique na contagem de tokens no painel Comando.

  8. Clique em Enviar.

  9. Opcional: para guardar o comando em Os meus comandos, clique em Guardar.

  10. Opcional: para obter o código Python ou um comando curl para o seu comando, clique em Criar com código > Obter código.

Python

Instalação

pip install --upgrade 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 com o 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_VERTEXAI=True

from google import genai
from google.genai.types import HttpOptions, Part

client = genai.Client(http_options=HttpOptions(api_version="v1"))
response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents=[
        Part.from_uri(
            file_uri="gs://cloud-samples-data/generative-ai/video/ad_copy_from_video.mp4",
            mime_type="video/mp4",
        ),
        "What is in the video?",
    ],
)
print(response.text)
# Example response:
# The video shows several people surfing in an ocean with a coastline in the background. The camera ...

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 com o 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_VERTEXAI=True

import (
	"context"
	"fmt"
	"io"

	genai "google.golang.org/genai"
)

// generateWithMuteVideo shows how to generate text using a video with no sound as the input.
func generateWithMuteVideo(w io.Writer) error {
	ctx := context.Background()

	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		HTTPOptions: genai.HTTPOptions{APIVersion: "v1"},
	})
	if err != nil {
		return fmt.Errorf("failed to create genai client: %w", err)
	}

	modelName := "gemini-2.5-flash"
	contents := []*genai.Content{
		{Parts: []*genai.Part{
			{Text: "What is in the video?"},
			{FileData: &genai.FileData{
				FileURI:  "gs://cloud-samples-data/generative-ai/video/ad_copy_from_video.mp4",
				MIMEType: "video/mp4",
			}},
		},
			Role: "user"},
	}

	resp, err := client.Models.GenerateContent(ctx, modelName, contents, nil)
	if err != nil {
		return fmt.Errorf("failed to generate content: %w", err)
	}

	respText := resp.Text()

	fmt.Fprintln(w, respText)

	// Example response:
	// The video shows several surfers riding waves in an ocean setting. The waves are ...

	return nil
}

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 com o 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_VERTEXAI=True


import com.google.genai.Client;
import com.google.genai.types.Content;
import com.google.genai.types.GenerateContentResponse;
import com.google.genai.types.HttpOptions;
import com.google.genai.types.Part;

public class TextGenerationWithMuteVideo {

  public static void main(String[] args) {
    // TODO(developer): Replace these variables before running the sample.
    String modelId = "gemini-2.5-flash";
    generateContent(modelId);
  }

  // Generates text with mute video input
  public static String generateContent(String modelId) {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests.
    try (Client client =
        Client.builder()
            .location("global")
            .vertexAI(true)
            .httpOptions(HttpOptions.builder().apiVersion("v1").build())
            .build()) {

      GenerateContentResponse response =
          client.models.generateContent(
              modelId,
              Content.fromParts(
                  Part.fromUri(
                      "gs://cloud-samples-data/generative-ai/video/ad_copy_from_video.mp4",
                      "video/mp4"),
                  Part.fromText("What is in this video?")),
              null);

      System.out.print(response.text());
      // Example response:
      // This video features **surfers in the ocean**.
      //
      // The main focus is on **one individual who catches and rides a wave**, executing various
      // turns and maneuvers as the wave breaks and dissipates into whitewater...
      return response.text();
    }
  }
}

REST

Depois de configurar o seu ambiente, pode usar a API REST para testar um comando de texto. O exemplo seguinte envia um pedido para o ponto final do modelo do publicador.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o seu ID do projeto.
  • FILE_URI: O URI ou o URL do ficheiro a incluir no comando. Os valores aceitáveis incluem o seguinte:
    • URI do contentor do Cloud Storage: o objeto tem de ser legível publicamente ou residir no mesmo projeto Google Cloud que está a enviar o pedido. Para gemini-2.0-flash e gemini-2.0-flash-lite, o limite de tamanho é de 2 GB.
    • URL HTTP: o URL do ficheiro tem de ser legível publicamente. Pode especificar um ficheiro de vídeo, um ficheiro de áudio e até 10 ficheiros de imagem por pedido. Os ficheiros de áudio, os ficheiros de vídeo e os documentos não podem exceder os 15 MB.
    • URL do vídeo do YouTube: o vídeo do YouTube tem de ser propriedade da conta que usou para iniciar sessão na Google Cloud consola ou ser público. Apenas é suportado um URL de vídeo do YouTube por pedido.

    Quando especifica um fileURI, também tem de especificar o tipo de suporte (mimeType) do ficheiro. Se o VPC Service Controls estiver ativado, a especificação de um URL de ficheiro multimédia para fileURI não é suportada.

    Se não tiver um ficheiro de vídeo no Cloud Storage, pode usar o seguinte ficheiro disponível publicamente: gs://cloud-samples-data/video/animals.mp4 com um tipo MIME de video/mp4. Para ver este vídeo, abra o ficheiro MP4 de exemplo.

  • MIME_TYPE: o tipo de suporte do ficheiro especificado nos campos data ou fileUri Os valores aceitáveis incluem o seguinte:

    Clique para expandir os tipos MIME

    • application/pdf
    • audio/mpeg
    • audio/mp3
    • audio/wav
    • image/png
    • image/jpeg
    • image/webp
    • text/plain
    • video/mov
    • video/mpeg
    • video/mp4
    • video/mpg
    • video/avi
    • video/wmv
    • video/mpegps
    • video/flv
  • TEXT: As instruções de texto a incluir no comando. Por exemplo, What is in the video?

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro denominado request.json. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:

cat > request.json << 'EOF'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
EOF

Em seguida, execute o seguinte comando para enviar o seu pedido 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

Guarde o corpo do pedido num ficheiro denominado request.json. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:

@'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
'@  | Out-File -FilePath request.json -Encoding utf8

Em seguida, execute o seguinte comando para enviar o seu pedido 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

Deve receber uma resposta JSON semelhante à seguinte.

Tenha em atenção o seguinte no URL deste exemplo:
  • Use o método generateContent para pedir que a resposta seja devolvida após a geração completa. Para reduzir a perceção de latência para um público humano, transmita a resposta à medida que está a ser gerada através do método streamGenerateContent.
  • O ID do modelo multimodal encontra-se no final do URL antes do método (por exemplo, gemini-2.0-flash). Este exemplo também pode suportar outros modelos.

Vídeo com áudio

O exemplo seguinte mostra como resumir um ficheiro de vídeo com áudio e devolver capítulos com indicações de tempo. Este exemplo funciona com o Gemini 2.0.

Python

Instalação

pip install --upgrade 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 com o 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_VERTEXAI=True

from google import genai
from google.genai.types import HttpOptions, Part

client = genai.Client(http_options=HttpOptions(api_version="v1"))
response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents=[
        Part.from_uri(
            file_uri="gs://cloud-samples-data/generative-ai/video/ad_copy_from_video.mp4",
            mime_type="video/mp4",
        ),
        "What is in the video?",
    ],
)
print(response.text)
# Example response:
# The video shows several people surfing in an ocean with a coastline in the background. The camera ...

REST

Depois de configurar o seu ambiente, pode usar a API REST para testar um comando de texto. O exemplo seguinte envia um pedido para o ponto final do modelo do publicador.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: .
  • FILE_URI: O URI ou o URL do ficheiro a incluir no comando. Os valores aceitáveis incluem o seguinte:
    • URI do contentor do Cloud Storage: o objeto tem de ser legível publicamente ou residir no mesmo projeto Google Cloud que está a enviar o pedido. Para gemini-2.0-flash e gemini-2.0-flash-lite, o limite de tamanho é de 2 GB.
    • URL HTTP: o URL do ficheiro tem de ser legível publicamente. Pode especificar um ficheiro de vídeo, um ficheiro de áudio e até 10 ficheiros de imagem por pedido. Os ficheiros de áudio, os ficheiros de vídeo e os documentos não podem exceder os 15 MB.
    • URL do vídeo do YouTube: o vídeo do YouTube tem de ser propriedade da conta que usou para iniciar sessão na Google Cloud consola ou ser público. Apenas é suportado um URL de vídeo do YouTube por pedido.

    Quando especifica um fileURI, também tem de especificar o tipo de suporte (mimeType) do ficheiro. Se o VPC Service Controls estiver ativado, a especificação de um URL de ficheiro multimédia para fileURI não é suportada.

    Se não tiver um ficheiro de vídeo no Cloud Storage, pode usar o seguinte ficheiro disponível publicamente: gs://cloud-samples-data/generative-ai/video/pixel8.mp4 com um tipo MIME de video/mp4. Para ver este vídeo, abra o ficheiro MP4 de exemplo.

  • MIME_TYPE: o tipo de suporte do ficheiro especificado nos campos data ou fileUri Os valores aceitáveis incluem o seguinte:

    Clique para expandir os tipos MIME

    • application/pdf
    • audio/mpeg
    • audio/mp3
    • audio/wav
    • image/png
    • image/jpeg
    • image/webp
    • text/plain
    • video/mov
    • video/mpeg
    • video/mp4
    • video/mpg
    • video/avi
    • video/wmv
    • video/mpegps
    • video/flv
  • TEXT
    As instruções de texto a incluir no comando. Por exemplo, Provide a description of the video. The description should also contain anything important which people say in the video.

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro denominado request.json. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:

cat > request.json << 'EOF'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
EOF

Em seguida, execute o seguinte comando para enviar o seu pedido 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

Guarde o corpo do pedido num ficheiro denominado request.json. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:

@'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
'@  | Out-File -FilePath request.json -Encoding utf8

Em seguida, execute o seguinte comando para enviar o seu pedido 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

Deve receber uma resposta JSON semelhante à seguinte.

Tenha em atenção o seguinte no URL deste exemplo:
  • Use o método generateContent para pedir que a resposta seja devolvida após a geração completa. Para reduzir a perceção de latência para um público humano, transmita a resposta à medida que está a ser gerada através do método streamGenerateContent.
  • O ID do modelo multimodal encontra-se no final do URL antes do método (por exemplo, gemini-2.0-flash). Este exemplo também pode suportar outros modelos.

Consola

Para enviar um comando multimodal através da Google Cloud consola, faça o seguinte:

  1. Na secção Vertex AI da Google Cloud consola, aceda à página Vertex AI Studio.

    Aceda ao Vertex AI Studio

  2. Clique em Criar comando.

  3. Opcional: configure o modelo e os parâmetros:

    • Modelo: selecione um modelo.
  4. Opcional: para configurar parâmetros avançados, clique em Avançadas e configure da seguinte forma:

    Clique para expandir as configurações avançadas

    • Top-K: use o controlo de deslize ou a caixa de texto para introduzir um valor para o top-K.

      O Top-K altera a forma como o modelo seleciona tokens para a saída. Um top-K de 1 significa que o token selecionado seguinte é o mais provável entre todos os tokens no vocabulário do modelo (também denominado descodificação gananciosa), enquanto um top-K de 3 significa que o token seguinte é selecionado entre os três tokens mais prováveis através da temperatura.

      Para cada passo de seleção de tokens, são amostrados os K principais tokens com as probabilidades mais elevadas. Em seguida, os tokens são filtrados com base no top-P, sendo o token final selecionado através da amostragem de temperatura.

      Especifique um valor inferior para respostas menos aleatórias e um valor superior para respostas mais aleatórias.

    • Top-P: use o controlo de deslize ou a caixa de texto para introduzir um valor para o top-P. Os tokens são selecionados do mais provável para o menos provável até que a soma das respetivas probabilidades seja igual ao valor de top-P. Para obter os resultados menos variáveis, defina o top-P como 0.
    • Respostas máximas: use o controlo de deslize ou a caixa de texto para introduzir um valor para o número de respostas a gerar.
    • Respostas graduais: ative esta opção para imprimir as respostas à medida que são geradas.
    • Limite do filtro de segurança: selecione o limite da probabilidade de ver respostas que possam ser prejudiciais.
    • Ativar fundamentação: a fundamentação não é suportada para comandos multimodais.
    • Região: selecione a região que quer usar.
    • Temperatura: use o controlo de deslize ou a caixa de texto para introduzir um valor para a temperatura.

          
      The temperature is used for sampling during response generation, which occurs when topP
      and topK are 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 of 0
      means 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.

      <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>**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. </ul>

  5. Clique em Inserir multimédia e selecione uma origem para o ficheiro.

    Carregar

    Selecione o ficheiro que quer carregar e clique em Abrir.

    Por URL

    Introduza o URL do ficheiro que quer usar e clique em Inserir.

    YouTube

    Introduza o URL do vídeo do YouTube que quer usar e clique em Inserir.

    Pode usar qualquer vídeo público ou um vídeo que seja propriedade da conta que usou para iniciar sessão na consola do Google Cloud .

    Cloud Storage

    Selecione o contentor e, de seguida, o ficheiro do contentor que quer importar e clique em Selecionar.

    Google Drive

    1. Escolha uma conta e dê o seu consentimento ao Vertex AI Studio para aceder à sua conta na primeira vez que selecionar esta opção. Pode carregar vários ficheiros com um tamanho total de até 10 MB. Um único ficheiro não pode exceder os 7 MB.
    2. Clique no ficheiro que quer adicionar.
    3. Clique em Selecionar.

      A miniatura do ficheiro é apresentada no painel Comando. Também é apresentado o número total de tokens. Se os dados dos comandos excederem o limite de tokens, os tokens são truncados e não são incluídos no processamento dos seus dados.

  6. Introduza o comando de texto no painel Comando.

  7. Opcional: para ver o ID do token para texto e os IDs dos tokens, clique na contagem de tokens no painel Comando.

  8. Clique em Enviar.

  9. Opcional: para guardar o comando em Os meus comandos, clique em Guardar.

  10. Opcional: para obter o código Python ou um comando curl para o seu comando, clique em Criar com código > Obter código.

Personalize o processamento de vídeo

Pode personalizar o processamento de vídeo na API Gemini for Google Cloud definindo intervalos de recorte ou fornecendo uma amostragem de taxa de frames personalizada.

Defina os intervalos de recorte

Pode criar clipes de vídeos especificando videoMetadata com desvios de início e fim.

Defina uma taxa de frames personalizada

Pode definir uma amostragem de taxa de frames personalizada transmitindo um argumento fps a videoMetadata.

Por predefinição, é usada uma amostra de 1 frame por segundo (FPS) do vídeo. Pode definir um valor de FPS baixo (< 1) para vídeos longos. Isto é especialmente útil para vídeos maioritariamente estáticos (por exemplo, palestras). Se quiser captar mais detalhes em imagens que mudam rapidamente, considere definir um valor de FPS mais elevado.

Ajuste a resolução do conteúdo multimédia

Pode ajustar o parâmetro MediaResolution para processar os seus vídeos com menos tokens.

Defina parâmetros do modelo opcionais

Cada modelo tem um conjunto de parâmetros opcionais que pode definir. Para mais informações, consulte o artigo Parâmetros de geração de conteúdo.

Conversão de vídeo em tokens

Veja como são calculados os tokens para vídeo:

  • A faixa de áudio está codificada com frames de vídeo. A faixa de áudio também é dividida em segmentos de 1 segundo, cada um dos quais representa 32 tokens. O vídeo e os tokens de áudio são intercalados com as respetivas indicações de tempo. As indicações de tempo são representadas como 5 tokens.
  • Para vídeos com uma amostragem igual ou inferior a 1 frame por segundo (fps), as indicações de tempo da primeira hora do vídeo são representadas como 5 tokens por frame do vídeo. As restantes indicações de tempo são representadas como 7 tokens por frame de vídeo.
  • Para vídeos com amostragem acima de 1 frame por segundo (fps), as indicações de tempo da primeira hora do vídeo são representadas como 9 tokens por frame de vídeo. As restantes indicações de tempo são representadas como 11 tokens por frame de vídeo.

Práticas recomendadas

Quando usar vídeo, siga as práticas recomendadas e as informações seguintes para obter os melhores resultados:

  • Se o comando contiver um único vídeo, coloque o vídeo antes do comando de texto.
  • Se precisar de localização de indicações de tempo num vídeo com áudio, peça ao modelo para gerar indicações de tempo que sigam o formato descrito em "Formato de indicação de tempo".

Limitações

Embora os modelos multimodais do Gemini sejam poderosos em muitos casos de utilização multimodal, é importante compreender as limitações dos modelos:

  • Moderação de conteúdo: os modelos recusam-se a fornecer respostas sobre vídeos que violam as nossas políticas de segurança.
  • Reconhecimento de sons que não são de voz: os modelos que suportam áudio podem cometer erros ao reconhecer sons que não são de voz.

Detalhes técnicos sobre vídeos

  • Modelos e contexto suportados: todos os modelos Gemini 2.0 e 2.5 podem processar dados de vídeo.

    • Os modelos com uma capacidade de resposta de 2 milhões de tokens podem processar vídeos com até 2 horas de duração na resolução de multimédia predefinida ou 6 horas de duração na resolução de multimédia baixa, enquanto os modelos com uma capacidade de resposta de 1 milhão de tokens podem processar vídeos com até 1 hora de duração na resolução de multimédia predefinida ou 3 horas de duração na resolução de multimédia baixa.
  • Processamento da API File: quando usa a API File, os vídeos são amostrados a 1 frame por segundo (FPS) e o áudio é processado a 1 Kbps (canal único). As indicações de tempo são adicionadas a cada segundo.

    • Estas taxas estão sujeitas a alterações futuras para melhorias na inferência.
  • Cálculo de tokens: cada segundo de vídeo é convertido em tokens da seguinte forma:

    • Frames individuais (amostrados a 1 FPS):

      • Se mediaResolution estiver definido como baixo, os frames são tokenizados a 66 tokens por frame, mais tokens de data/hora.

      • Caso contrário, os frames são tokenizados a 258 tokens por frame, mais tokens de data/hora.

    • Áudio: 25 tokens por segundo, mais tokens de indicação de tempo.

    • Os metadados também estão incluídos.

    • Total: aproximadamente 300 tokens por segundo de vídeo na resolução de multimédia predefinida ou 100 tokens por segundo de vídeo na resolução de multimédia baixa.

  • Formato da indicação de tempo: quando se refere a momentos específicos num vídeo no seu comando, o formato da indicação de tempo depende da taxa de amostragem de frames por segundo (FPS) do vídeo:

    • Para taxas de amostragem de 1 FPS ou inferiores: use o formato MM:SS, em que os dois primeiros dígitos representam os minutos e os dois últimos dígitos representam os segundos. Se tiver desvios superiores a 1 hora, use o formato H:MM:SS.

    • Para taxas de amostragem superiores a 1 FPS: use o formato MM:SS.sss ou, se tiver desvios superiores a 1 hora, use o formato H:MM:SS.sss, descrito da seguinte forma:

      • O primeiro dígito representa a hora.
      • Os dois segundos dígitos representam os minutos.
      • Os terceiros dois dígitos representam os segundos.
      • Os três últimos dígitos representam os subsegundos.
  • Práticas recomendadas:

    • Use apenas um vídeo por pedido de comando para ter os melhores resultados.

    • Se combinar texto e um único vídeo, coloque o comando de texto depois da parte do vídeo na matriz contents.

    • Tenha em atenção que as sequências de ações rápidas podem perder detalhes devido à taxa de amostragem de 1 FPS. Considere abrandar esses clipes, se necessário.

O que se segue?