Claude Opus 5.5 já está disponível no SeedRouter
SeedRouter Docs

Veo 3.1

Gere clipes de vídeo com o Veo 3.1 por uma única API de tarefas: três modelos cobrados por clipe de 8 segundos e dois cobrados por segundo, com quadros, áudio e saída em GIF.

View Markdown

O Veo 3.1 é o modelo de geração de vídeo do Google. O SeedRouter o oferece em cinco IDs de modelo em um único endpoint: três cobrados por clipe, cada clipe com 8 segundos, e dois cobrados por segundo, com mais controles (duração, áudio, seed, prompt negativo, primeiro e último quadro). Envie a requisição, guarde o ID da tarefa retornado e leia o vídeo pronto a partir da tarefa. As imagens são enviadas como URLs.

IDs de modelo

ID de modeloCobrançaDuraçãoImagensÁudio
veo-3.1-fastpor clipe8 segundosaté 3, modo frame ou referencesem chave
veo-3.1-qualitypor clipe8 segundosaté 3, modo framesem chave
veo-3.1-litepor clipe8 segundosnenhuma (texto para vídeo)sem chave
veo-3.1-fast-officialpor segundo4, 6 ou 8 segundosprimeiro e último quadrogenerate_audio
veo-3.1-quality-officialpor segundo4, 6 ou 8 segundosprimeiro e último quadrogenerate_audio

Veja a página do modelo para os preços atuais.

Exemplo rápido

curl https://api.seedrouter.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "veo-3.1-fast",
    "prompt": "A red paper boat drifts across a calm pond at sunrise, soft mist on the water, slow push-in on a 35mm lens, no text, no logos.",
    "resolution": "720p",
    "aspect_ratio": "16:9"
  }'

Endpoint

POST https://api.seedrouter.ai/v1/videos/generations
CabeçalhoValor
AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json

A resposta é uma tarefa ({"id": "task_...", "status": "processing"}), não o vídeo pronto. Consulte GET /v1/tasks/{task_id} para obter o resultado. Mantenha as chaves de API no código do lado do servidor.

Parâmetros: modelos por clipe

veo-3.1-fast, veo-3.1-quality e veo-3.1-lite.

CampoTipoPadrãoObservações
modelstringobrigatórioUm dos três IDs acima.
promptstringobrigatórioDescreve a cena.
durationinteger8Apenas 8 é aceito.
aspect_ratioenum16:9 ou 9:16.
resolutionenum720p720p, 1080p ou 4k (maiúsculas ou minúsculas). O veo-3.1-lite não tem 4k.
enable_gifbooleanfalseRetorna o clipe como GIF animado em vez de MP4. Apenas 720p.
nsfw_checkbooleanfalseVerifica o prompt e as imagens em busca de conteúdo impróprio antes de gerar.
image_urlsarrayApenas Fast e Quality. Até 3 URLs públicas de imagem.
generation_typeenumpelo número de imagensApenas Fast e Quality. frame ou reference; o Quality aceita só frame.

Parâmetros: modelos por segundo

veo-3.1-fast-official e veo-3.1-quality-official.

CampoTipoPadrãoObservações
modelstringobrigatórioUm dos dois IDs acima.
promptstringobrigatórioDescreve a cena.
negative_promptstringO que deixar fora do clipe.
durationinteger84, 6 ou 8 segundos.
aspect_ratioenum16:916:9 ou 9:16.
resolutionenum720p720p, 1080p ou 4k (maiúsculas ou minúsculas).
first_frame_imagestringURL pública de imagem. O clipe começa nela.
last_frame_imagestringURL pública de imagem. Exige first_frame_image.
seedintegeraleatórioDe 0 a 4294967295.
generate_audiobooleanfalseAdiciona uma faixa de áudio. Cobrado a uma tarifa por segundo mais alta.
person_generationenumallow_adultallow_adult ou disallow.
resize_modeenumpadpad ou crop. Exige first_frame_image.
enhance_promptbooleantrueApenas true é aceito; caso contrário, omita o campo.
nsfw_checkbooleanfalseVerifica o prompt e as imagens em busca de conteúdo impróprio antes de gerar.

O esquema é estrito: campos desconhecidos são rejeitados em vez de ignorados, e cada modelo aceita apenas os próprios campos. Callbacks não estão disponíveis; consulte a tarefa.

Modos de imagem

