Introdução
P-Video 2 Pro Texto para vídeo transforma um roteiro escrito em um clipe de 5 a 15 segundos em 480p ou 768p, em sete proporções, de 16:9 a 9:16. A Pruna criou o P-Video 2 Pro pensando em velocidade: nos nossos testes, um clipe de 5 segundos levou cerca de 10 a 20 segundos para gerar. Todo clipe volta com uma trilha sonora que o modelo gera na mesma passagem, e não há filtro de conteúdo no prompt nem no resultado.
Escolha um modo do P-Video 2 Pro pelo material inicial
| O que você tem no início | Modo |
|---|---|
| um roteiro ou cena escrita | P-Video 2 Pro Texto para vídeo (você está aqui) |
| um quadro inicial, e opcionalmente um quadro final | P-Video 2 Pro Imagem para vídeo |
| um clipe para emprestar movimento, ou uma faixa de voz ou música | P-Video 2 Pro Referência para vídeo |
Recursos e destaques
Três modos de geração
generation_mode troca preço por velocidade e qualidade. cost é o mais barato por segundo e um pouco mais lento, speed (o padrão) é mais rápido com a mesma qualidade de imagem, e quality gera um clipe de qualidade mais alta por um preço mais alto.
Som em todo clipe
O modelo escreve a trilha sonora por conta própria: ambiente, efeitos e qualquer fala que você colocar entre aspas. Não há chave para desligar e não há custo extra por isso.
Sem censura
Nenhum filtro sobre prompts ou resultados. Em nossos testes, os prompts até o nível Forte foram renderizados como escritos; os pedidos dos níveis mais altos voltaram amenizados, o que é um limite do modelo e não uma recusa.
Parâmetros da requisição
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
prompt | Sim | Descreva o sujeito, a ação, a câmera e o som. Coloque as falas entre aspas e o som em uma linha própria. pelo menos 1 caracteres |
aspect_ratio | Não | 16:9 (padrão), 9:16, 4:3, 3:4, 3:2, 2:3 ou 1:1. Não altera o preço. |
resolution | Não | 480p ou 768p (padrão 768p). 768p custa mais por segundo. |
generation_mode | Não | cost (o mais barato, um pouco mais lento), speed (padrão, mais rápido com a mesma qualidade) ou quality (melhor imagem, preço mais alto). |
duration_seconds | Não | Segundos inteiros, de 5 a 15 (padrão 5). Define o preço. |
prompt_optimization_mode | Não | off (padrão) envia o seu prompt palavra por palavra; turbo e max deixam o serviço reescrevê-lo antes. Não altera o preço. |
seed | Não | Mantém as execuções comparáveis enquanto você muda o prompt. Não garante um clipe idêntico quadro a quadro. |
Preços
Cobrado por segundo de saída. O preço por segundo depende da resolução (480p ou 768p) e do modo de geração: cost é o mais barato, speed custa mais, quality o mais caro. A expansão do prompt, a proporção, a seed e o quadro final não mudam o preço. Requisição com falha não é cobrada.
| Resolução | Generation mode: cost | Generation mode: speed | Generation mode: quality |
|---|---|---|---|
| $0.012 / segundo | $0.024 / segundo | $0.048 / segundo |
| $0.03 / segundo | $0.042 / segundo | $0.09 / segundo |
Casos de uso
Rascunhos rápidos
Os clipes voltam em segundos, então você pode testar cinco versões de um plano no tempo que outros modelos levam para uma só. Rascunhe em 480p no modo cost e rode de novo o prompt que você gostou em 768p.
Cenas curtas com uma fala
Descreva a ação e depois coloque a fala entre aspas e o ambiente depois de Sound:. Uma fala clara por clipe funciona melhor.
Vertical para redes sociais
Escolha 9:16 ou 3:4 e enquadre o sujeito no centro do plano; o modelo compõe para o quadro vertical.
Guia de prompt e dicas práticas
Escreva na ordem em que acontece
Sujeito e figurino, ação, movimento de câmera, luz e, em seguida, uma linha Sound: separada.
Desligue a expansão do prompt para manter a escrita exata
prompt_optimization_mode vem como off por padrão, então o prompt vai para o modelo palavra por palavra. turbo e max deixam o serviço reescrever antes, o que pode acrescentar detalhes, mas também pode mudar o que você pediu.
Escolha o modo por último
Encontre o enquadramento no modo cost, depois mude para speed para uma entrega mais rápida ou para quality na renderização final.
Início rápido da API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "pruna-ai/p-video-2-pro/text-to-video",
"input": {
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "768p",
"aspect_ratio": "16:9",
"generation_mode": "speed",
"duration_seconds": 5,
"prompt_optimization_mode": "off"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Consulte a referência da API para autenticação, esquema completo, polling e tratamento de erros.



