Guia de uso
Veo 3.1 imagem para vídeo: transforme uma imagem estática em um anúncio curto via API
De uma imagem estática de produto por US$ 0,03 a um vídeo vertical 9:16 com áudio nativo, em apenas 115 segundos — execute o fluxo de trabalho completo veo-3.1/image-to-video na API de tarefas do hiapi, com saídas reais, loop de rascunho rápido e pipeline em lote.
Vídeos curtos têm uma aritmética de produção cruel: TikTok e Reels vencem pelo volume de publicações, mas um único anúncio de produto refinado pode consumir uma tarde inteira de filmagem, edição e design de som. O modelo de imagem para vídeo Veo 3.1 do Google (veo-3.1/image-to-video) comprime esse pipeline em duas chamadas de API — uma imagem estática barata, uma tarefa de vídeo — e retorna um vídeo vertical já com áudio nativo mixado.
Abaixo está a saída completa gerada por este pipeline para este artigo. Uma imagem de origem de US$ 0,03, uma chamada de API, 115 segundos de espera:
Ligue o som — o baque surdo do pouso, o pulso ambiente de graves e o chiado da névoa foram todos gerados pelo modelo. Nada aqui passou por edição humana, correção de cor ou design de som. Neste guia, vamos construir esse vídeo de ponta a ponta pela API de tarefas hiapi e, em seguida, escalar o mesmo fluxo de trabalho em um pipeline em lote para produzir variantes em formato curto.
Por que imagem para vídeo é a ferramenta certa para formato curto
Texto para vídeo é ótimo para exploração, mas o conteúdo comercial em formato curto geralmente parte de material que você já controla: fotos de produto, imagens de embalagem, quadros de pôster. Imagem para vídeo adiciona movimento mantendo essa identidade visual intacta. Para o formato TikTok/Reels, três características do veo-3.1/image-to-video são especialmente importantes:
- A saída segue a proporção da sua entrada. Não há parâmetro
aspect_ratio— o modelo herda a composição da imagem que você fornece. Dê a ele uma imagem estática vertical 9:16 e você recebe um vídeo vertical 9:16. Os dois vídeos deste artigo saíram exatamente em 1080×1920 e 720×1280, porque as imagens estáticas de origem eram 9:16. Suas decisões de composição são tomadas uma única vez, na fase da imagem. - Áudio nativo. Cada vídeo vem com uma faixa de áudio AAC de 48 kHz gerada a partir do seu prompt — foley, ambiência e textura musical. Para formato curto, onde conteúdo mudo com reprodução automática converte menos do que conteúdo com som, isso elimina uma etapa inteira de edição.
- Resoluções adequadas às plataformas. Use
720ppara rascunhos,1080ppara verticais com qualidade de feed e4kquando o vídeo curto também servir como master para outros posicionamentos.
Estrutura dos parâmetros de entrada (verificada na API ao vivo)
Antes de escrever este guia, testamos o endpoint ao vivo. A estrutura de parâmetros é estrita — campos desconhecidos são rejeitados com erro 400, então não tente adivinhar:
| Campo | Obrigatório | Tipo | Valor |
|---|---|---|---|
prompt |
Recomendado | string | Instruções de movimento, câmera e áudio |
image_url |
Sim | string | Uma URL de imagem publicamente acessível |
resolution |
Sim | string | 720p, 1080p, 4k |
duration |
Sim | integer | 4, 6 ou 8 (segundos) |
Duas armadilhas que vale a pena conhecer de antemão: image_url é singular — este é um modelo de referência única, não um misturador de várias imagens — e a URL precisa ser publicamente acessível (hospede no seu próprio CDN ou object storage; links assinados de localhost não funcionam).
Passo 1 — Gerar a imagem estática de origem
Qualquer imagem 9:16 serve, incluindo fotos reais de produto. Geramos nossa imagem de origem com gpt-image-2 por US$ 0,03, mantendo todo o pipeline dentro de uma única API:

curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2/text-to-image",
"input": {
"prompt": "Vertical product hero shot of a chunky retro basketball sneaker in wolf-gray suede with volt yellow laces, floating at a slight tilt above a wet concrete pedestal, dramatic teal-to-amber gradient backdrop, fine mist and dust particles suspended in hard rim light, ultra-sharp commercial product photography, no text, no logos",
"aspect_ratio": "9:16",
"resolution": "1K"
}
}'
As regras de composição para uma boa imagem de origem para i2v são as mesmas que você daria a um fotógrafo de natureza morta, mais uma: deixe margem para o movimento. Nosso tênis flutua acima do pedestal exatamente para dar ao modelo de vídeo uma ação física óbvia para executar — fazer o tênis cair sobre a pedra. Um sujeito congelado no meio da ação dá ao Veo uma história para completar; uma imagem de embalagem estática e centralizada não lhe dá nada, e você só recebe preenchimento com câmera à deriva.
Passo 2 — Enviar a tarefa de vídeo
Mesmo endpoint /v1/tasks, modelo diferente. O prompt deve orientar três canais ao mesmo tempo: movimento do sujeito, câmera e áudio.
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "veo-3.1/image-to-video",
"input": {
"prompt": "The sneaker slowly rotates about 90 degrees as the camera pushes in from a low angle. Dust particles drift through the rim light. The shoe settles onto the wet stone pedestal with a deep, satisfying thud, sending a soft ring of mist rolling off the edges. A warm light sweep travels across the suede texture. Subtle bass-heavy electronic pulse builds in the background with a low whoosh on the landing. Cinematic product commercial, smooth stabilized motion, no text overlays.",
"image_url": "https://your-cdn.example.com/stills/sneaker-916.jpg",
"resolution": "1080p",
"duration": 6
}
}'
A resposta retorna imediatamente um ID de tarefa:
{"code": 200, "data": {"taskId": "tk-hiapi-01KXCTHP6F6VXQ9XZCSCCEEEMM"}, "message": "success"}
Observe que o prompt é escrito na ordem de reprodução do vídeo: rotação → aproximação → pouso → varredura de luz, com as indicações de áudio anexadas ao momento a que pertencem (o "thud" no pouso, o pulso abaixo). O Veo segue a ordem dos eventos no prompt de forma muito literal — é exatamente isso que o torna programável.
Passo 3 — Consultar e baixar
Tarefas de vídeo são assíncronas. Consulte a tarefa até que status mude para success e então baixe a saída imediatamente — essa URL é um link temporário com timestamp expireAt, não armazenamento permanente:
import os, time, requests
API = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"}
def wait_and_download(task_id: str, out_path: str, timeout_s: int = 900):
deadline = time.time() + timeout_s
while time.time() < deadline:
task = requests.get(f"{API}/{task_id}", headers=HEADERS, timeout=30).json()["data"]
if task["status"] == "success":
url = task["output"][0]["url"] # temp link — expires!
clip = requests.get(url, timeout=120).content
with open(out_path, "wb") as f:
f.write(clip) # persist to your own storage now
return out_path
if task["status"] == "fail":
raise RuntimeError(task.get("error"))
time.sleep(10)
raise TimeoutError(task_id)
Na nossa execução, o vídeo de 6 segundos em 1080p levou 115 segundos do envio à conclusão. É rápido o suficiente para entrar em um pipeline de conteúdo sem precisar de fila na frente.
Rascunho barato, finalização refinada: fluxo de trabalho em duas camadas
O Veo 3.1 tem uma camada rápida — veo-3.1-fast/image-to-video — com estrutura de entrada idêntica e custo por segundo menos da metade. Isso habilita um fluxo de trabalho emprestado da fotografia: tirar polaroids antes de queimar filme. Itere seu prompt de movimento na camada rápida em 720p e re-renderize apenas o prompt vencedor na camada padrão.
Aqui está o rascunho na camada rápida com exatamente o mesmo prompt e imagem estática de origem (6 segundos, 720p, US$ 1,50, concluído em 58 segundos):
O rascunho acerta as mesmas batidas — rotação, pouso, névoa — mas o detalhe de textura é visivelmente mais simples e a mixagem de áudio é mais achatada. Para iteração de prompt, isso é tudo o que você precisa: você está verificando a coreografia, não o acabamento final. Os dois vídeos deste artigo acertaram na primeira tomada; a camada rápida é como você garante que a tomada na camada padrão seja a única que você paga.
Escalando para produção em lote
Estratégia de formato curto é um jogo de volume — você quer de 5 a 10 variantes por produto para testar ganchos. Como tudo roda em um único endpoint assíncrono, processamento em lote é só um loop: envie todas as tarefas primeiro e depois colete.
STILLS = [
("sneaker-916.jpg", "rotates and lands on the pedestal with a deep thud..."),
("bottle-916.jpg", "condensation beads race down the glass as camera orbits..."),
("headphones-916.jpg","earcup unfolds in slow motion, soft click, synth swell..."),
]
task_ids = []
for still, motion in STILLS:
r = requests.post(API, headers=HEADERS, json={
"model": "veo-3.1-fast/image-to-video", # draft tier for the first sweep
"input": {
"prompt": motion,
"image_url": f"https://your-cdn.example.com/stills/{still}",
"resolution": "720p",
"duration": 6,
},
}, timeout=60).json()
task_ids.append(r["data"]["taskId"])
for i, tid in enumerate(task_ids):
wait_and_download(tid, f"draft-{i}.mp4")
Enviar primeiro e coletar depois é importante: os vídeos são gerados em paralelo no lado da plataforma, então dez rascunhos levam aproximadamente o tempo de um rascunho, e não dez vezes mais.
Quanto custa
Conforme a tabela de preços do hiapi, as duas camadas cobram por segundo de vídeo de saída:
| Modelo | Preço | Vídeo de 4 s | Vídeo de 6 s | Vídeo de 8 s |
|---|---|---|---|---|
veo-3.1/image-to-video |
US$ 0,57/s | US$ 2,28 | US$ 3,42 | US$ 4,56 |
veo-3.1-fast/image-to-video |
US$ 0,25/s | US$ 1,00 | US$ 1,50 | US$ 2,00 |
Tudo o que este artigo mostra — uma imagem estática de origem, uma imagem de capa, um rascunho rápido, uma versão final em 1080p — custou US$ 4,98 em API. Um fluxo de trabalho com três rascunhos rápidos mais uma versão final padrão custa cerca de US$ 8 por vertical finalizado, o que é uma ordem de magnitude totalmente diferente de um dia de filmagem.
Perguntas frequentes
Como controlar a proporção? Não dá — a saída herda o formato da imagem de entrada. Para TikTok/Reels, gere ou corte a imagem estática de origem em 9:16 antes de enviar. Nossa imagem estática 9:16 gerou exatamente uma saída de 1080×1920.
O áudio é realmente gerado? Sim. Os dois vídeos acima trazem faixas de áudio AAC de 48 kHz geradas pelo modelo — foley (o baque do pouso), ambiência e textura musical, todos guiados pelo prompt. Descreva os sons no prompt no momento em que devem acontecer.
Quanto tempo demora a geração? Nas nossas execuções medidas: 58 segundos para um vídeo rápido de 6 s em 720p, e 115 segundos para um vídeo padrão de 6 s em 1080p. Reserve alguns minutos por vídeo e use o padrão de enviar tudo e depois coletar para processamento em lote.
Posso usar fotos reais de produto em vez de imagens geradas? Claro — esse é o caso de uso principal. A imagem só precisa ser publicamente acessível por URL. Mantenha o sujeito nítido, deixe margem para o movimento e descreva no prompt o movimento que você quer.
Quando vale pagar por 4k? Quando o vertical também servir como ativo master — corte a partir da fonte 4k para posicionamentos em feed, hero do site e unidades pagas. Para entrega exclusiva em feed, 1080p é a resolução final para a qual as plataformas transcodificam.
Publique seu primeiro vídeo curto
Todo o pipeline são dois POSTs mais uma consulta: entra imagem estática, sai anúncio vertical com som, em cerca de dois minutos. Obtenha sua chave de API, aponte os trechos de código acima para sua melhor foto de produto e rode um rascunho rápido em 720p — seis segundos por US$ 1,50, o teste mais barato que você pode encomendar. Parâmetros completos e exemplos ao vivo estão na página do modelo veo-3.1/image-to-video; se você estiver comparando engines de i2v, nossas receitas de prompt de imagem para vídeo do Hailuo 2.3 são ótimas para uma comparação lado a lado.
Artigos relacionados
Ver todos os artigos →-
Guia de uso
Guia de introdução ao seedream-5.0-pro/image-to-image: capacidades, preços e pontos de integração
Limites de capacidade, modelo de cobrança e práticas de integração de engenharia do modelo de edição de imagem da ByteDance
-
Guia de uso
Guia prático do seedream-5.0-pro text-to-image: limites de capacidade, integração via API e controle de custos
Perspectiva prática para desenvolvedores: dos pontos-chave dos parâmetros à estimativa de custo de US$ 0,05 por imagem
-
Guia de uso
Guia de introdução ao Hailuo 2.3 Fast image-to-video: limites de capacidade, preços e práticas de integração
Pontos-chave de seleção e integração do modelo image-to-video MiniMax para desenvolvedores