No veo-3.1-fast e no veo-3.1-quality, generation_type define como as image_urls são usadas:

generation_typeImagensEfeito
frame1 ou 2A primeira imagem é o primeiro quadro, a segunda é o último.
referenceaté 3As imagens servem de referência para o assunto e o estilo. Apenas Fast.
omitido2 ou 3Duas imagens usam o modo frame, três usam o modo reference.

O veo-3.1-quality não executa o modo reference, então recusa generation_type: "reference" e três imagens sem generation_type. O veo-3.1-lite não aceita imagens.

Nos modelos por segundo, defina first_frame_image e, opcionalmente, last_frame_image. resize_mode escolhe se uma imagem com outro formato é preenchida ou cortada.

Entradas de mídia

As imagens são URLs HTTP(S) públicas:

{ "image_urls": ["https://example.com/first.jpg", "https://example.com/last.jpg"] }

Nos modelos por clipe, cada imagem é JPEG, PNG ou WebP e tem no máximo 10 MB; um arquivo que não cumpre essas regras faz a tarefa falhar sem cobrança. Dados em base64 não são aceitos: envie o arquivo para o seu próprio armazenamento e passe a URL dele.

Fatores de custo

Veja a seção de preços do modelo para as tarifas atuais.

per-clip models:    cost = price of one clip at the output resolution        (720p and 1080p cost the same)
per-second models:  cost = duration × rate for the resolution and audio setting

A cobrança é fixada quando a requisição é aceita, então o valor reservado é o valor cobrado. Veja as cobranças finais no histórico de uso da sua conta. Tarefas que falham não são cobradas.

Esquema de saída

O envio retorna a tarefa:

{"id": "task_...", "model": "veo-3.1-fast", "status": "processing", "created_at": 1789689600}

Consultar a tarefa

GET https://api.seedrouter.ai/v1/tasks/{task_id}

Consulte a cada 10–20 segundos até que status seja completed ou failed. Um tempo limite de rede durante a consulta não significa que a geração falhou: guarde o ID da tarefa e retome a verificação. Não crie outra tarefa para acompanhar o progresso.

Tarefa concluída

{
  "id": "task_...",
  "model": "veo-3.1-fast",
  "status": "completed",
  "created_at": 1789689600,
  "finished_at": 1789689720,
  "output": {
    "video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4"
  }
}

video_url é um MP4, ou um GIF quando a requisição definiu enable_gif. O link fica no armazenamento do SeedRouter.

O que nossas execuções de teste retornaram (uma de cada, 2026-10-04):

RequisiçãoArquivo
veo-3.1-fast, 9:16, modo frameMP4, H.264, 720 × 1280, 24 fps, 8 s, com faixa de áudio AAC estéreo
veo-3.1-fast-official, 16:9, 720p, 4 s, sem generate_audioMP4, H.264, 1280 × 720, 24 fps, 4 s, sem faixa de áudio
veo-3.1-lite, enable_gifGIF, 480 × 270, 16 fps, 8 s

Os modelos por clipe não têm chave de áudio; os modelos por segundo só adicionam uma faixa de áudio com generate_audio.

Erros

Requisições rejeitadas antes de uma tarefa ser criada retornam um erro HTTP com um objeto error e não são cobradas. Uma tarefa que falha depois de aceita retorna HTTP 200 quando consultada, com status: "failed" e um objeto error.

Veja o catálogo de erros comum para códigos, status HTTP e orientações de nova tentativa.

{
  "id": "task_...",
  "model": "veo-3.1-fast",
  "status": "failed",
  "error": {
    "code": 60001,
    "message": "The request was rejected by the content policy. Please revise the prompt or input images."
  }
}

Se o próprio envio atingir o tempo limite, confira suas tarefas antes de enviar de novo: a primeira requisição pode ter sido aceita.

Dicas

  • Comece no veo-3.1-lite ou no veo-3.1-fast em 720p para testar um prompt e depois passe para o Quality ou para 4k no render final.
  • Cite a câmera e a luz: uma lente e um movimento de câmera mudam a cena mais do que adjetivos.
  • Adicione no text, no logos para manter letreiros e marcas inventados fora do quadro.
  • Para uma cena que precisa começar e terminar em imagens conhecidas, use o modo frame com duas imagens, ou os modelos por segundo com first_frame_image e last_frame_image.
  • Fixe seed nos modelos por segundo e mude uma oração de cada vez para refinar uma cena.

Relacionados