Gerar vídeo usando o Veo

A API Gemini oferece acesso ao Veo 2, o modelo de geração de vídeo de ponta do Google. O Veo foi criado para ajudar você a criar aplicativos de IA de última geração que transformam imagens e comandos do usuário em recursos de vídeo de alta qualidade.

Este guia vai ajudar você a começar a usar a Veo com a API Gemini.

Sobre a Veo

O Veo é o modelo de geração de vídeos mais eficiente do Google até o momento. Ele gera vídeos em uma ampla variedade de estilos cinematográficos e visuais, capturando nuances de comando para renderizar detalhes intrincados de forma consistente em todos os frames.

Para saber mais e conferir exemplos de saída, consulte a Visão geral do Google DeepMind Veo.

Especificações

Modalidades
  • Geração de texto para vídeo
  • Geração de imagem para vídeo
Latência da solicitação
  • Mínimo: 11 segundos
  • Máx.: 6 minutos (durante os horários de pico)
Geração de comprimento variável 5 a 8 segundos
Resolução 720p
Frame rate 24 fps
Proporção
  • 16:9: paisagem
  • 9:16 — retrato
Idiomas de entrada (texto para vídeo) Inglês

Os vídeos criados pelo Veo têm marcas-d'água usando o SynthID, nossa ferramenta para adicionar marcas-d'água e identificar conteúdo gerado por IA. Eles são transmitidos por filtros de segurança e processos de verificação de memorização que ajudam a reduzir os riscos de privacidade, direitos autorais e viés.

Antes de começar

Antes de chamar a API Gemini, verifique se você tem o SDK de sua escolha instalado e uma chave da API Gemini configurada e pronta para uso.

Para usar o Veo com os SDKs do Google Gen AI, verifique se você tem uma das seguintes versões instaladas:

Gerar vídeos

Esta seção oferece exemplos de código para gerar vídeos usando comandos de texto e usando imagens.

Gerar com base em texto

Use o seguinte código para gerar vídeos com o Veo:

Python

import time
from google import genai
from google.genai import types

client = genai.Client()  # read API key from GOOGLE_API_KEY

operation = client.models.generate_videos(
    model="veo-2.0-generate-001",
    prompt="Panning wide shot of a calico kitten sleeping in the sunshine",
    config=types.GenerateVideosConfig(
        person_generation="dont_allow",  # "dont_allow" or "allow_adult"
        aspect_ratio="16:9",  # "16:9" or "9:16"
    ),
)

while not operation.done:
    time.sleep(20)
    operation = client.operations.get(operation)

for n, generated_video in enumerate(operation.response.generated_videos):
    client.files.download(file=generated_video.video)
    generated_video.video.save(f"video{n}.mp4")  # save the video

REST

# Use curl to send a POST request to the predictLongRunning endpoint
# The request body includes the prompt for video generation
curl "${BASE_URL}/models/veo-2.0-generate-001:predictLongRunning?key=${GOOGLE_API_KEY}" \
  -H "Content-Type: application/json" \
  -X "POST" \
  -d '{
    "instances": [{
        "prompt": "Panning wide shot of a calico kitten sleeping in the sunshine"
      }
    ],
    "parameters": {
      "aspectRatio": "16:9",
      "personGeneration": "dont_allow",
    }
  }' | tee result.json | jq .name | sed 's/"//g' > op_name

Um gatinho dormindo ao sol.

Esse código leva cerca de dois a três minutos para ser executado, mas pode levar mais tempo se os recursos forem limitados. Quando a execução for concluída, você vai ver um vídeo parecido com este:

Se uma mensagem de erro aparecer em vez de um vídeo, significa que os recursos estão limitados e sua solicitação não foi concluída. Nesse caso, execute o código novamente.

Os vídeos gerados são armazenados no servidor por dois dias e depois são excluídos. Se você quiser salvar uma cópia local do vídeo gerado, execute result() e save() em até dois dias após a geração.

Gerar a partir de imagens

Também é possível gerar vídeos usando imagens. O código abaixo gera uma imagem usando o Imagen e, em seguida, usa a imagem gerada como o frame inicial do vídeo gerado.

