Gemini Omni 1.2 Flash ou Veo: como escolher a API de vídeo ideal para seu aplicativo

O Veo 3.1 Preview não está mais disponível na API do Gemini, então escolher entre Omni e Veo se tornou uma decisão de plataforma. Confira quanto custa cada um, onde é possível chamá-lo e como fazer a migração.

Medy Evrard

6 novembro 2026

Gemini Omni 1.2 Flash ou Veo: como escolher a API de vídeo ideal para seu aplicativo

Apidog para empresas

Implantação local

SSO & RBAC

Conforme SOC 2

Explorar Apidog Enterprise

Resposta rápida: use o Gemini Omni 1.2 Flash como base se quiser uma única chave de API, edição conversacional ou clipes de até 15 segundos. Escolha o Veo 3.1 apenas se você já roda no Google Cloud e precisa dos controles de requisição dele, como até quatro saídas por chamada. Não é mais possível chamar o Veo pela API Gemini: seus modelos Preview foram desativados em 22 de outubro de 2026.

Essa desativação transforma uma comparação de modelos em uma decisão de plataforma. Nossa comparação entre Omni 1.1 e Veo 3.1 cobre as especificações antigas. Este guia responde a uma pergunta mais específica: em qual deles você desenvolve agora?

O Google não publicou benchmarks para o Omni 1.2, então nada aqui compara os dois pela qualidade visual. As especificações e os preços abaixo vêm da documentação do Google, consultada em 6 de novembro de 2026.

Gemini Omni 1.2 Flash vs Veo 3.1 em resumo

Gemini Omni 1.2 Flash Veo 3.1
Status Disponibilidade geral generate-001 e fast-generate-001 em GA, lite-generate-001 em Preview
Onde você chama API Gemini, Gemini Enterprise Agent Platform Apenas no Agent Platform
Autenticação Chave de API (API Gemini) Projeto do Google Cloud e token de acesso
Formato da requisição Interactions API predictLongRunning, com polling via fetchPredictOperation
Localização global no Agent Platform us-central1
Duração do clipe 3 a 15 segundos, em incrementos de um segundo 4, 6 ou 8 segundos
Áudio Nativo Geração de som compatível
Resoluções 360p, 720p, 1080p e 4K (com upscale) 720p, 1080p, além de 4K no Veo 3.1
Extensão 3 a 10 segundos por turno 7 segundos por chamada, 37 segundos no total
Edição em vários turnos Sim, com previous_interaction_id Sem equivalente na documentação que consultamos
Saídas por requisição Um vídeo por turno nos exemplos sampleCount de 1 a 4
Prompt negativo Sem suporte; escreva no próprio prompt Parâmetro negativePrompt
Descontinuação mais próxima Nenhuma listada 4 de maio de 2027 ou depois (modelos GA)

Um conflito para considerar no planejamento: a duração máxima estendida do Omni depende da plataforma. A documentação da API Gemini indica 30 segundos no total. A documentação de extensão do Agent Platform indica até 40. Se o seu produto promete uma duração, teste na plataforma em que vai entrar em produção.

O que mudou para o Veo

A documentação de vídeo da API Gemini agora informa que o Veo 3.1 Preview na API Gemini foi desativado. Três IDs de modelo saíram junto, em 22 de outubro de 2026:

O Google aponta duas saídas: o Gemini Omni Flash ou os modelos GA do Veo no Gemini Enterprise Agent Platform (o sucessor do Vertex AI). Não encontramos nenhum Veo mais recente que o 3.1 na página atual de modelos do Veo do Google.

Ou seja, uma integração construída com uma chave do AI Studio e um ID de preview do Veo já parou de funcionar. Trocar a string do modelo não resolve, porque os modelos GA ficam em uma plataforma diferente, com autenticação diferente. Guias mais antigos, incluindo o nosso passo a passo da API do Veo 3.1, foram escritos para o caminho do preview.

Mapa de disponibilidade: a API Gemini com uma chave de API alcança apenas o Omni 1.2 Flash, enquanto o Gemini Enterprise Agent Platform com um projeto do Google Cloud alcança tanto o Omni 1.2 Flash quanto os modelos GA do Veo 3.1

Quanto cada API custa por segundo

O Omni cobra por tokens de saída. O Veo usa uma tarifa fixa por resolução. Esses valores são para vídeo com áudio:

