Veo 3.1
veo-3.1/image-to-video
Modelo de geração de vídeo do Google: a entrada de imagem gera nativamente vídeos de 8 segundos com som ambiente e diálogos, com suporte de até 4K e consistência na aparência do sujeito
Experimentar veo-3.1/image-to-video
Entrada
Criações
Ver todas as criaçõesSaída
videoPreços
veo-3.1/image-to-video per second
Apresentação
O fluxo de imagem para vídeo do Veo 3.1 é a versão orientada por imagem do modelo de geração de vídeo do Google no HiAPI.ai: recebe uma imagem e um prompt de texto e produz um vídeo em movimento com faixa de áudio nativa. Ele se destaca por controlar o movimento de câmera e a evolução da cena preservando a aparência do sujeito da imagem de entrada, sendo adequado para desenvolvedores que precisam converter rapidamente material visual estático em clipes reproduzíveis, com uso em publicidade, redes sociais e pré-visualização de conceitos.
Destaques principais
- Geração nativa com áudio e vídeo sincronizados — ao gerar o vídeo, produz simultaneamente sons ambientes, diálogos e efeitos sonoros, reduzindo as etapas de dublagem e síntese de efeitos em pós-produção.
- Resolução de até 4K — a saída suporta três níveis, 720p, 1080p e 4k, e pode acompanhar automaticamente a imagem de entrada ou usar proporções 16:9 e 9:16 especificadas.
- Duração e áudio controláveis — a duração pode ser 4, 6 ou 8 segundos, e a faixa de áudio pode ser ativada ou desativada, facilitando o ajuste das especificações de geração conforme o canal de veiculação e o orçamento.
- Suporte a prompt negativo e seed fixa — é possível usar negative_prompt para excluir elementos indesejados e seed para reproduzir resultados de geração semelhantes.
Descrição das capacidades
Geração de animação orientada por imagem: parte de uma imagem e, com um prompt de até 20000 caracteres descrevendo o movimento, produz um clipe de 4 a 8 segundos, adequado para converter material visual existente diretamente em conteúdo dinâmico.
Geração de faixa de áudio nativa: gera áudio nativo por padrão; desativar generate_audio permite obter um vídeo sem som, facilitando a inclusão de trilha ou dublagem próprias no fluxo de pós-produção.
Controle de resolução e proporção: é possível especificar saída em 720p, 1080p ou 4k; a proporção pode seguir automaticamente a imagem de entrada ou ser forçada para 16:9 ou 9:16, atendendo a veiculação em tela horizontal e vertical.
Controlabilidade dos resultados: usar negative_prompt para descrever o conteúdo a evitar e seed para fixar a semente aleatória ajuda a manter estilo estável em gerações em lote ou a realizar comparações A/B.
Cenários de aplicação
- Equipes de marketing convertem imagens de produto em anúncios em vídeo — inserem uma imagem estática do produto e uma descrição de ação para produzir clipes horizontais em 4K ou 1080p, usados diretamente em anúncios online e na apresentação no site.
- Gestão de redes sociais produz conteúdo dinâmico vertical — usam imagens verticais e prompts para gerar vídeos 9:16 com efeitos sonoros nativos, publicados como material em plataformas de vídeos curtos.
- Pré-produção audiovisual converte concept arts em pré-visualizações dinâmicas — transformam storyboards ou imagens de design conceitual em clipes dinâmicos, ajudando a equipe a confirmar o movimento de câmera e a atmosfera antes da produção oficial.
- Desenvolvedores geram material dinâmico em lote — em fluxos programáticos, enviam imagens e prompts e, com seed, produzem em lote clipes de estilo uniforme para testes ou preenchimento de conteúdo.
Limitações e recomendações de escolha
A duração máxima por geração é de 8 segundos; narrativas mais longas exigem geração em segmentos e posterior montagem, e a coerência entre vários planos ainda depende de organização manual. Recomenda-se que a imagem de entrada tenha 720p ou mais e esteja em 16:9 ou 9:16; outras proporções serão cortadas. A resolução e a ativação de áudio afetam a cobrança, portanto, antes de gerar em lote, faça um teste com especificações menores. Caso seja necessário criar a cena do zero em vez de animar uma imagem existente, deve-se escolher o fluxo de texto para vídeo da mesma família.
Perguntas frequentes
Ver todas as perguntas →-
Que tipo de modelo de vídeo é o Veo 3.1 Text to Video?
É uma linha puramente de texto para vídeo: basta um Prompt de texto, sem necessidade de enviar uma imagem inicial.
-
Quais especificações de saída o Veo 3.1 Text to Video suporta?
Suporta de 4 a 8 segundos, resoluções incluindo 720p, 1080p e 4k, e proporções de tela incluindo 16:9 e 9:16.
-
É possível gerar voz ou usar uma referência de áudio?
A geração de áudio está ativada por padrão
-
Como é cobrado o Veo 3.1 Text to Video?
A cobrança é feita pela duração da saída e pelo nível em tempo real; eventuais diferenças decorrentes de resolução, modo ou opções de áudio seguem os preços da página e o registro da tarefa.
Criar uma tarefa de geração
https://api.hiapi.ai/v1/tasks Cabeçalhos
AuthorizationstringObrigatórioChave de API da conta. Obrigatória em toda requisição. Exemplo: Bearer YOUR_HIAPI_API_KEY. Obter chave de API
Content-TypestringOpcionalO corpo da requisição é sempre interpretado como JSON; se enviado, apenas application/json (charset opcional) é aceito — qualquer outro valor retorna 415. Exemplo: application/json.
Idempotency-KeystringOpcionalChave de idempotência, até 255 bytes. Retries com a mesma chave da mesma conta criam a tarefa apenas uma vez; replays retornam o taskId original.
Em timeouts de rede ou retries automáticos do cliente, a mesma chave cria a tarefa apenas uma vez, sem cobrança duplicada (escopo = a conta da chave de API). Use um identificador de negócio exclusivo (ex.: "order-42"); replays retornam o taskId original e as chaves expiram 24 h após a primeira requisição. A matriz completa de cenários está na introdução da API assíncrona unificada.
Corpo
modelstringObrigatórioValor fixo atual: veo-3.1/image-to-video
routestringOpcionalValor fixo atual: default
inputobjectObrigatório
Objeto de parâmetros de negócio para veo-3.1/image-to-video e a rota default — veja a tabela de parâmetros abaixo.
seedintegerOpcionalSemente aleatória usada para tornar os resultados de geração reproduzíveis; fornecer a mesma semente produz saídas consistentes.
promptstringObrigatóriominLength 1maxLength 20000Prompt de texto que descreve como a imagem de entrada deve se movimentar.
durationintegerObrigatórioPadrão: 8min 4max 8Duração do vídeo gerado (em segundos); o custo aumenta com a duração; padrão de 8 segundos.
468image_urlstringObrigatórioURL da imagem de entrada a ser animada; recomenda-se resolução de 720p ou superior e proporção 16:9 ou 9:16; outras proporções serão cortadas.
resolutionstringObrigatórioPadrão: "720p"Resolução do vídeo de saída; quanto maior a resolução, maior o custo; padrão de 720p.
720p1080p4kaspect_ratiostringOpcionalPadrão: "auto"Proporção (largura/altura) do vídeo de saída; o padrão é auto, o que significa seguir a proporção da imagem de entrada.
auto16:99:16generate_audiobooleanOpcionalPadrão: trueDefine se uma faixa de áudio nativa será gerada; quando ativado, o preço é maior; ativado por padrão.
negative_promptstringOpcionalPrompt negativo que descreve o conteúdo que deve ser evitado no vídeo gerado.
callbackobjectOpcional
Configuração de notificação de estado terminal. Se omitida, sem callback: consulte a tarefa por conta própria.
Informe callback.url na criação e o HiAPI fará POST no seu serviço no estado terminal, sem polling. O corpo do callback replica a estrutura do detalhe da tarefa; assinatura, retries e idempotência estão descritos na introdução da API assíncrona unificada.
urlstringObrigatórioObrigatória se callback estiver presente. No estado terminal é enviado um POST para esta URL; deve ser uma URL http(s) válida.
whenstringOpcionalPadrão: "final"Atualmente só há suporte a final — notifica tanto em success quanto em fail.
finalstoragestringOpcionalPadrão: "temp"Nível de armazenamento de artefatos: temp (padrão, ~7 dias) ou persistent (longo prazo, cobrado por tamanho). Saldo insuficiente ou limite excedido ⇒ rebaixamento silencioso para temp; o nível efetivo aparece na resposta de detalhes.
temppersistentExemplos de requisição
# Envia uma tarefa assíncrona; retorna um taskId imediatamente (sem esperar a geração)
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": "…",
"duration": 8,
"image_url": "…",
"resolution": "720p",
"aspect_ratio": "auto",
"generate_audio": true
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "veo-3.1/image-to-video",
input: {
"prompt": "…",
"duration": 8,
"image_url": "…",
"resolution": "720p",
"aspect_ratio": "auto",
"generate_audio": true
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "veo-3.1/image-to-video",
"input": {
"prompt": "…",
"duration": 8,
"image_url": "…",
"resolution": "720p",
"aspect_ratio": "auto",
"generate_audio": True
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Obter detalhes da tarefa
https://api.hiapi.ai/v1/tasks/:id Campos da resposta
taskIdstringObrigatórioID da tarefa, sempre com prefixo tk-hiapi-.
modelstringObrigatórioNome completo resolvido do modelo. Tarefas enviadas com o parâmetro route retornam base@route (ex.: gpt-image-2/text-to-image@ext); caso contrário, igual ao nome enviado.
routestringOpcionalPresente apenas se o parâmetro route explícito foi usado; ecoa o valor enviado.
statusstringObrigatórioEstado da tarefa.
queued Na fila, ainda não iniciada.
handling Em processamento.
archiving Processamento concluído, preparando artefatos.
success Terminal: concluído, artefatos disponíveis (retorna output).
fail Terminal: falha (retorna error).
Após o envio, acompanhe status: success e fail são terminais, os demais não. Faça polling a cada 1–3 s até o estado terminal. Em caso de sucesso, baixe os artefatos em output[].url e transfira antes de expireAt; para retenção longa, use storage: "persistent" na criação.
creatednumberObrigatórioMomento de criação da tarefa (segundos Unix).
completednumberObrigatórioSegundos Unix do estado terminal; 0 enquanto não terminal.
outputarrayOpcional
Presente apenas com status == success. Lista de artefatos — sempre um array; uma tarefa pode retornar vários types ao mesmo tempo (ex.: video + first_frame).
Array [ object ]
Itens do array
urlstringObrigatórioURL do artefato, baixável diretamente.
typestringObrigatórioValores possíveis no momento: video, image, audio, first_frame, last_frame, thumbnail; poderão ser ampliados.
expireAtnumberObrigatórioSegundos Unix de disponibilidade do artefato; baixe ou transfira antes da expiração.
errorobjectOpcional
Presente apenas com status == fail.
codestringObrigatórioCódigo de erro de negócio.
messagestringObrigatórioDescrição do erro.
Exemplos de resposta
Sucesso
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Em processamento (não final)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Falhou
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Artigos
Ver todos os artigos →-
Tutorial
Como chamar hailuo-2.3-fast/image-to-video pela API HiAPI: curl e Python na prática
A primeira requisição executável do nível rápido e econômico de geração de vídeo a partir de imagem — do ID do modelo ao download do MP4
-
Tutorial
Como chamar hailuo-2.3/text-to-video pela API HiAPI: curl, Python e exemplos de requisição executáveis
-
Tutorial
Usar Kandinsky 6.0 Pro text-to-video na HiAPI: tutorial de curl e Python
Demonstração prática com foco na requisição: montar a chamada de prompt para clipe de vídeo, enviar a requisição, consultar o status de conclusão e baixar o resultado
-
Tutorial
Como usar kling-4.0/text-to-video através da API HiAPI: curl, Python e um exemplo de requisição executável
Guia prático para desenvolvedores: prompts cinematográficos, áudio sincronizado, polling assíncrono e download da saída
-
Tutorial
Como chamar kling-4.0/image-to-video na HiAPI: curl, Python e polling
-
Tutorial
Tutorial de kandinsky-6.0-pro/image-to-video na HiAPI: curl + Python
Faça uma requisição de imagem para vídeo funcional na HiAPI: do upload do primeiro quadro ao polling assíncrono e ao download final
Modelos relacionados
Ver todos os modelos →Mesmo tipo
-
FLUX 3 Max Black Forest Labs $0.061 /segundo -
Kling AI Avatar Kuaishou -- -
Veo 3.1 Fast Google $0.170 /segundo -
HappyHorse 1.0 Alibaba $0.168 /segundo -
FLUX 3 Video Black Forest Labs $0.090 /segundo -
Kling 3.0 Kuaishou $0.100 /segundo -
Wan 2.7 Video Alibaba $0.100 /segundo -
Kling 3.0 Turbo Kuaishou $0.130 /segundo -
Gemini Omni Google -- -
LTX 2.5 Fast Lightricks $0.086 /segundo -
Gemini Omni 1.1 Flash Google $0.450 /vídeo -
HappyHorse 1.1 Alibaba $0.160 /segundo
Mesmo provedor
-
Nano Banana Google $0.021 /imagem -
Nano Banana Pro Google $0.057 /imagem -
Lyria 3 Pro Google $0.140 /música -
Imagen 4 Google $0.030 /imagem -
Gemini 3.1 Flash TTS Google -- -
Veo 3.1 Fast Google $0.170 /segundo -
Nano Banana 2 Lite Google $0.033 /imagem -
Gemini Omni Google -- -
Lyria 3.5 Google $0.090 /música -
Google Virtual Try-On Google $0.107 /imagem -
Nano Banana 2 Google $0.036 /imagem -
Veo 3.1 Lite Google $0.060 /segundo