Primeiro, gere uma imagem usando o Imagen:

Python

prompt="Panning wide shot of a calico kitten sleeping in the sunshine",

imagen = client.models.generate_images(
    model="imagen-3.0-generate-002",
    prompt=prompt,
    config=types.GenerateImagesConfig(
      aspect_ratio="16:9",
      number_of_images=1
    )
)

imagen.generated_images[0].image

Em seguida, gere um vídeo usando a imagem resultante como o primeiro frame:

Python

operation = client.models.generate_videos(
    model="veo-2.0-generate-001",
    prompt=prompt,
    image = imagen.generated_images[0].image,
    config=types.GenerateVideosConfig(
      # person_generation only accepts "dont_allow" for image-to-video
      aspect_ratio="16:9",  # "16:9" or "9:16"
      number_of_videos=2
    ),
)

# Wait for videos to generate
 while not operation.done:
  time.sleep(20)
  operation = client.operations.get(operation)

for n, video in enumerate(operation.response.generated_videos):
    fname = f'with_image_input{n}.mp4'
    print(fname)
    client.files.download(file=video.video)
    video.video.save(fname)

Parâmetros do modelo do Veo

(As convenções de nomenclatura variam de acordo com a linguagem de programação.)

  • prompt: o comando de texto do vídeo. Quando presente, o parâmetro image é opcional.
  • image: a imagem a ser usada como o primeiro quadro do vídeo. Quando presente, o parâmetro prompt é opcional.
  • negativePrompt: string de texto que descreve o que você quer desestimular o modelo a gerar
  • aspectRatio: muda a proporção do vídeo gerado. Os valores com suporte são "16:9" e "9:16". O padrão é "16:9".
  • personGeneration: permite que o modelo gere vídeos de pessoas. Os seguintes valores são aceitos:
    • Geração de texto em vídeo:
      • "dont_allow": não permite a inclusão de pessoas ou rostos.
      • "allow_adult": gerar vídeos que incluem adultos, mas não crianças.
    • Geração de imagem em vídeo:
      • "dont_allow": valor padrão e único para a geração de imagem em vídeo.
  • numberOfVideos: vídeos de saída solicitados, 1 ou 2.
  • durationSeconds: duração de cada vídeo de saída em segundos, entre 5 e 8.
  • enhance_prompt: ativa ou desativa o reescrito de comandos. Ativado por padrão.

O que você pode tentar

Para aproveitar ao máximo o Veo, incorpore a terminologia específica do vídeo nas suas instruções. A Veo entende uma ampla gama de termos relacionados a:

  • Composição da imagem:especifique o enquadramento e o número de sujeitos na imagem (por exemplo, "plano único", "plano de dois", "plano de ombro").
  • Posicionamento e movimento da câmera:controle a localização e o movimento da câmera usando termos como "nível dos olhos", "ângulo alto", "olho de verme", "dolly shot", "zoom shot", "pan shot" e "tracking shot".
  • Efeitos de foco e lente:use termos como "foco superficial", "foco profundo", "foco suave", "lente macro" e "lente grande-angular" para conseguir efeitos visuais específicos.
  • Estilo e assunto geral:oriente a direção criativa da Veo especificando estilos como "ficção científica", "comédia romântica", "filme de ação" ou "animação". Também é possível descrever os temas e planos de fundo que você quer, como "cenário urbano", "natureza", "veículos" ou "animais".

Guia de comandos do Veo

Esta seção do guia da Veo contém exemplos de vídeos que podem ser criados usando a Veo e mostra como modificar as solicitações para produzir resultados diferentes.

Filtros de segurança

O Veo aplica filtros de segurança no Gemini para garantir que vídeos gerados e fotos enviadas não contenham conteúdo ofensivo. As solicitações que violam nossos termos e diretrizes são bloqueadas.

Noções básicas para escrever comandos

Boas instruções são descritivas e claras. Para que o vídeo gerado fique o mais próximo possível do que você quer, comece identificando sua ideia principal e, em seguida, refine-a adicionando palavras-chave e modificadores.