Saída Omni 1.2 Flash Veo 3.1 (GA) Veo 3.1 Fast (GA) Veo 3.1 Lite (Preview)
360p US$ 0,023 n/a n/a n/a
720p cerca de US$ 0,07 US$ 0,40 US$ 0,10 US$ 0,05
1080p US$ 0,104 US$ 0,40 US$ 0,12 US$ 0,08
4K US$ 0,209 US$ 0,60 US$ 0,30 n/a

Os números do Omni vêm da página de preços do Gemini do Google, que também lista entrada a US$ 1,50 por milhão de tokens. As tarifas de 1080p e 4K já incluem upsampling. Os números do Veo vêm da lista de preços do Agent Platform. Essa lista os exibe por “count” e não define a unidade. Eles correspondem às tarifas por segundo divulgadas no lançamento, então os interpretamos como por segundo. Confirme na sua primeira fatura. A lista também precifica 4K para o Fast, embora a página do modelo mostre saída 4K apenas para o Veo 3.1.

Um clipe de 720p com 8 segundos custa cerca de US$ 0,56 no Omni, US$ 3,20 no Veo 3.1, US$ 0,80 no Fast e US$ 0,40 no Lite. O Lite é o único modelo do Veo, entre os com áudio, mais barato que o Omni, e ainda está em Preview. O Veo também lista tarifas só de vídeo, como US$ 0,08 para o Fast em 720p. Para a matemática dos tokens, veja nosso detalhamento de preços do Omni 1.1 e substitua pela nova tarifa de US$ 12,00 por milhão de tokens de saída de vídeo.

O Google lista o nível gratuito do Omni como “Not available” (indisponível) tanto no 1.2 quanto no 1.1.

Escolha o Gemini Omni 1.2 Flash se

Conheça as limitações primeiro. O Google cita ação esportiva rápida, mudanças rápidas de roteiro e física complexa como áreas que ainda estão sendo melhoradas. Uploads de áudio não têm suporte. Editar ou estender vídeos enviados não está disponível no EEE (Espaço Econômico Europeu), na Suíça ou no Reino Unido. Toda saída vem com uma marca d'água SynthID imperceptível.

Escolha o Veo 3.1 se

O contraponto: apenas us-central1, um projeto do Google Cloud e um loop de polling. A entrada para extensão precisa ser MP4 a 24 fps, com duração de 1 a 30 segundos. A página de extensão também lista o Lite na tabela de modelos, mas o deixa de fora da seção REST, então trate a extensão do Lite como não confirmada.

Migrando uma integração do Veo para a Interactions API

Migrar para o Omni muda sua requisição, seu polling e o parsing da resposta. Aqui está uma chamada de extensão do Veo, seguindo a documentação do Google:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-3.1-generate-001:predictLongRunning

{
  "instances": [{
    "prompt": "The drone keeps climbing above the harbor",
    "video": { "gcsUri": "gs://my-bucket/clip.mp4", "mimeType": "video/mp4" }
  }],
  "parameters": { "storageUri": "gs://my-bucket/out/", "sampleCount": 1 }
}

E o mesmo trabalho no Omni, por meio do Agent Platform:

POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions

{
  "model": "gemini-omni-1.2-flash",
  "store": false,
  "input": [
    { "type": "text", "text": "The drone keeps climbing above the harbor" },
    { "type": "video", "uri": "gs://my-bucket/clip.mp4", "mime_type": "video/mp4" }
  ],
  "response_format": [{
    "type": "video",
    "delivery": "uri",
    "gcs_uri": "gs://my-bucket/out/",
    "aspect_ratio": "16:9",
    "duration": "7s"
  }],
  "generation_config": { "video_config": { "task": "extend" } }
}

Mapeie seus campos assim:

Veo Omni
instances[0].prompt item de texto em input
instances[0].video.gcsUri uri do item de vídeo em input
parameters.storageUri gcs_uri em response_format
parameters.aspectRatio aspect_ratio em response_format
parameters.seed generation_config.seed
parameters.negativePrompt Uma linha “não faça X” no prompt
parameters.sampleCount Sem campo na documentação que consultamos; envie requisições separadas
fetchPredictOperation background: true e depois um GET do ID da interação
videos[].gcsUri entrada em steps do tipo model_output, item de vídeo

