Como estender um vídeo com o Gemini Omni 1.2 Flash
Como estender um vídeo com o Gemini Omni 1.2 Flash Resposta rápida: Para estender um vídeo com o Gemini Omni 1.2 Flash, envie seu clipe e um prompt curto de continuação para a API Interactions. Cada turno adiciona de 3
Como estender um vídeo com o Gemini Omni 1.2 Flash
Resposta rápida: Para estender um vídeo com o Gemini Omni 1.2 Flash, envie seu clipe e um prompt curto de continuação para a API Interactions. Cada turno adiciona de 3 a 10 segundos e retorna o clipe mais longo. Na Gemini API, o limite é de 30 segundos no total. A Agent Platform do Google Cloud chega a 40, mas somente se você planejar cada etapa para que ela não corte o início do seu vídeo.
Para dicas de escrita de prompts, consulte nosso guia de extensão de cena do Omni 1.1. Este guia cobre as novidades: as requisições, os cálculos do encadeamento e o custo de um clipe de 40 segundos.
Como funciona a extensão de vídeo do Gemini Omni 1.2 Flash
A extensão de vídeo gera uma continuação no final de um clipe. O modelo lê até os últimos 10 segundos da sua entrada como contexto, gera de 3 a 10 segundos novos e os une ao clipe. Ele apenas anexa ao final: não é possível adicionar conteúdo no início nem estender o meio do vídeo.
O Google documenta limites diferentes dependendo de onde você chama o modelo:
| Gemini API | Agent Platform (Google Cloud) | |
|---|---|---|
| Autenticação | Chave de API | Projeto e token de acesso |
| Duração total | 30 segundos | 40 segundos |
| Duração da entrada | Sem limite separado especificado | Qualquer duração |
| Imagens de referência | Até 6 no Omni | Até 2 por extensão |
| Modo de extensão | Prompt primeiro, task como fallback |
task: "extend" em todos os exemplos |
| Seed e labels | Não aparecem na documentação do Omni |
generation_config.seed, labels
|
| Resultados armazenados | 55 dias no plano pago | Até 7 dias |
Fontes: a documentação do Omni da Gemini API e a documentação de extensão da Agent Platform.
Na Agent Platform, o modelo lê até os últimos 10 segundos e concatena o novo segmento aos últimos 30 segundos da entrada. O exemplo do Google estende uma entrada de 60 segundos em 10 segundos e retorna 40 segundos, ou seja, os primeiros 30 segundos são descartados.
Você não precisa montar nada manualmente, já que a saída inclui as filmagens anteriores. O Google edita alguns quadros finais da sua entrada para suavizar a transição.
O que mudou na extensão na versão 1.2
- Clipes iniciais de 15 segundos. Na 1.1, o limite era 10. Cada turno de extensão continua limitado a 10 segundos.
- Imagens de referência, seed e labels nas requisições de extensão da Agent Platform.
-
Nova sintaxe de prompt. O Google descontinuou tags como
<IMAGE_REF_0>, usadas em guias mais antigos. Descreva cada imagem em linguagem natural. -
Novo tipo de entrada. Os exemplos atuais usam
"type": "video", e não o tipodocumentdos exemplos da 1.1.
Como estender um vídeo passo a passo na Gemini API
- Gere um clipe ou faça upload de um pela API Files. Os arquivos enviados são excluídos após 48 horas.
- Descreva apenas o que acontece em seguida.
- Defina
durationentre"3s"e"10s"(padrão: 10). - Salve o ID da interação para o próximo turno.
from google import genai
client = genai.Client()
first = client.interactions.create(
model="gemini-omni-1.2-flash",
input="A courier in a yellow jacket cycles through a rainy night market.",
response_format={"type": "video", "duration": "15s"},
)
second = client.interactions.create(
model="gemini-omni-1.2-flash",
previous_interaction_id=first.id,
input="The courier brakes at a red door. Keep the same yellow jacket.",
response_format={"type": "video", "duration": "10s", "delivery": "uri"},
)
Para estender suas próprias filmagens, substitua previous_interaction_id por um array de entrada com {"type": "video", "uri": video_file.uri} e um item de texto.
-
Deixe
taskde lado no início. Segundo o Google, ela adiciona restrições rígidas, então defina"task": "extend"emvideo_configapenas como fallback. -
Use
delivery: "uri"acima de 4MB. Guarde o URI da resposta de criação. UmGETposterior retorna base64 inline mesmo para requisições com URI. -
Mantenha
storeativado. Comstore: false, não é possível continuar a partir daquele ID de interação.
Os uploads têm duas restrições adicionais: não é possível adicionar diálogo onde alguém esteja falando, e não é possível estender a partir do EEE (Espaço Econômico Europeu), da Suíça ou do Reino Unido. A extensão multi-turno de vídeo gerado evita ambas.
Passo a passo da requisição na Agent Platform
Use esta rota para chegar a 40 segundos ou para uma fila de jobs. A geração pode levar mais de um minuto, então envie este corpo via POST para https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions com background ativado:
{
"model": "gemini-omni-1.2-flash",
"background": true,
"input": [
{ "type": "text", "text": "The courier opens the red door and steps inside." },
{ "type": "video", "uri": "gs://my-bucket/hop-1.mp4", "mime_type": "video/mp4" }
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "gs://my-bucket/out/",
"aspect_ratio": "16:9",
"duration": "5s"
}
],
"generation_config": {
"seed": 4242,
"video_config": { "task": "extend" }
},
"labels": { "campaign": "courier", "hop": "2" }
}
A chamada retorna um ID de interação com status in_progress. Consulte com polling usando GET .../locations/global/interactions/INTERACTION_ID. Quando a execução terminar, leia o URI gs:// na etapa model_output dentro de steps. Esse URI se torna a entrada para o próximo salto.
Também existem os modos stateless (store: false), stateful (store: true) e streaming. Os resultados armazenados e assíncronos ficam disponíveis por até 7 dias, então copie tudo o que precisar.
[VERIFY] Não executado: nenhum projeto do Google Cloud estava disponível. O corpo de exemplo do Google não inclui nem
seednemlabels, portanto confirme onde inseri-los.
Encadeando até o limite de 40 segundos
Um salto só preserva todas as suas filmagens se a entrada dele tiver 30 segundos ou menos. Para chegar a 40 sem perder nada, alcance exatamente 30 primeiro.
| Salto |
duration planejada |
Saída planejada |
duration sem planejamento |
Saída sem planejamento |
|---|---|---|---|---|
| Início | 15s | 15s | 15s | 15s |
| 1 | 10s | 25s | 10s | 25s |
| 2 | 5s | 30s | 10s | 35s |
| 3 | 10s | 40s | 10s | 40s, com os primeiros 5s descartados |
A cadeia sem planejamento ganha 5 segundos extras e depois joga fora o início do seu vídeo. A duração do clipe não vai alertá-lo, porque as duas cadeias retornam 40 segundos.
Um início de 15 segundos não economiza chamadas para chegar a 40: começar com 10 também exige três extensões. Ele ajuda em outros casos, já que 25 segundos exigem uma extensão em vez de duas, e 35 exigem duas em vez de três.
Na Gemini API, pare depois do salto 2. O Google não informa o que acontece com uma requisição acima de 30 segundos.
Mantenha os personagens consistentes com imagens de referência e seed
Um personagem que saiu de quadro antes dos últimos 10 segundos fica invisível para o modelo, mesmo que esses quadros permaneçam no clipe. A solução do Google: mencione o personagem novamente ou passe uma imagem de referência no mesmo array input:
{ "type": "image", "uri": "gs://my-bucket/courier.png", "mime_type": "image/png" },
{ "type": "text", "text": "The courier from the reference image walks back into frame." }
- Reutilize a mesma imagem em todos os saltos que precisarem desse personagem.
- Escolha com cuidado na Agent Platform. Duas imagens por extensão cobrem apenas o que tem maior chance de sofrer variações.
- Não envie vídeos de referência. O Google os suporta apenas para geração nova, não para extensão.
- Informe os tempos com base no novo segmento. 0s no seu prompt significa o início da parte estendida, não o início do clipe.
Defina generation_config.seed para obter resultados reproduzíveis. Isso ajuda principalmente na depuração: execute o mesmo salto novamente com a mesma seed para verificar se uma mudança veio do seu prompt. O Google não garante que uma seed mantenha um personagem consistente entre prompts diferentes, então conte com as referências para isso. Use labels para acompanhar o faturamento por salto.
Quanto custa um clipe de 40 segundos
A página de preços do Google cobra a saída de vídeo do Omni 1.2 a US$ 12,00 por milhão de tokens. Não há informação sobre se uma extensão é cobrada apenas pelos segundos novos ou por todos os segundos retornados. A cadeia planejada gera 40 segundos, mas retorna 15, 25, 30 e 40, o que soma 110.
| Resolução | Por segundo | Se apenas os segundos novos forem cobrados | Se todos os segundos retornados forem cobrados |
|---|---|---|---|
| 360p | US$ 0,023 | US$ 0,93 | US$ 2,55 |
| 720p | Cerca de US$ 0,07 | US$ 2,78 | US$ 7,65 |
| 1080p (com upscale) | US$ 0,104 | US$ 4,17 | US$ 11,47 |
| 4K (com upscale) | US$ 0,209 | US$ 8,34 | US$ 22,94 |
Essas são as tarifas da Gemini API, calculadas a partir dos tokens por segundo do Google. Tokens de entrada (US$ 1,50 por milhão) e tokens de raciocínio (US$ 9,00 por milhão) são cobrados à parte.
Até que você verifique, faça o orçamento com base na coluna da direita. Para manter a conta baixa:
- Faça os rascunhos em 360p e valide toda a cadeia antes de pagar pelo 720p.
- Escolha a resolução antes de encadear. A página do modelo na Agent Platform limita a entrada de upscale a 15 segundos, então um clipe finalizado de 40 segundos não cabe em uma única passagem.
- Inclua regenerações de cenas difíceis no orçamento. O anúncio do Google cita ações esportivas rápidas, mudanças velozes de roteiro e física complexa como áreas ainda em aprimoramento.
As requisições para gemini-omni-1.1-flash são direcionadas à versão 1.2 a partir de 3 de dezembro de 2026 e cobradas nas tarifas da 1.2.
Deixe seu agente de codificação testar o fluxo assíncrono com a Apidog CLI
Uma cadeia assíncrona falha em silêncio: um polling que nunca termina, uma execução que termina como failed, um formato de resposta que muda. Deixe seu agente de codificação criar esse teste com a Apidog CLI e executá-lo para você.
npm install -g apidog-cli@latest
apidog auth login --with-token <YOUR_TOKEN>
apidog skill install
Depois, dê ao Claude Code, Codex ou Cursor um único [REDACTED PROMPT]
In Apidog project , create endpoints for POST and GET on the Omni
interactions URL. Build a test scenario named omni-extend-async: start a
3-second 360p extension with background set to true, save the interaction
ID, then loop with a 10-second delay on GET until status leaves in_progress.
Assert status is completed and a model_output step holds a video/mp4 item
with a uri or data. Run it and summarize any failures.
O agente valida seu payload e, em seguida, cria e executa o cenário:
bash
apidog cli-schema get test-scenario-update
apidog test-scenario create --project --name "omni-extend-async" --folder-id --priority 1
apidog test-scenario import-steps --project --source endpoint --ids ,
apidog cli-schema validate test-scenario-update --file scenario.json
apidog test-scenario update --project --file scenario.json
apidog run -t --project -e --timeout-request 300000 -r cli,junit --out-dir ./reports
Cada execução gera um clipe real e é cobrada, então rode à noite, e não a cada commit. Um salto de 3 segundos em 360p custa cerca de US$ 0,07 se apenas os segundos novos forem cobrados. A mesma linha se encaixa em um pipeline, como mostra nosso [guia de CI/CD da Apidog CLI](https://apidog.com/pt/blog/apidog-cli-ci-cd-pipeline?utm_source=dev.to&utm_medium=wanda&utm_content=n8n-post-automation), e o [guia de configuração do Claude Code](https://apidog.com/pt/blog/apidog-cli-in-claude-code?utm_source=dev.to&utm_medium=wanda&utm_content=n8n-post-automation) cobre o lado do agente. O Apidog Free atende até 4 usuários.
## FAQ
**Quanto tempo pode durar um vídeo do Gemini Omni 1.2 Flash?** Uma única geração produz de 3 a 15 segundos. Com extensão, a documentação da Gemini API indica 30 segundos no total, e a da Agent Platform, 40.
**Por que o início do meu vídeo estendido desapareceu?** Na Agent Platform, apenas os últimos 30 segundos da entrada são mantidos. Qualquer entrada com mais de 30 segundos perde o começo. Planeje seus saltos para que o último comece exatamente a partir de 30 segundos.
**Posso estender um vídeo que eu mesmo gravei?** Sim, fora do EEE, da Suíça e do Reino Unido. Faça o upload pela API Files ou aponte para o Cloud Storage na Agent Platform. Não é possível adicionar diálogo a um clipe enviado onde alguém esteja falando.
**Posso estender um clipe de graça?** Não pela API. O Google lista o plano gratuito como "Não disponível" para o Omni 1.2 e 1.1, então até um teste é cobrado. Uma extensão de 3 segundos em 360p é a mais barata que você pode executar.
Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.
