Pruna AI
P-Video 2 Pro Replace
p-video-2-pro-replace
Modelo de substituição de pessoas em vídeos da Pruna AI: use uma ou duas imagens de referência para inserir pessoas em um vídeo existente, substituindo até duas pessoas ao mesmo tempo, preservando o movimento de câmera, o enquadramento, o fundo e as ações do vídeo original, além de poder reutilizar a faixa de áudio de origem; ideal para variações de anúncios e locuções localizadas
Experimentar p-video-2-pro-replace
Entrada
Criações
Ver todas as criaçõesSaída
videoPreços
p-video-2-pro-replace per second
| Especificações | Preço unitário |
|---|---|
| 480P | $0.0358 |
| 768P | $0.0715 |
| 1080P | $0.0858 |
| 2K | $0.100 |
| 4K | $0.1286 |
Visão geral
Esta é uma ferramenta de substituição de vídeo voltada para pós-produção e criação de materiais de marketing: basta enviar um vídeo de origem e uma ou duas imagens de referência de pessoas para inserir as pessoas das imagens na cena do vídeo original, preservando ao mesmo tempo o movimento de câmera, a composição, o fundo e o ritmo de ação do vídeo original. O prompt pode complementar a forma de posicionamento das pessoas, ou ficar em branco para seguir a apresentação natural do vídeo de origem. É ideal para variantes de anúncios, versões localizadas com apresentadores e reescolha de personagens em materiais existentes; a saída é um arquivo de vídeo que pode ser entregue na proporção de tela do vídeo original.
Destaques principais
- Substitui as pessoas e preserva a cena original — após a substituição, mantêm-se o movimento de câmera, a composição, o fundo e o ritmo de ação do vídeo de origem, reduzindo o trabalho de regravação e de nova montagem de cenário.
- Uma ou duas imagens de referência definem as pessoas — aceita uma única pessoa, ou duas pessoas substituídas simultaneamente, cada uma com uma imagem, ideal para criar rapidamente variantes de materiais com duas pessoas em cena.
- Herda a duração e a proporção de tela da origem — a duração da saída acompanha o vídeo de origem e a proporção de tela é mantida, facilitando o reaproveitamento de edições e especificações de veiculação existentes.
Descrição das capacidades
Substituição de pessoas por imagens de referência: forneça de uma a duas imagens HTTPS de pessoas para inserir as pessoas das imagens na cena do vídeo de origem; as duas imagens correspondem, respectivamente, a duas pessoas em cena, ideal para planos com duas pessoas.
Controle do posicionamento por prompt: o prompt opcional tem no máximo 1000 caracteres e serve para explicar como as pessoas devem ser inseridas na cena; se ficar em branco, o processamento segue a apresentação original do vídeo de origem.
Restrições de especificação do vídeo de origem: o vídeo de origem deve ser um MP4, MOV ou WebM em endereço HTTPS, com duração de 2 a 30 segundos; fora desse intervalo, será recusado. A duração da saída acompanha o vídeo de origem.
Escolha de resolução: é possível escolher uma especificação de saída entre 480p, 768p, 1080p, 2k e 4k; o padrão é 768p, e a proporção de tela segue o vídeo de origem.
Reprodução por semente aleatória: é possível definir uma semente aleatória de 0 a 2147483647, facilitando gerar repetidamente com os mesmos materiais e parâmetros e comparar diferentes efeitos de posicionamento das pessoas.
Cenários de aplicação
- Produção em lote de variantes com apresentadores por equipes de publicidade — usar o mesmo vídeo de origem com diferentes imagens de referência de pessoas para produzir materiais de vídeo com várias versões de personagens, destinados a testes de veiculação e distribuição multiplataforma.
- Substituição localizada de apresentadores em marketing — preservar a cena e o ritmo do vídeo original e trocar o apresentador pela imagem do mercado-alvo, obtendo uma versão localizada que pode ser inserida diretamente na edição existente.
- Reescolha de personagens em materiais existentes — trocar o apresentador de materiais já gravados sem necessidade de nova montagem de cenário ou nova gravação, gerando um arquivo de vídeo adequado para continuar a edição e a entrega.
- Substituição simultânea em planos com duas pessoas — fornecer uma imagem de referência para cada uma das duas pessoas e gerar em uma única vez a versão com as duas em cena, para produção de materiais com múltiplos personagens em vídeos curtos para redes sociais.
Limitações e recomendações de escolha
Cada execução substitui no máximo duas pessoas; o vídeo de origem deve ter de 2 a 30 segundos, e durações menores ou maiores serão recusadas; a duração da saída acompanha o vídeo de origem. É obrigatório fornecer simultaneamente o vídeo de origem e pelo menos uma imagem de referência; não é possível gerar vídeo do zero apenas com texto. Ao desativar a preservação do áudio de origem, a trilha original não é mantida, sendo necessário confirmar por conta própria o som da versão final. O efeito da substituição depende das condições das imagens de referência e das imagens do vídeo de origem, não havendo garantia de que a aparência das pessoas seja exatamente igual.
Novidades
Ver o changelog →- Novo modelo P-Video 2 Pro Replace disponível: substitua as pessoas do vídeo com 1–2 fotos de pessoas
Perguntas frequentes
Ver todas as perguntas →-
Quantas pessoas no máximo podem ser substituídas na cena?
No máximo duas pessoas. Coloque 1–2 fotos de pessoas em image_urls: uma foto para uma pessoa; para duas pessoas, uma foto de cada. Você pode usar o prompt para explicar como as pessoas devem ser inseridas na cena.
-
Qual é a duração permitida para o vídeo de origem?
Atualmente, apenas vídeos de origem com duração entre 2 e 30 segundos são aceitos; solicitações fora desse intervalo serão rejeitadas. A duração da saída é igual à do vídeo de origem e não pode ser especificada separadamente; se o material for mais longo, é necessário cortá-lo ou dividi-lo em segmentos e processá-los separadamente.
-
Ao substituir, a câmera e o fundo mudam?
Não, o movimento de câmera, a composição, o fundo e o ritmo temporal seguem todos o vídeo de origem; o modelo substitui apenas a pessoa. Também não é possível alterar o modo de filmagem por meio de parâmetros; para obter outro enquadramento ou cenário, é necessário usar outro vídeo de origem.
-
O áudio do vídeo original pode ser preservado?
Sim, por padrão é preservado: keep_audio tem valor padrão true e a saída inclui a faixa de áudio do vídeo de origem. Quando definido como false, a saída não inclui o áudio original.
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: p-video-2-pro-replace
routestringOpcionalValor fixo atual: default
inputobjectObrigatório
Objeto de parâmetros de negócio para p-video-2-pro-replace e a rota default — veja a tabela de parâmetros abaixo.
seedintegerOpcionalmin 0max 2147483647Semente aleatória, um número inteiro entre 0 e 2147483647; usar a mesma semente e manter as demais entradas inalteradas ajuda a reproduzir o resultado; se não for informada, será aleatória.
promptstringOpcionalmaxLength 1000Instrução opcional que explica como inserir a(s) pessoa(s) da imagem de referência na cena; se ficar em branco, seguirá diretamente o conteúdo e a composição do vídeo de origem.
video_urlstringObrigatóriopattern ^https://URL HTTPS do vídeo de origem, com suporte aos formatos MP4, MOV e WebM, duração obrigatória de 2 a 30 segundos, fornecendo movimento, cena, enquadramento e áudio; solicitações com duração fora desse intervalo serão rejeitadas, e a duração da saída será igual à do vídeo de origem.
image_urlsarrayObrigatóriominItems 1maxItems 2Array de URLs HTTPS das imagens de identidade das pessoas a serem inseridas no vídeo, com suporte a jpg, jpeg, png e webp; informe de 1 a 2, podendo corresponder a uma pessoa ou a duas pessoas, cada uma com uma imagem.
Array [ string ]
keep_audiobooleanOpcionalPadrão: trueDefine se o áudio do vídeo de origem será mantido na saída; valor booleano, padrão true.
resolutionstringOpcionalPadrão: "768p"Resolução da saída, com opções 480p, 768p, 1080p, 2k e 4k, padrão 768p, mantendo a proporção de largura e altura do vídeo de origem; quanto maior a resolução, maior o custo.
480p768p1080p2k4kcallbackobjectOpcional
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": "p-video-2-pro-replace",
"input": {
"video_url": "…",
"image_urls": "…",
"keep_audio": true,
"resolution": "768p"
}
}' 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: "p-video-2-pro-replace",
input: {
"video_url": "…",
"image_urls": "…",
"keep_audio": true,
"resolution": "768p"
}
}),
});
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": "p-video-2-pro-replace",
"input": {
"video_url": "…",
"image_urls": "…",
"keep_audio": True,
"resolution": "768p"
}
},
)
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 →Modelos relacionados
Ver todos os modelos →Mesmo tipo
-
LTX 2.5 Fast Lightricks $0.086 /segundo -
Kling 3.0 Kuaishou $0.100 /segundo -
HeyGen Avatar IV HeyGen $0.150 /segundo -
P-Video 2 Pro Avatar Pruna AI $0.029 /segundo -
Seedance 2.5 ByteDance $0.121 /segundo -
Kandinsky 6.0 Pro $1.93 /vídeo -
Kling 4.0 Flash Kuaishou $0.122 /segundo -
HeyGen Avatar V HeyGen $0.150 /segundo -
Ray 3.2 Luma $0.214 /vídeo -
Kling 4.0 Kuaishou $0.204 /segundo -
Wan 2.6 Flash Alibaba $0.043 /segundo -
Vidu Q3 Vidu $0.149 /segundo
