A partir de 29 de abril de 2025, os modelos Gemini 1.5 Pro e Gemini 1.5 Flash não estarão disponíveis em projetos que não os usaram antes, incluindo novos projetos. Para mais detalhes, consulte Versões e ciclo de vida do modelo.
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Esta página fornece pré-requisitos e instruções detalhadas para ajustar
o Gemini em dados de vídeo usando o aprendizado supervisionado.
Modelos compatíveis
Os seguintes modelos do Gemini são compatíveis com o ajuste de vídeo:
Gemini 2.5 Flash
Gemini 2.5 Flash-Lite
Gemini 2.5 Pro
Casos de uso
Com o ajuste de detalhes, é possível adaptar os modelos básicos do Gemini para tarefas especializadas.
Confira alguns casos de uso de vídeo:
Resumo automático de vídeos: ajuste de LLMs para gerar resumos concisos e coerentes de vídeos longos, capturando os principais temas, eventos e narrativas. Isso é útil para descoberta de conteúdo, arquivamento e revisões rápidas.
Reconhecimento e localização detalhados de eventos: o ajuste detalhado permite que os LLMs identifiquem e localizem ações, eventos ou objetos específicos em uma linha do tempo de vídeo com mais precisão. Por exemplo, identificar todas as instâncias de um produto específico em um vídeo de marketing ou uma ação específica em imagens de esportes.
Moderação de conteúdo: o ajuste especializado pode melhorar a capacidade de um LLM de detectar conteúdo sensível, inadequado ou que viola políticas em vídeos, indo além da simples detecção de objetos para entender o contexto e as nuances.
Legendas e legendas descritivas de vídeo: embora já seja uma aplicação comum, o ajuste pode melhorar a precisão, a fluência e a percepção de contexto das legendas geradas automaticamente, incluindo descrições de sinais não verbais.
Limitações
Tamanho máximo do arquivo de vídeo: 100 MB.
Isso pode não ser suficiente para arquivos de vídeo grandes. Confira algumas soluções alternativas recomendadas:
Se houver poucos arquivos grandes, remova-os dos arquivos JSONL.
Se houver muitos arquivos grandes no conjunto de dados e eles não puderem ser ignorados, reduza a resolução visual dos arquivos. Isso pode prejudicar a performance.
Divida os vídeos para limitar o tamanho dos arquivos a 100 MB e use os vídeos divididos para ajuste. Mude todas as anotações de carimbo de data/hora correspondentes ao vídeo original para a nova linha do tempo (em partes).
Duração máxima do vídeo por exemplo: 5 minutos com MEDIA_RESOLUTION_MEDIUM e 20 minutos com MEDIA_RESOLUTION_LOW.
Exemplos descartados: se um exemplo tiver um vídeo mais longo do que o tamanho máximo aceito, ele será descartado do conjunto de dados. Os exemplos descartados não são faturados nem usados para treinamento.
Se mais de 10% do conjunto de dados for descartado, o job vai falhar com uma mensagem de erro antes do início do treinamento.
Não é possível misturar resoluções de mídia diferentes: o valor de mediaResolution para cada exemplo em todo o conjunto de dados de treinamento precisa ser consistente. Todas as linhas nos arquivos JSONL usados para treinamento e validação
precisam ter o mesmo valor de mediaResolution.
Formato do conjunto de dados
O campo fileUri especifica o local do conjunto de dados. Pode ser o URI
de um arquivo em um bucket do Cloud Storage ou um URL HTTP
ou HTTPS disponível publicamente.
O campo mediaResolution é usado para especificar a contagem de tokens por frame dos vídeos de entrada, como um dos seguintes valores:
MEDIA_RESOLUTION_LOW: 64 tokens por frame
MEDIA_RESOLUTION_MEDIUM: 256 tokens por frame
O ajuste de modelos com MEDIA_RESOLUTION_LOW é aproximadamente quatro vezes mais rápido do que os ajustados com MEDIA_RESOLUTION_MEDIUM, com uma melhoria mínima de desempenho.
Quando um segmento de vídeo é usado para treinamento e validação, ele fica no campo videoMetadata. Durante o ajuste, esse ponto de dados é decodificado para conter informações do segmento extraído do arquivo de vídeo especificado, começando do carimbo de data/hora startOffset (o deslocamento inicial, em segundos) até endOffset.
As seções a seguir apresentam exemplos de formato de conjunto de dados de vídeo.
Exemplo de esquema JSON para casos em que o vídeo completo é usado para treinamento e validação
Esse esquema é adicionado como uma única linha no arquivo JSONL.
{"contents":[{"role":"user","parts":[{"fileData":{"fileUri":"gs://<path to the mp4 video file>","mimeType":"video/mp4"},},{"text":" You are a video analysis expert. Detect which animal appears in the video.The video can only have one of the following animals: dog, cat, rabbit.\n Output Format:\n Generate output in the following JSON format:\n [{\n \"animal_name\": \"<CATEGORY>\",\n }]\n"}]},{"role":"model","parts":[{"text":"```json\n[{\"animal_name\": \"dog\"}]\n```"}]},],"generationConfig":{"mediaResolution":"MEDIA_RESOLUTION_LOW"}}
Exemplo de esquema JSON para casos em que um segmento de vídeo é usado para treinamento e validação
Esse esquema é adicionado como uma única linha no arquivo JSONL.
{"contents":[{"role":"user","parts":[{"fileData":{"fileUri":"gs://<path to the mp4 video file>","mimeType":"video/mp4"},"videoMetadata":{"startOffset":"5s","endOffset":"25s"}},{"text":" You are a video analysis expert. Detect which animal appears in the video.The video can only have one of the following animals: dog, cat, rabbit.\n Output Format:\n Generate output in the following JSON format:\n [{\n \"animal_name\": \"<CATEGORY>\",\n }]\n"}]},{"role":"model","parts":[{"text":"```json\n[{\"animal_name\": \"dog\"}]\n```"}]},],"generationConfig":{"mediaResolution":"MEDIA_RESOLUTION_LOW"}}
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-02 UTC."],[],[],null,["# Video tuning\n\nThis page provides prerequisites and detailed instructions for fine-tuning\nGemini on video data using supervised learning.\n\nSupported models\n----------------\n\nThe following Gemini models support video tuning:\n\n- Gemini 2.5 Flash\n- Gemini 2.5 Flash-Lite\n- Gemini 2.5 Pro\n\nUse cases\n---------\n\nFine-tuning lets you adapt base Gemini models for specialized tasks.\nHere are some video use cases:\n\n- **Automated video summarization**: Tuning LLMs to generate concise and\n coherent summaries of long videos, capturing the main themes, events, and\n narratives. This is useful for content discovery, archiving, and quick\n reviews.\n\n- **Detailed event recognition and localization**: Fine-tuning allows LLMs to\n identify and pinpoint specific actions, events, or objects within a video\n timeline with greater accuracy. For example, identifying all instances of a\n particular product in a marketing video or a specific action in sports\n footage.\n\n- **Content moderation**: Specialized tuning can improve an LLM's ability to\n detect sensitive, inappropriate, or policy-violating content within videos,\n going beyond simple object detection to understand context and nuance.\n\n- **Video captioning and subtitling**: While already a common application,\n tuning can improve the accuracy, fluency, and context-awareness of\n automatically generated captions and subtitles, including descriptions of\n nonverbal cues.\n\nLimitations\n-----------\n\n- **Maximum video file size** : 100MB. This may not be sufficient for large video files. Some recommended workarounds are as follows:\n - If there are very few large files, drop those files from including those in the JSONL files.\n - If there are many large files in your dataset and cannot be ignored, reduce visual resolution of the files. This may hurt performance.\n - Chunk the videos to limit the files size to 100MB and use the chunked videos for tuning. Make sure to change any timestamp annotations corresponding to the original video to the new (chunked) video timeline.\n- **Maximum video length per example** : 5 minutes with `MEDIA_RESOLUTION_MEDIUM` and 20 minutes with `MEDIA_RESOLUTION_LOW`.\n- **Dropped examples**: If an example contains video that is longer than the supported maximum length, that example is dropped from the dataset. Dropped examples are not billed or used for training. If more than 10% of the dataset is dropped, the job will fail with an error message before the start of training.\n- **Mixing different media resolutions isn't supported** : The value of `mediaResolution` for each example in the entire training dataset must be consistent. All lines in the JSONL files used for training and validation should have the same value of `mediaResolution`.\n\nDataset format\n--------------\n\nThe `fileUri` field specifies the location of your dataset. It can be the URI\nfor a file in a Cloud Storage bucket, or it can be a publicly available HTTP\nor HTTPS URL.\n\nThe `mediaResolution` field is used to specify the token count per frame for\nthe input videos, as one of the following values:\n\n- `MEDIA_RESOLUTION_LOW`: 64 tokens per frame\n- `MEDIA_RESOLUTION_MEDIUM`: 256 tokens per frame\n\nModel tuning with `MEDIA_RESOLUTION_LOW` is roughly 4 times faster than the ones\ntuned with `MEDIA_RESOLUTION_MEDIUM` with minimal performance improvement.\n\nWhen a video segment is used for training and validation, the video segment\nis in the `videoMetadata` field. During tuning, this data point is decoded\nto contain information from the segment extracted from the specified video file,\nstarting from timestamp `startOffset` (the start offset, in seconds) until\n`endOffset`.\n\nTo see the generic format example, see\n[Dataset example for Gemini](/vertex-ai/generative-ai/docs/models/gemini-supervised-tuning-prepare#dataset-example).\n\nThe following sections present video dataset format examples.\n\n### JSON schema example for cases where the full video is used for training and validation\n\nThis schema is added as a single line in the JSONL file. \n\n {\n \"contents\": [\n {\n \"role\": \"user\",\n \"parts\": [\n {\n \"fileData\": {\n \"fileUri\": \"gs://\u003cpath to the mp4 video file\u003e\",\n \"mimeType\": \"video/mp4\"\n },\n },\n {\n \"text\": \"\n You are a video analysis expert. Detect which animal appears in the\n video.The video can only have one of the following animals: dog, cat,\n rabbit.\\n Output Format:\\n Generate output in the following JSON\n format:\\n\n [{\\n\n \\\"animal_name\\\": \\\"\u003cCATEGORY\u003e\\\",\\n\n }]\\n\"\n }\n ]\n },\n {\n \"role\": \"model\",\n \"parts\": [\n {\n \"text\": \"```json\\n[{\\\"animal_name\\\": \\\"dog\\\"}]\\n```\"\n }\n ]\n },\n ],\n \"generationConfig\": {\n \"mediaResolution\": \"MEDIA_RESOLUTION_LOW\"\n }\n }\n\n### JSON schema example for cases where a video segment is used for training and validation\n\nThis schema is added as a single line in the JSONL file. \n\n {\n \"contents\": [\n {\n \"role\": \"user\",\n \"parts\": [\n {\n \"fileData\": {\n \"fileUri\": \"gs://\u003cpath to the mp4 video file\u003e\",\n \"mimeType\": \"video/mp4\"\n },\n \"videoMetadata\": {\n \"startOffset\": \"5s\",\n \"endOffset\": \"25s\"\n }\n },\n {\n \"text\": \"\n You are a video analysis expert. Detect which animal appears in the\n video.The video can only have one of the following animals: dog, cat,\n rabbit.\\n Output Format:\\n Generate output in the following JSON\n format:\\n\n [{\\n\n \\\"animal_name\\\": \\\"\u003cCATEGORY\u003e\\\",\\n\n }]\\n\"\n }\n ]\n },\n {\n \"role\": \"model\",\n \"parts\": [\n {\n \"text\": \"```json\\n[{\\\"animal_name\\\": \\\"dog\\\"}]\\n```\"\n }\n ]\n },\n ],\n \"generationConfig\": {\n \"mediaResolution\": \"MEDIA_RESOLUTION_LOW\"\n }\n }\n\nWhat's next\n-----------\n\n- To learn more about video tuning, see [How to fine-tune Gemini 2.5 using videos via Vertex AI](https://cloud.google.com/blog/products/ai-machine-learning/how-to-fine-tune-video-outputs-using-vertex-ai?e=48754805).\n- To learn more about the image understanding capability of Gemini, see our [Image understanding](/vertex-ai/generative-ai/docs/multimodal/image-understanding) documentation.\n- To start tuning, see [Tune Gemini models by using supervised fine-tuning](/vertex-ai/generative-ai/docs/models/gemini-use-supervised-tuning)\n- To learn how supervised fine-tuning can be used in a solution that builds a generative AI knowledge base, see [Jump Start Solution: Generative AI\n knowledge base](/architecture/ai-ml/generative-ai-knowledge-base)."]]