- Blog
- API do Google Veo 3: Como Acessar e Integrar Geração de Vídeo com IA em 2026
API do Google Veo 3: Como Acessar e Integrar Geração de Vídeo com IA em 2026
Guia completo da API Veo 3: autenticação, Python SDK, Node.js, API REST, operações assíncronas e melhores práticas de produção.
Emma Chen · 8 min read · Apr 17, 2026

API do Google Veo 3: Como Acessar e Integrar Geração de Vídeo com IA em 2026
O Google Veo 3 é um dos modelos de geração de vídeo com IA mais capazes disponíveis em 2026. Para desenvolvedores e empresas que querem integrar as capacidades do Veo 3 em suas próprias aplicações, a API do Google Cloud Vertex AI fornece acesso programático. Este guia cobre tudo o que você precisa saber sobre acessar a API do Veo 3, autenticação, fazer requisições e lidar com respostas.
O Que É a API do Veo 3?
A API do Veo 3 está disponível através da plataforma Vertex AI do Google Cloud. Permite que desenvolvedores gerem vídeos programaticamente enviando prompts de texto (e opcionalmente imagens de referência) para os servidores do Google e recebendo arquivos de vídeo gerados em retorno.
A API é projetada para casos de uso empresarial e de desenvolvedor onde você precisa:
- Integrar geração de vídeo com IA em sua própria aplicação
- Automatizar produção de vídeo em escala
- Construir produtos e serviços em cima das capacidades do Veo 3
- Processar grandes lotes de requisições de geração de vídeo
Pré-requisitos
Antes de usar a API do Veo 3, você precisa:
- Uma conta Google Cloud com faturamento habilitado
- Um projeto Google Cloud com a API Vertex AI habilitada
- Permissões IAM apropriadas (função mínima de Usuário Vertex AI)
- Credenciais da API (chave de conta de serviço ou Application Default Credentials)
- Acesso ao Veo 3 — o modelo pode requerer aprovação de allowlist dependendo da sua região e caso de uso
Habilitando a API Vertex AI
# Habilitar a API Vertex AI para seu projeto
gcloud services enable aiplatform.googleapis.com --project=SEU_PROJECT_ID
Configurando Autenticação
O método de autenticação recomendado para uso em produção é uma conta de serviço:
# Criar uma conta de serviço
gcloud iam service-accounts create veo3-api-user \
--display-name="Usuário API Veo 3" \
--project=SEU_PROJECT_ID
# Conceder função de Usuário Vertex AI
gcloud projects add-iam-policy-binding SEU_PROJECT_ID \
--member="serviceAccount:veo3-api-user@SEU_PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/aiplatform.user"
# Criar e baixar chave
gcloud iam service-accounts keys create veo3-key.json \
--iam-account=veo3-api-user@SEU_PROJECT_ID.iam.gserviceaccount.com
Para desenvolvimento local, Application Default Credentials (ADC) é mais simples:
gcloud auth application-default login
Fazendo Sua Primeira Requisição à API
SDK Python
O SDK Python do Google Cloud é a forma recomendada de interagir com a API do Veo 3:
pip install google-cloud-aiplatform
Geração básica de texto para vídeo:
import vertexai
from vertexai.preview.vision_models import VideoGenerationModel
# Inicializar Vertex AI
vertexai.init(project="SEU_PROJECT_ID", location="us-central1")
# Carregar o modelo Veo 3
model = VideoGenerationModel.from_pretrained("veo-3.0-generate-preview")
# Gerar um vídeo
operation = model.generate_video(
prompt="Um filhote de golden retriever brincando em folhas de outono, câmera lenta, cinematográfico, tons quentes",
output_gcs_uri="gs://SEU_BUCKET/output/",
duration_seconds=8,
aspect_ratio="16:9",
resolution="1080p"
)
# Aguardar conclusão
response = operation.result(timeout=300)
print(f"Vídeo gerado: {response.generated_videos[0].video.uri}")
API REST
Para linguagens sem SDK do Google Cloud, você pode usar a API REST diretamente:
# Obter token de acesso
ACCESS_TOKEN=$(gcloud auth print-access-token)
# Enviar requisição de geração
curl -X POST \
"https://us-central1-aiplatform.googleapis.com/v1/projects/SEU_PROJECT_ID/locations/us-central1/publishers/google/models/veo-3.0-generate-preview:predictLongRunning" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"instances": [{
"prompt": "Vista aérea de um lago de montanha ao nascer do sol, névoa na água, descida lenta de drone",
"duration_seconds": 8,
"aspect_ratio": "16:9"
}],
"parameters": {
"output_gcs_uri": "gs://SEU_BUCKET/output/",
"resolution": "1080p"
}
}'
A resposta inclui um nome de operação que você consulta para conclusão:
# Consultar conclusão
curl -X GET \
"https://us-central1-aiplatform.googleapis.com/v1/NOME_DA_OPERACAO" \
-H "Authorization: Bearer $ACCESS_TOKEN"
Referência de Parâmetros da API
Parâmetros Obrigatórios
| Parâmetro | Tipo | Descrição |
|---|---|---|
prompt |
string | Descrição textual do vídeo a ser gerado |
output_gcs_uri |
string | URI do Google Cloud Storage para saída |
Parâmetros Opcionais
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
duration_seconds |
inteiro | 8 | Duração do vídeo (1-8 segundos) |
aspect_ratio |
string | "16:9" | "16:9", "9:16", "1:1", "4:3" |
resolution |
string | "720p" | "720p" ou "1080p" |
negative_prompt |
string | null | Elementos para excluir da geração |
seed |
inteiro | aleatório | Para resultados reproduzíveis |
guidance_scale |
float | 7.5 | Força de adesão ao prompt (1-20) |
Parâmetros de Imagem para Vídeo
Para geração de imagem para vídeo, adicione a imagem de referência:
from vertexai.preview.vision_models import Image
# Carregar imagem de referência
reference_image = Image.load_from_file("referencia.jpg")
# Gerar vídeo da imagem
operation = model.generate_video(
prompt="A cena ganha vida, brisa suave, cinematográfico",
image=reference_image,
output_gcs_uri="gs://SEU_BUCKET/output/",
duration_seconds=8
)
Lidando com Operações Assíncronas
A geração de vídeo do Veo 3 é assíncrona — você envia uma requisição e consulta para conclusão. Aqui está uma implementação robusta:
import time
import vertexai
from vertexai.preview.vision_models import VideoGenerationModel
from google.api_core import exceptions
def generate_video_with_retry(prompt: str, output_uri: str, max_retries: int = 3):
vertexai.init(project="SEU_PROJECT_ID", location="us-central1")
model = VideoGenerationModel.from_pretrained("veo-3.0-generate-preview")
for attempt in range(max_retries):
try:
operation = model.generate_video(
prompt=prompt,
output_gcs_uri=output_uri,
duration_seconds=8,
aspect_ratio="16:9"
)
# Consultar com backoff exponencial
wait_time = 30
while not operation.done():
print(f"Aguardando {wait_time}s pela geração...")
time.sleep(wait_time)
wait_time = min(wait_time * 1.5, 120)
response = operation.result()
return response.generated_videos[0].video.uri
except exceptions.ResourceExhausted:
if attempt < max_retries - 1:
print(f"Taxa limitada, aguardando 60s antes da tentativa {attempt + 2}...")
time.sleep(60)
else:
raise
return None
Baixando Vídeos Gerados
Vídeos gerados são armazenados no Google Cloud Storage. Baixe-os programaticamente:
from google.cloud import storage
def download_video(gcs_uri: str, local_path: str):
client = storage.Client()
# Analisar URI GCS
bucket_name = gcs_uri.split("/")[2]
blob_name = "/".join(gcs_uri.split("/")[3:])
bucket = client.bucket(bucket_name)
blob = bucket.blob(blob_name)
blob.download_to_filename(local_path)
print(f"Baixado para {local_path}")
# Uso
download_video(
"gs://SEU_BUCKET/output/video_gerado.mp4",
"/caminho/local/video.mp4"
)
Processamento em Lote
Para gerar múltiplos vídeos eficientemente:
import asyncio
from concurrent.futures import ThreadPoolExecutor
prompts = [
"Nascer do sol na montanha, deriva aérea lenta, tons dourados",
"Ondas do oceano em câmera lenta, água esmeralda",
"Rua da cidade à noite, reflexos de neon, chuva",
"Caminho na floresta no outono, folhas caindo, luz filtrada",
"Produto em fundo branco, rotação lenta, iluminação de estúdio"
]
def generate_single(prompt_and_index):
index, prompt = prompt_and_index
output_uri = f"gs://SEU_BUCKET/lote/video_{index:03d}.mp4"
return generate_video_with_retry(prompt, output_uri)
# Processar em paralelo (respeitar limites de taxa)
with ThreadPoolExecutor(max_workers=3) as executor:
results = list(executor.map(generate_single, enumerate(prompts)))
print(f"Gerados {len([r for r in results if r])} vídeos com sucesso")
Limites de Taxa e Cotas
A API do Veo 3 tem limites de taxa que variam por nível de projeto:
| Nível | Requisições/minuto | Operações concorrentes |
|---|---|---|
| Padrão | 5 | 3 |
| Elevado | 20 | 10 |
| Empresarial | Personalizado | Personalizado |
Para solicitar cotas elevadas, envie uma solicitação de aumento de cota através do Console do Google Cloud.
Estimativa de Custos
O preço da API do Veo 3 é baseado na duração do vídeo gerado:
- Padrão (720p): ~$0,35 por segundo de vídeo
- Alta qualidade (1080p): ~$0,50 por segundo de vídeo
Para um lote de 100 clipes de oito segundos em 1080p: aproximadamente $400.
Para aplicações sensíveis a custos, considere usar a API do Seedance como alternativa — oferece qualidade comparável a custo mais baixo com direitos comerciais incluídos.
Lidando com Erros
Erros comuns e como lidar com eles:
from google.api_core import exceptions
try:
operation = model.generate_video(prompt=prompt, output_gcs_uri=output_uri)
response = operation.result(timeout=300)
except exceptions.ResourceExhausted as e:
# Limite de taxa atingido — implementar backoff exponencial
print(f"Taxa limitada: {e}")
except exceptions.InvalidArgument as e:
# Prompt ou parâmetros inválidos
print(f"Requisição inválida: {e}")
except exceptions.PermissionDenied as e:
# Problema de autenticação ou autorização
print(f"Permissão negada: {e}")
except TimeoutError:
# Geração levou muito tempo
print("Geração expirou — verifique o status da operação manualmente")
Melhores Práticas de Produção
Engenharia de Prompt para Uso da API
Ao usar a API programaticamente, a qualidade do prompt afeta diretamente a qualidade da saída:
def build_prompt(subject: str, action: str, environment: str,
camera: str = "cinematic", style: str = "photorealistic") -> str:
return f"{subject} {action}, {environment}, {camera}, {style}"
# Exemplos
prompts = [
build_prompt("relógio de luxo", "rotação lenta de 360 graus", "superfície de mármore preto, iluminação suave de estúdio", "close-up, profundidade de campo rasa", "qualidade de fotografia comercial"),
build_prompt("jovem profissional", "caminhando confiantemente", "lobby de prédio de escritórios moderno de vidro", "dolly lento para frente", "corporativo, iluminação natural"),
]
Gerenciamento de Saída
import os
from datetime import datetime
def get_output_uri(project_id: str, bucket: str, job_name: str) -> str:
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
return f"gs://{bucket}/veo3/{job_name}/{timestamp}/"
Monitoramento e Logging
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger("veo3_api")
def generate_with_logging(prompt: str, output_uri: str):
logger.info(f"Iniciando geração: {prompt[:50]}...")
start_time = time.time()
result = generate_video_with_retry(prompt, output_uri)
elapsed = time.time() - start_time
logger.info(f"Geração completa em {elapsed:.1f}s: {result}")
return result
Alternativa: API do Seedance
Para aplicações onde custo, restrições de acesso ou direitos comerciais são preocupações, o Seedance oferece uma API com:
- Custo mais baixo por geração
- Sem restrições de acesso ou requisitos de allowlist
- Direitos comerciais incluídos
- Qualidade de saída comparável para a maioria dos casos de uso
A API do Seedance segue um padrão de requisição/resposta similar, tornando direto alternar entre provedores ou usar ambos na mesma aplicação.
Saiba mais sobre o Seedance em seedance.tv →
Gerenciamento de Custos
O preço da API do Veo 3 é baseado em segundos de vídeo gerados. Entender a estrutura de custos ajuda você a construir aplicações rentáveis.
Estrutura de Preços
- Resolução padrão (720p): Cobrado por segundo de vídeo gerado
- Alta resolução (1080p): Taxa mais alta por segundo
- Gerações falhas: Não cobradas se a geração falhar antes de produzir saída
Estratégias de Otimização de Custos
1. Use resolução mais baixa para testes
Durante desenvolvimento e testes, use 720p para reduzir custos. Mude para 1080p apenas para saída de produção.
# Desenvolvimento/testes
resolution = "720p"
# Produção
resolution = "1080p"
2. Implemente validação de prompt antes da geração
Valide prompts antes de enviar para a API para evitar desperdiçar créditos em prompts que falharão verificações de política de conteúdo:
def validate_prompt(prompt: str) -> bool:
# Verificar comprimento mínimo
if len(prompt.strip()) < 10:
return False
# Verificar comprimento máximo
if len(prompt) > 1000:
return False
# Adicione sua própria lógica de validação
return True
3. Armazene vídeos gerados em cache
Armazene vídeos gerados no GCS e implemente uma camada de cache para evitar regenerar o mesmo conteúdo:
import hashlib
def get_cache_key(prompt: str, params: dict) -> str:
content = f"{prompt}:{sorted(params.items())}"
return hashlib.md5(content.encode()).hexdigest()
def get_or_generate(prompt: str, params: dict) -> str:
cache_key = get_cache_key(prompt, params)
cached_uri = f"gs://SEU_BUCKET/cache/{cache_key}.mp4"
# Verificar se versão em cache existe
if gcs_file_exists(cached_uri):
return cached_uri
# Gerar e armazenar em cache
result = generate_video(prompt, cached_uri, params)
return result
4. Use processamento em lote para grandes volumes
Para geração em grande escala, processe requisições em lote para maximizar throughput enquanto permanece dentro dos limites de cota:
import asyncio
from concurrent.futures import ThreadPoolExecutor
async def batch_generate(prompts: list, max_concurrent: int = 5):
semaphore = asyncio.Semaphore(max_concurrent)
async def generate_one(prompt):
async with semaphore:
return await asyncio.to_thread(generate_video, prompt)
tasks = [generate_one(p) for p in prompts]
return await asyncio.gather(*tasks, return_exceptions=True)
API do Veo 3 vs API do Seedance
Para desenvolvedores avaliando APIs de vídeo com IA, aqui está uma comparação:
| Aspecto | API do Veo 3 | API do Seedance |
|---|---|---|
| Acesso | Restrito (allowlist) | Aberto |
| Preços | Cobrança por segundo | Baseado em assinatura |
| Qualidade de saída | Mais alta | Excelente |
| Latência | 30-120 segundos | 15-45 segundos |
| Duração máxima | 8 segundos | 8 segundos |
| Direitos comerciais | Sim (com licença) | Sim (nível gratuito) |
| Documentação | Abrangente | Boa |
| Suporte a SDK | Python, Java, Go, Node.js | API REST |
Para aplicações onde a qualidade do Veo 3 é essencial e o acesso está disponível, a API do Veo 3 é a escolha premium. Para aplicações que precisam de acesso aberto, iteração mais rápida e custo mais baixo, a API do Seedance é uma forte alternativa.
Explore o Seedance como alternativa acessível em seedance.tv →
Perguntas Frequentes
A API do Veo 3 está publicamente disponível? A API do Veo 3 está disponível através do Google Cloud Vertex AI, mas o acesso pode requerer aprovação de allowlist dependendo da sua região e caso de uso. Aplique através do Console do Google Cloud.
Quais linguagens de programação são suportadas? O Google Cloud fornece SDKs para Python, Java, Go, Node.js e .NET. A API REST funciona com qualquer linguagem que possa fazer requisições HTTP.
Quanto tempo leva a geração de vídeo? Tipicamente 30-120 segundos dependendo da carga do servidor, duração do vídeo e resolução. Implemente timeouts apropriados em sua aplicação.
Posso gerar vídeos com mais de 8 segundos? O máximo atual é de 8 segundos por geração. Para vídeos mais longos, gere múltiplos clipes e una-os em pós-processamento.
O que acontece se a geração falhar? Gerações falhas não são cobradas. Implemente lógica de retry com backoff exponencial para falhas transientes.
Existe um nível gratuito para a API do Veo 3? O Google Cloud oferece $300 em créditos gratuitos para novas contas, que podem ser usados para chamadas da API do Veo 3. Não há nível gratuito contínuo — todo uso é cobrado após os créditos serem esgotados.
Quais são as restrições de política de conteúdo? O Veo 3 segue as políticas de conteúdo do Google. Prompts que violam estas políticas serão rejeitados. Revise a documentação de política de conteúdo do Vertex AI para detalhes.
Posso usar vídeos gerados comercialmente? Sim, com licenciamento apropriado. Revise os termos de serviço do Google Cloud e políticas de uso do Vertex AI para requisitos de uso comercial.
A API do Veo 3 é uma ferramenta poderosa para desenvolvedores construindo aplicações de vídeo com IA. A combinação da qualidade do modelo do Google, suporte abrangente a SDK e infraestrutura de nível empresarial a torna uma forte escolha para aplicações de produção onde a qualidade é a prioridade máxima.
Para desenvolvedores que precisam de acesso aberto sem requisitos de allowlist, o Seedance fornece uma alternativa capaz com uma API direta e direitos comerciais gratuitos.
Comece a construir com a API aberta do Seedance em seedance.tv →
Related Articles
Continue with more blog posts in the same locale.

Engenharia de Prompts Veo 3: Técnicas Avançadas para Melhores Vídeos de IA em 2026
Guia avançado de engenharia de prompts Veo 3: método de referência cinematográfica, descrições de física, sequências temporais, técnica de contraste, 30 prompts prontos para produção.
Read article
Melhores Alternativas Gratuitas ao Google Veo 3 em 2026
Melhores alternativas gratuitas ao Veo 3 em 2026: Seedance, Pika 2.2, Kling 2.0, Runway Gen-4. Comparação de qualidade, direitos comerciais e recomendações de casos de uso.
Read article
Melhores Práticas do Veo 3: Como Obter os Melhores Resultados em 2026
Guia completo de melhores práticas Veo 3: framework de prompt de seis elementos, prompts negativos, estratégia de seed e checklist de controle de qualidade.
Read article