Os seguintes elementos precisam ser incluídos no comando:

  • Assunto: o objeto, a pessoa, o animal ou o cenário que você quer no vídeo.
  • Contexto: o plano de fundo ou o contexto em que o assunto está inserido.
  • Ação: o que o sujeito está fazendo, por exemplo, caminhar, correr ou virar a cabeça.
  • Estilo: pode ser geral ou muito específico. Considere usar palavras-chave específicas de estilo de filme, como filme de terror, filme noir ou estilos animados como desenho animado.
  • Movimento da câmera: [opcional] o que a câmera está fazendo, como vista aérea, nível dos olhos, vista de cima para baixo ou ângulo baixo.
  • Composição: [opcional] como a imagem é enquadrada, como plano geral, plano fechado ou plano detalhe.
  • Ambiance: [opcional] como a cor e a luz contribuem para a cena, como tons de azul, noite ou tons quentes.

Mais dicas para escrever comandos

As dicas a seguir ajudam você a escrever comandos que geram seus vídeos:

  • Use linguagem descritiva: use adjetivos e advérbios para dar uma ideia clara para a Veo.
  • Fornecer contexto: se necessário, inclua informações de contexto para ajudar o modelo a entender o que você quer.
  • Referências a estilos artísticos específicos: se você tem uma estética em mente, faça referência a estilos ou movimentos artísticos específicos.
  • Use ferramentas de engenharia de comando: considere usar ferramentas ou recursos de engenharia de comando para refinar seus comandos e alcançar resultados ótimos. Para mais informações, acesse Introdução à criação de comandos.
  • Aprimore os detalhes faciais nas suas imagens pessoais e em grupo: especifique detalhes faciais como foco da foto, como usar a palavra retrato no comando.

Exemplos de comandos e saída

Esta seção apresenta várias sugestões, destacando como os detalhes descritivos podem melhorar o resultado de cada vídeo.

Sinos

Este vídeo demonstra como usar os elementos dos conceitos básicos da redação de comandos.

Comando Saída gerada
Foto de perto (composição) de pingentes derretidos (sujeito) em uma parede de pedra (contexto) com tons azuis frios (ambiente), com zoom (movimento da câmera) mantendo o detalhe de perto de pingos de água (ação). Pingentes de gelo com um fundo azul.

Homem no telefone

Esses vídeos demonstram como você pode revisar o comando com detalhes cada vez mais específicos para que o Veo refine o resultado de acordo com suas preferências.

Comando Saída gerada Análise
A câmera se move para mostrar um close de um homem desesperado em um sobretudo verde. Ele está fazendo uma ligação em um telefone de parede com disco giratório e uma luz de néon verde. Parece uma cena de filme. Homem falando no telefone. Este é o primeiro vídeo gerado com base no comando.
Um close cinematográfico mostra um homem desesperado em um sobretudo verde enquanto ele disca um telefone de disco montado em uma parede de tijolos ásperos, banhado pelo brilho sinistro de um letreiro de néon verde. A câmera se aproxima, revelando a tensão na mandíbula dele e o desespero estampado no rosto dele enquanto ele luta para fazer a ligação. A profundidade de campo rasa foca na testa franzida e no telefone rotativo preto, desfocando o plano de fundo em um mar de cores neon e sombras indistintas, criando uma sensação de urgência e isolamento. Homem falando ao telefone Um comando mais detalhado resulta em um vídeo mais focado e com um ambiente mais rico.
Um vídeo com movimento suave que mostra um homem desesperado com um sobretudo verde, usando um telefone rotativo antigo em uma parede com um brilho verde de néon. A câmera começa a uma distância média, se aproximando lentamente do rosto do homem, revelando a expressão frenética e o suor na testa dele enquanto ele disca o número com urgência. O foco está nas mãos do homem, com os dedos mexendo no disco enquanto ele tenta se conectar desesperadamente. A luz verde de néon projeta sombras longas na parede, aumentando a atmosfera tensa. A cena é montada para enfatizar o isolamento e o desespero do homem, destacando o contraste entre o brilho vibrante do neon e a determinação sombria do homem. Homem falando no telefone. Adicionar mais detalhes dá ao objeto uma expressão realista e cria uma cena intensa e vibrante.

