Como estender um vídeo para 40 segundos com Gemini Omni 1.1 Flash

A extensão de cena adiciona 10 segundos por vez, até 40, e o Omni 1.1 agora lê 10 segundos de contexto anterior em vez de um. O formato da requisição, os limites e como evitar que o segmento três se desvie.

Ashley Innocent

Ashley Innocent

28 agosto 2026

Como estender um vídeo para 40 segundos com Gemini Omni 1.1 Flash

Apidog para empresas

Implantação local

SSO & RBAC

Conforme SOC 2

Explorar Apidog Enterprise

O Gemini Omni 1.1 Flash gera clipes de 10 segundos. A extensão de cena é como você ultrapassa esse limite: cada chamada de extensão adiciona mais 10 segundos, até um total acumulado de 40 segundos.

A mecânica existia no modelo de prévia, mas não era muito útil. A prévia analisava o último segundo da filmagem antes de continuar, o que era contexto suficiente para manter as cores aproximadamente consistentes e nada mais. Os personagens trocavam de roupa. Os movimentos da câmera eram reiniciados. O lançamento GA em 27 de agosto de 2026 aumentou essa janela para 10 segundos de contexto anterior, e o Google credita a mudança com "consistência visual aprimorada e aderência narrativa".

Este guia aborda como fazer a chamada, quais são os limites reais e como evitar que uma sequência de 40 segundos se desfaça no terceiro segmento.

A chamada de extensão básica

A extensão funciona através da Files API. Carregue o clipe, passe seu URI junto com um prompt descrevendo o que acontece a seguir:

import base64
from google import genai

client = genai.Client()

video_file = client.files.upload(file="my_video.mp4")

interaction = client.interactions.create(
    model="gemini-omni-1.1-flash",
    input=[
        {"type": "document", "uri": video_file.uri},
        {"type": "text", "text": "Continue a cena."},
    ],
)

with open("extended.mp4", "wb") as f:
    f.write(base64.b64decode(interaction.output_video.data))

Os uploads são processados assincronamente, então verifique o estado do arquivo antes de enviar a interação:

import time

while video_file.state == "PROCESSING":
    time.sleep(10)
    video_file = client.files.get(name=video_file.name)

if video_file.state == "FAILED":
    raise ValueError(video_file.state)

Se o vídeo que você está estendendo veio do Omni na mesma sessão, ignore completamente o upload e encadeie o ID da interação. Esse caminho é mais barato em termos de tokens e mantém mais estado:

res2 = client.interactions.create(
    model="gemini-omni-1.1-flash",
    previous_interaction_id=res1.id,
    input="A câmera recua para revelar a rua inteira.",
)

O passo a passo da API aborda o restante da superfície de solicitação, incluindo opções de resolução e entrega.

Introduzindo um personagem na extensão

Você pode anexar mídia de referência a uma extensão e apontar para ela a partir do prompt. Referências carregadas recebem slots que você endereça como <IMAGE_REF_0>, <IMAGE_REF_1> e assim por diante:

video_file = client.files.upload(file="my_video.mp4")
character_img = client.files.upload(file="character.png")

interaction = client.interactions.create(
    model="gemini-omni-1.1-flash",
    input=[
        {"type": "document", "uri": video_file.uri},
        {"type": "document", "uri": character_img.uri},
        {"type": "text", "text": "Estenda este vídeo: faça o personagem mostrado em <IMAGE_REF_0> entrar em cena e acenar."},
    ],
)

Referências de vídeo também funcionam, limitadas a três clipes de três segundos cada. O modelo os lê para movimento e aparência; o áudio nos clipes de referência é ignorado.

Os limites que vale a pena conhecer antes de planejar uma sequência

40 segundos é o teto. Quatro segmentos no total: uma geração mais três extensões. Não há como ir além dentro de uma única sequência.

Apenas anexar. A extensão adiciona ao final de um clipe. Você não pode adicionar filmagens no início ou inserir no meio. Se o segmento dois estiver errado, você regenera do segmento dois para frente, e tudo depois dele vai junto.

A entrada de upload é limitada a 10 segundos. Esse é o limite para vídeos que você carrega. Cadeias de várias etapas através de previous_interaction_id não são limitadas por isso, porque o modelo já mantém o estado anterior.

Sem diálogo em uploads estendidos. Você pode estender o clipe carregado de outra pessoa silenciosamente, ou trabalhar em uma interação de várias etapas, mas não pode adicionar diálogo ao estender um upload.

Restrições regionais. O upload e a edição de vídeo não estão disponíveis no Espaço Econômico Europeu, Suíça e Reino Unido. Vídeos gerados pelo modelo permanecem editáveis nessas regiões, então o caminho previous_interaction_id ainda funciona lá, enquanto o caminho de upload não.