Quatro detalhes para ficar de olho:

  1. Formato da resposta. O exemplo do Agent Platform envolve o response_format em um array. A documentação da API Gemini descreve um objeto único. Copie o formato da plataforma que você chama.
  2. Formato da duração. O Omni espera uma string como "7s", de "3s" a "15s", e de "3s" a "10s" para extensões.
  3. URIs perdidos. Na API Gemini, GET /v1beta/interactions/{id} retorna base64 inline mesmo que você tenha pedido entrega por URI. O URI só vem garantido na resposta de criação ou no stream, então salve-o ali.
  4. A edição precisa de armazenamento. Com store: false, você não pode editar esse vídeo em um turno posterior.

Para uma primeira chamada à Interactions API, nosso guia da API do Omni 1.1 continua servindo, basta usar o novo ID de modelo.

Dois fluxos de requisição lado a lado: o Veo envia predictLongRunning, faz polling com fetchPredictOperation e depois lê o vídeo do Cloud Storage, enquanto o Omni cria uma interação, recebe um vídeo e envia um turno de continuação com previous_interaction_id para editá-lo

Deixe seu agente de código testar os dois com a Apidog CLI

Se você pode trocar de provedor mais tarde, ou rodar os dois, vai querer um único conjunto de verificações que não liga para qual modelo respondeu. Passe essa tarefa para o seu agente de código. Ele define os dois endpoints com a Apidog CLI, envolve cada um em um cenário de teste e os agrupa em uma única suíte de testes com as mesmas asserções.

npm install -g apidog-cli@latest
apidog auth login --with-token <YOUR_TOKEN>
apidog skill install

Depois, dê um único prompt ao Claude Code, Codex ou Cursor:

In Apidog project <id>, create endpoints for Gemini Omni 1.2 Flash
(POST /v1beta/interactions) and Veo 3.1 Fast (predictLongRunning plus
fetchPredictOperation). Build one test scenario per provider and put both
in a test suite named video-provider-contract. Poll Veo until done. Assert
the same things on each: the job finishes, the output is video/mp4, and a
video URI or data field is present. Run it and summarize any failures.

O agente lê cada schema, valida o payload e depois monta e roda a suíte:

apidog cli-schema get endpoint-create
apidog cli-schema validate endpoint-create --file omni.json
apidog endpoint create --project <id> --file omni.json
apidog test-scenario create --project <id> --name "omni-contract" --folder-id <folderId> --priority 1
apidog test-scenario import-steps <scenarioId> --project <id> --source endpoint --ids <endpointId> --sync manual
apidog test-suite create --project <id> --name "video-provider-contract"
apidog test-suite update <suiteId> --project <id> --file suite.json
apidog run --test-suite <suiteId> --project <id> -e <envId> \
  --timeout-request 300000 -r cli,junit --out-dir ./reports

Assim, uma troca de provedor aparece como uma asserção que falhou, e não como um player quebrado em produção. Mantenha as fixtures pequenas, porque cada execução cobra vídeo de verdade: um clipe Omni de 360p com 3 segundos mais um clipe Fast de 720p com 4 segundos somam cerca de US$ 0,47. Rode isso todas as noites, não a cada commit. A mesma linha entra em um pipeline, como mostra nosso guia de CI/CD com a Apidog CLI. O Apidog Free cobre até 4 usuários.

FAQ

Ainda posso chamar o Veo com uma chave da API Gemini? Não. Os modelos Veo 3.1 Preview na API Gemini foram desativados em 22 de outubro de 2026. Os modelos GA rodam no Gemini Enterprise Agent Platform, que usa um projeto do Google Cloud e um token de acesso.

Existe um Veo 4? Não que tenhamos encontrado. A página atual de modelos do Veo do Google lista apenas os modelos 3.1, conforme consulta feita em 6 de novembro de 2026.

O que acontece com meu código do Omni 1.1? A partir de 3 de dezembro de 2026, requisições para gemini-omni-1.1-flash são direcionadas ao gemini-omni-1.2-flash e cobradas nas tarifas do 1.2. Sua string de modelo continua funcionando, mas teste seus prompts no 1.2 antes dessa data, porque o modelo por trás dela muda.

Qual deles gera vídeo com melhor aparência? O Google não publica benchmarks sobre isso, então não vamos eleger um vencedor. Rode os mesmos prompts nos dois e julgue os clipes você mesmo.

Pratique o design de API no Apidog

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