Leopardo-das-neves

Este exemplo demonstra a saída que a Veo pode gerar para uma solicitação simples.

Comando Saída gerada
Uma criatura fofa com pelo semelhante a um leopardo da neve está caminhando na floresta no inverno, renderização em estilo de desenho animado 3D. O leopardo-das-neves está letárgico.

Leopardo-das-neves correndo

Esse comando tem mais detalhes e mostra a saída gerada que pode estar mais próxima do que você quer no vídeo.

Comando Saída gerada
Crie uma cena animada 3D curta em um estilo alegre de desenho animado. Uma criatura fofa com pelagem semelhante a um leopardo da neve, olhos grandes e expressivos e uma forma arredondada e amigável desfila alegremente por uma floresta de inverno fantástica. A cena precisa mostrar árvores cobertas de neve, flocos de neve caindo suavemente e luz solar quente filtrando pelos galhos. Os movimentos saltitantes e o sorriso largo da criatura devem transmitir puro prazer. Procure um tom otimista e caloroso com cores brilhantes e alegres e uma animação divertida. O leopardo-das-neves está mais rápido.

Exemplos por elementos de escrita

Estes exemplos mostram como refinar suas solicitações por cada elemento básico.

Assunto

Este exemplo mostra como especificar uma descrição do assunto.

Descrição do assunto Comando Saída gerada
A descrição pode incluir um tema ou vários temas e ações. Aqui, o assunto é "prédio residencial de concreto branco". Renderização arquitetônica de um edifício de apartamentos de concreto branco com formas orgânicas fluidas, que se misturam perfeitamente com vegetação exuberante e elementos futuristas Marcador.

Contexto

Este exemplo mostra como especificar o contexto.

Context Comando Saída gerada
O plano de fundo ou o contexto em que o assunto será colocado é muito importante. Tente colocar o objeto em vários planos de fundo, como em uma rua movimentada ou no espaço sideral. Um satélite flutuando pelo espaço sideral com a lua e algumas estrelas ao fundo. Satélite flutuando na atmosfera.

Ação

Este exemplo mostra como especificar a ação.

Ação Comando Saída gerada
O que o sujeito está fazendo, como caminhar, correr ou virar a cabeça. Uma imagem ampla de uma mulher caminhando pela praia, parecendo satisfeita e relaxada em direção ao horizonte ao pôr do sol. O pôr do sol é absolutamente lindo.

Estilo

Este exemplo mostra como especificar o estilo.

Estilo Comando Saída gerada
É possível adicionar palavras-chave para melhorar a qualidade da geração e direcioná-la para o estilo pretendido, como profundidade de campo rasa, foto de filme, minimalismo, surrealismo, vintage, futurismo ou dupla exposição. Estilo de filme noir, homem e mulher caminhando na rua, mistério, cinematográfico, preto e branco. O estilo noir é absolutamente lindo.

Movimento da câmera

Este exemplo mostra como especificar o movimento da câmera.

Movimento da câmera Comando Saída gerada
As opções de movimento da câmera incluem plano de detalhe, vista aérea, vista de drone de rastreamento ou plano de detalhe de rastreamento. Uma cena em primeira pessoa de um carro antigo dirigindo na chuva, no Canadá à noite, cinematográfica. O pôr do sol é absolutamente lindo.

Composição

Este exemplo mostra como especificar a composição.

Composição Comando Saída gerada
Como a imagem é enquadrada (plano geral, close-up, ângulo baixo). Close-up extremo de um olho com a cidade refletida nele. O pôr do sol é absolutamente lindo.
Criar um vídeo de uma tomada ampla de um surfista caminhando em uma praia com uma prancha, um pôr do sol bonito, cinematográfico. O pôr do sol é absolutamente lindo.

Ambiente

Este exemplo mostra como especificar o ambiente.