Um vídeo por vez. O modelo não raciocinará sobre vários vídeos de entrada.

Esboçando o arco completo antes de renderizá-lo

Aqui está o fluxo de trabalho que economiza mais dinheiro e mais frustração.

Uma sequência de 40 segundos em 720p custa aproximadamente US$ 4,06 em saída de vídeo, e o modo de falha é específico: a história se desvia em algum lugar no terceiro segmento, então você regenera os segmentos três e quatro, e às vezes isso muda algo que você gostou na abertura do segmento três. Você pode queimar várias renderizações completas encontrando a versão que se mantém.

Esboce o arco inteiro em 360p primeiro. Ele gera até 60% mais rápido a um terço do custo, então os mesmos quatro segmentos custam cerca de US$ 1,35. Confirme se a história sobrevive a todas as quatro extensões, então renderize novamente em 720p ou superior com os prompts que você validou. O artigo de precificação tem a matemática completa.

Defina a resolução no formato de resposta:

interaction = client.interactions.create(
    model="gemini-omni-1.1-flash",
    input=[
        {"type": "document", "uri": video_file.uri},
        {"type": "text", "text": "Continue a cena."},
    ],
    response_format={"type": "video", "resolution": "360p"},
)

Escrevendo prompts que sobrevivem a quatro segmentos

Alguns padrões que se sustentam melhor do que outros.

Descreva a mudança, não a cena inteira. O modelo já vê 10 segundos do que veio antes. Redescrever o cenário o convida a reinterpretar o que já está na tela. "A câmera se aproxima da porta" é melhor do que um novo parágrafo sobre o quarto.

Dê um movimento por segmento. Extensões que pedem duas batidas tendem a entregar uma versão apressada de ambas. Dez segundos é uma ação.

Mantenha as âncoras de continuidade explícitas. Nomear o que deve permanecer constante ("o mesmo casaco vermelho", "o mesmo ângulo baixo") dá ao modelo algo para se agarrar através da emenda.

Não lute contra o limite de apenas anexar. Planeje sua sequência na ordem em que ela é reproduzida. Não há como consertar o começo mais tarde sem regenerar tudo depois dele.

A elaboração do prompt tem muito peso aqui, e o guia de prompts do Veo aborda princípios que se transferem entre modelos de vídeo.

Verificando suas extensões da mesma forma duas vezes

Quatro chamadas encadeadas significam quatro lugares para uma mudança no comportamento do modelo aparecer, e a saída de vídeo é difícil de avaliar visualmente para regressões quando você está olhando apenas a renderização final.

Salve cada etapa como sua própria solicitação no Apidog, com o URI do arquivo e o ID da interação em variáveis de ambiente para que você possa executar novamente um segmento específico sem reconstruir a cadeia manualmente. Faça asserções sobre o formato da resposta, pois uma extensão de resolução mais alta pode empurrar o arquivo para além de 4 MB e mudar você de base64 embutido para um URI. Aumente o tempo limite bem além do padrão; as extensões demoram mais do que a geração inicial porque o modelo lê 10 segundos de contexto primeiro.

Esse teste custa dez minutos e se paga na primeira vez que você precisa saber se o problema de emenda é seu prompt ou uma atualização do modelo. Baixe o Apidog para configurá-lo.

FAQ

Quanto tempo pode ter um vídeo Gemini Omni? 40 segundos cumulativos, construídos a partir de uma geração de 10 segundos mais três extensões de 10 segundos.

Posso estender um vídeo que filmei eu mesmo? Sim, até 10 segundos de entrada, fora do EEE, Suíça e Reino Unido. Faça o upload através da Files API e passe o URI.

Posso adicionar ao início de um clipe? Não. A extensão apenas adiciona ao final.

Por que meu personagem muda de aparência entre os segmentos? Geralmente, o prompt redescreve a cena em vez da mudança, ou a âncora de continuidade não é explícita. Nomeie o que deve permanecer o mesmo e considere passar uma imagem do personagem como referência na extensão.

Cada extensão custa extra? Sim. Cada extensão cobra seus próprios 10 segundos de saída de vídeo, mais os tokens de entrada para o contexto que ela lê.

E se eu precisar de mais de 40 segundos? O Veo 3.1 estende 7 segundos por vez até 148 segundos, apenas em 720p. A comparação de modelos aborda essa troca, e o guia da API do Veo tem os detalhes de integração.

A extensão de cena é o recurso que move o Omni de demonstração para produto entregável, mas ela recompensa o planejamento. Faça o storyboard dos quatro momentos, rascunhe o arco completo em 360p, mantenha cada prompt com um movimento e gaste o dinheiro do 720p apenas na versão que você já sabe que funciona.

Pratique o design de API no Apidog

Descubra uma forma mais fácil de construir e usar APIs