Ambiente Comando Saída gerada
As paletas de cores têm um papel vital na fotografia, influenciando o clima e transmitindo as emoções pretendidas. Tente usar termos como "tons quentes e em tons de laranja", "luz natural", "nascer do sol" ou "pôr-do-sol". Por exemplo, uma paleta dourada e quente pode transmitir uma sensação romântica e atmosférica a uma fotografia. Um close de uma garota segurando um adorável filhote de golden retriever no parque, com luz do sol. Um filhote nos braços de uma menina.
Plano fechado cinematográfico de uma mulher triste em um ônibus na chuva, tons azuis frios, clima triste. Uma mulher em um ônibus que está triste.

Usar imagens de referência para gerar vídeos

É possível dar vida às imagens usando o recurso imagem para vídeo do Veo. Você pode usar recursos existentes ou tentar o Imagen para gerar algo novo.

Comando Saída gerada
Coelho com uma barra de chocolate. O coelho está fugindo.
O coelho foge. O coelho está fugindo.

Solicitações negativas

As solicitações negativas podem ser uma ferramenta poderosa para ajudar a especificar elementos que você não quer no vídeo. Descreva o que você quer que o modelo não gere após a frase "Comando negativo". Siga estas dicas:

  • ❌ Não use linguagem instrutiva ou palavras como não ou não faça. Por exemplo, "Sem paredes" ou "não mostrar paredes".

  • ✅ Descreva o que você não quer que seja mostrado. Por exemplo, "wall, frame", que significa que você não quer uma parede ou um frame no vídeo.

Comando Saída gerada
Gerar uma animação curta e estilizada de uma árvore de carvalho grande e solitária com folhas balançando vigorosamente em um vento forte. A árvore precisa ter uma forma um pouco exagerada e inusitada, com galhos dinâmicos e fluidos. As folhas devem mostrar uma variedade de cores de outono, girando e dançando ao vento. A animação precisa usar uma paleta de cores acolhedora e convidativa. Árvore com palavras.
Gerar uma animação curta e estilizada de uma árvore de carvalho grande e solitária com folhas balançando vigorosamente em um vento forte. A árvore precisa ter uma forma um pouco exagerada e inusitada, com galhos dinâmicos e fluidos. As folhas devem mostrar uma variedade de cores de outono, girando e dançando ao vento. A animação precisa usar uma paleta de cores acolhedora e convidativa.

Com comando negativo: plano de fundo urbano, estruturas feitas pelo homem, atmosfera escura, tempestuosa ou ameaçadora.
Árvore sem palavras negativas.

Proporções

A geração de vídeo do Gemini Veo oferece suporte às seguintes proporções:

Proporção Descrição
Widescreen ou 16:9 A proporção mais comum para TVs, monitores e telas de smartphones (paisagem). Use essa opção quando quiser capturar mais do plano de fundo, como em paisagens panorâmicas.
Retrato ou 9:16 Widescreen girado. Essa proporção ficou conhecida por apps de vídeos mais curtos, como o YouTube Shorts. Use essa opção para retratos ou objetos altos com fortes orientações verticais, como edifícios, árvores, cachoeiras ou edifícios.

Tela ampla

Este comando é um exemplo da proporção de 16:9 para tela widescreen.

Comando Saída gerada
Criar um vídeo com uma vista de drone de um homem dirigindo um carro conversível vermelho em Palm Springs, década de 1970, com luz solar quente e sombras longas. A cachoeira é absolutamente linda.

Retrato

Esta instrução é um exemplo da proporção de retrato de 9:16.

Comando Saída gerada
Crie um vídeo destacando o movimento suave de uma majestosa cachoeira havaiana em uma floresta tropical exuberante. Foque no fluxo realista da água, na folhagem detalhada e na iluminação natural para transmitir tranquilidade. Capture a água corrente, a atmosfera nebulosa e a luz do sol filtrada pela copa densa. Use movimentos suaves e cinematográficos da câmera para mostrar a cachoeira e os arredores. Procure um tom tranquilo e realista, que transporte o espectador para a beleza serena da floresta tropical havaiana. A cachoeira é absolutamente linda.

A seguir

  • Ganhe mais experiência na geração de vídeos de IA com o Veo Colab.