Pré-requisitos
Instale e carregue estas skills antes de gerar (pule se já estiverem no contexto via @pruna):
| Skill | Descrição | Instalação |
|---|---|---|
generation-diversity | Use ao escrever qualquer prompt generativo — seed ritual, estrutura explícita, eixos de cenário e portões de qualidade antes de chamadas pagas de API. | npx skills add PrunaAI/pruna-skills@generation-diversity -y |
video-prompting | Use ao criar prompts de vídeo ou movimento para qualquer modelo generativo — dramaturgia, câmera, movimento seguro fisicamente, âncoras de quadro e encadeamento de clipes. | npx skills add PrunaAI/pruna-skills@video-prompting -y |
audio-prompting | Use ao criar prompts de TTS, música ou base para qualquer modelo de áudio generativo — estilo de diretor, estrutura de música e camadas de pós-produção. | npx skills add PrunaAI/pruna-skills@audio-prompting -y |
pruna-api | Use antes de qualquer chamada HTTP Pruna ou Replicate — credenciais, upload/poll/download, lotes paralelos e segurança do agente. | npx skills add PrunaAI/pruna-skills@pruna-api -y |
Ou instale o pacote completo uma vez: npx skills add PrunaAI/pruna-skills@pruna -y
Siga as seções Antes de gerar / craft de cada skill — não repita o conteúdo do guia aqui.
Hábito do agente
Roteamento: `p-video-2` é o gerador de clipes 1080p / áudio importado / rascunho (texto / imagem / áudio). Use `p-video-2-pro` para geração cinematográfica com áudio gerado (480p / 768p, primeiro/último quadro, sem upload de áudio). Use `p-video` para clipes mais simples e rápidos. Apenas cabeça falante (sem áudio de cena nativo) → `p-video-avatar`. Edição por instrução de filmagens existentes → `p-video-edit`.
Na primeira resposta, nomeie `p-video-2` entre crases, confirme PRUNA_API_KEY (ou pare com links de cadastro de pruna-api), depois peça as entradas necessárias. Intake aberto → intake de esclarecimento generation-diversity antes do primeiro POST. Ao redigir prompts de movimento, siga Craft de prompt (dinâmico + fiel) e video-prompting (p-video-2-prompting) — não cole exemplos da skill. Redirecione quando Quando NÃO usar se encaixar melhor.
Craft de prompt (dinâmico + fiel)
Todo input.prompt deve ser novo e específico, e deve corresponder à batida do usuário. A diversidade nunca substitui o briefing. Deltas de craft vs p-video: video-prompting (p-video-2-prompting).
| Faça | Não faça |
|---|---|
Execute o ritual de seed aleatória de generation-diversity; declare-o; gire ≥2 eixos livres (movimento de câmera, mudança de iluminação, textura, ritmo) quando o briefing permitir | Copie exemplos curl desta skill (carro esportivo, pessoa vira, …) ou reutilize um prompt de sessão anterior |
Trave primeiro os fatos exigidos pelo usuário (sujeito, batida de ação, OPEN/MID/CLOSE quando ancorado em quadro, sincronia de narração quando audio estiver definido) | Troque o sujeito ou movimento por um clipe “mais legal” que ignore a solicitação |
Estruture com dramaturgia de video-prompting — uma ação congelada por batida, câmera estável para I2V, movimento seguro fisicamente | Strings vagas de clima (vibe cinematográfica, energia neon) ou movimentos extremos de câmera cinematográfica |
Quando audio estiver definido, o movimento e o ritmo devem corresponder à batida da narração / performance; mantenha os falantes em um ou dois | Deriva para ação não relacionada enquanto a VO toca, ou aglomere um clipe com 3+ rostos falantes |
Mostre o prompt redigido + campos de modo antes do POST quando o usuário não tiver travado a redação | Regeneração silenciosa com sujeito ou batida diferente do aprovado |
Verificação de fidelidade (antes de pagar): se você remover o sujeito/ação/cenário nomeado pelo usuário do prompt, o trabalho está errado — reescreva. Eixos livres preenchem apenas o que o briefing deixou em aberto.
Ao mostrar um prompt redigido, ainda nomeie `p-video-2` (os guias ajudam no craft; esta ferramenta possui a chamada).
Limite da skill
Esta skill = uma predição p-video-2 por invocação.
Fora do escopo (não execute a partir desta skill):
- Montagem de múltiplas cenas, concatenação, orquestração de subagentes ou lotes paralelos de cenas
- Geração cinematográfica com áudio gerado (sem trilha importada) →
p-video-2-pro - Transferência de movimento de um vídeo modelo →
p-video-animate - Apenas cabeça falante / host com lip-sync sem áudio de cena nativo →
p-video-avatar - Edição por instrução de filmagens existentes →
p-video-edit
Se a solicitação exceder um clipe, pare e recomende: image-to-video (uma batida narrada), visual-transition-reel (visual com múltiplas cenas) ou narrated-multi-scene (múltiplas cenas + VO).
Quando NÃO usar
Use uma skill diferente:
| Skill | Descrição | Instalação |
|---|---|---|
p-video-2-pro | Use quando alguém quiser um clipe cinematográfico a partir de texto ou quadros inicial/final — anúncios de produto, takes documentais ou diálogo com áudio gerado. Não para 1080p, trilhas de áudio importadas ou hosts apenas com cabeça falante. | npx skills add PrunaAI/pruna-skills@p-video-2-pro -y |
p-video | Use quando alguém quiser um clipe curto simples a partir de texto ou imagens — B-roll rápido, rascunhos ou animação de quadro inicial/final. Não quando o briefing precisar de geração cinematográfica, máxima qualidade, lip-sync apertado ou áudio importado em 1080p. | npx skills add PrunaAI/pruna-skills@p-video -y |
p-video-avatar | Use quando alguém quiser uma pessoa na câmera falando um roteiro — host com lip-sync, porta-voz ou avatar narrado a partir de uma foto de retrato. | npx skills add PrunaAI/pruna-skills@p-video-avatar -y |
p-video-animate | Use quando alguém quiser que uma foto se mova como outro vídeo — transferência de movimento, remixes de dança ou variações de performance a partir de um clipe modelo. | npx skills add PrunaAI/pruna-skills@p-video-animate -y |
p-video-replace | Use quando alguém quiser trocar uma pessoa, roupa ou produto dentro de filmagens existentes mantendo o movimento da câmera e o áudio. | npx skills add PrunaAI/pruna-skills@p-video-replace -y |
p-video-edit | Use quando alguém quiser editar um vídeo existente com uma instrução de texto — recolorir, reestilizar, remover ou adicionar objetos, mudar ambiente ou iluminação, atualizar texto na tela ou aplicar edições opcionais de produto e acessório guiadas por referência. Não para um novo clipe do zero ou montagem com ffmpeg. | npx skills add PrunaAI/pruna-skills@p-video-edit -y |
video-editing | Use ao montar ou polir clipes já renderizados com ffmpeg — concatenação, crossfades, legendas e subtítulos queimados, sobreposições de texto/logo, sliders de antes/depois, bases de música de fundo, exportação para plataforma — ou ao compor um vídeo de combinação HTML multicamadas com Hyperframes. Não para geração de vídeo por IA, craft de prompt ou edições de vídeo baseadas em modelo. | npx skills add PrunaAI/pruna-skills@video-editing -y |
HTTP (curl)
Upload para image-to-video / âncoras de quadro
curl -X POST "https://api.pruna.ai/v1/files" \
-H "apikey: ${PRUNA_API_KEY}" \
-F "content=@/caminho/para/primeiro-quadro.png"
Passe urls.get como input.image (primeiro quadro) e/ou input.last_frame_image (último quadro). Faça upload de TTS/música da mesma forma para input.audio.
Criar (texto-para-vídeo assíncrono — recomendado)
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H "apikey: ${PRUNA_API_KEY}" \
-H 'Model: p-video-2' \
-d '{
"input": {
"prompt": "Um carro esportivo derrapando em uma cidade iluminada por neon à noite, plano aéreo cinematográfico",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}
}'
Polle e baixe: siga pruna-api.
Complete o ritual de seed aleatória de generation-diversity antes de escrever prompts — não passe a string do ritual como seed da API.
A cobrança é por segundo retornado (não pela duration solicitada). Limite de taxa: 250 requisições por minuto.
| Resolução | draft=false | draft=true |
|---|---|---|
| 720p | $0,025 / s | $0,015 / s |
| 1080p | $0,05 / s | $0,03 / s |
Primeiro / último quadro (transição visual)
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H "apikey: ${PRUNA_API_KEY}" \
-H 'Model: p-video-2' \
-d '{
"input": {
"prompt": "OPEN: segura plano aberto no beco molhado, néon piscando. MID: dolly lento para dentro, chuva tiquetaqueia no pavimento. CLOSE: estabiliza na pose final.",
"image": "https://api.pruna.ai/v1/files/START_ID",
"last_frame_image": "https://api.pruna.ai/v1/files/END_ID",
"duration": 5,
"resolution": "720p",
"fps": 24
}
}'
Tripla âncora de cena (image + last_frame_image + audio)
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H "apikey: ${PRUNA_API_KEY}" \
-H 'Model: p-video-2' \
-d '{
"input": {
"prompt": "Close-up de um cantor executando a faixa enviada. Lip-sync natural, rosto expressivo, iluminação de palco, câmera se mantém firme no performer.",
"image": "https://api.pruna.ai/v1/files/SCENE_START",
"last_frame_image": "https://api.pruna.ai/v1/files/SCENE_END",
"audio": "https://api.pruna.ai/v1/files/SCENE_NARRATION",
"resolution": "720p",
"fps": 24,
"save_audio": true
}
}'
Omita duration quando audio estiver definido. Duração do clipe = mínimo (duração do áudio, 20s) — mantenha TTS com ≤ ~19s (ffprobe antes de renderizar). Jobs condicionados a áudio cobram a duração do áudio.
Criar (síncrono — teste rápido apenas)
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H "apikey: ${PRUNA_API_KEY}" \
-H 'Model: p-video-2' \
-H 'Try-Sync: true' \
-d '{
"input": {
"prompt": "Um carro esportivo derrapando em uma cidade iluminada por neon à noite, plano aéreo cinematográfico",
"duration": 5,
"resolution": "720p",
"draft": true
}
}'
Antes de gerar
- Complete a ordem de leitura do guia de Pré-requisitos (
generation-diversity→video-prompting). - Seed ritual → redija um prompt de movimento dinâmico + fiel (seção acima) → confirme modo (T2V / I2V / par de quadros / áudio),
duration(omita para deixar o modelo escolher a partir do prompt, ou quando orientado por áudio),resolution,fps,draftepromptcom o usuário. - Notas Pruna: quando
imageestiver definido,aspect_ratioé ignorado. Comaudio, omitaduratione mantenhasave_audio: true(padrão) para preservar a narração. Para fala na câmera, lidere com fala nativa T2V (save_audio: true, semaudioimportado) — pausa / fala / descanso de lip-sync é o salto de qualidade vsp-video.audioimportado mantém um rosto mais limpo; o travamento de visemas é misto — não trate um wav multiplexado como demonstração de lip-sync. Itere emdraft: true, depois finalize comdraft: false. Se a solicitação for de múltiplas cenas — pare (veja Limite da skill). 4K nativo não é suportado.
Entrada necessária
prompt(string)
Campos opcionais comuns
| Campo | Função |
|---|---|
image | Primeiro quadro — âncora I2V; quando definido, aspect_ratio é ignorado (jpg, jpeg, png, webp) |
last_frame_image | Still opcional de estado final |
audio | Condicionado a áudio; duração segue o áudio (limitado a 20s); flac/mp3/wav |
duration | 1–20s; deixe vazio para deixar o modelo escolher o comprimento a partir do prompt; ignorado se audio estiver definido |
resolution | 720p (padrão) ou 1080p |
fps | 24 (padrão) ou 48 |
aspect_ratio | Quando não há image: 16:9 (padrão), 9:16, 4:3, 3:4, 3:2, 2:3, 1:1 |
draft | true = preview mais barato e rápido ($0,015/s 720p, $0,03/s 1080p); false (padrão) = final |
save_audio | Manter áudio gerado pelo modelo ou enviado na saída (padrão true) |
prompt_upsampling | Aprimorar o prompt (padrão true) |
seed, disable_safety_filter | Reprodutibilidade / política do cliente |
Relacionados
Skills relacionadas:
| Skill | Descrição | Instalação |
|---|---|---|
p-video-2-pro | Use quando alguém quiser um clipe cinematográfico a partir de texto ou quadros inicial/final — anúncios de produto, takes documentais ou diálogo com áudio gerado. Não para 1080p, trilhas de áudio importadas ou hosts apenas com cabeça falante. | npx skills add PrunaAI/pruna-skills@p-video-2-pro -y |
p-video | Use quando alguém quiser um clipe curto simples a partir de texto ou imagens — B-roll rápido, rascunhos ou animação de quadro inicial/final. Não quando o briefing precisar de geração cinematográfica, máxima qualidade, lip-sync apertado ou áudio importado em 1080p. | npx skills add PrunaAI/pruna-skills@p-video -y |
gemini-3.1-flash-tts | Use quando alguém precisar de narração falada ou voz over — faixas explicativas, linhas documentais ou voz para combinar com vídeo gerado. | npx skills add PrunaAI/[email protected] -y |
image-to-video | Use quando alguém quiser uma batida curta de filme a partir de imagens — uma cena narrada, momento de história ou B-roll cinematográfico com voz over opcional. | npx skills add PrunaAI/pruna-skills@image-to-video -y |
visual-transition-reel | Use quando alguém quiser uma montagem com transições entre takes — reel de sequência de ação ou peça com múltiplas cenas onde a narração é opcional. | npx skills add PrunaAI/pruna-skills@visual-transition-reel -y |
narrated-multi-scene | Use quando alguém quiser uma história em múltiplas partes com voz over — B-roll episódico, promo com capítulos ou várias cenas de vídeo vinculadas sem diálogo na câmera. | npx skills add PrunaAI/pruna-skills@narrated-multi-scene -y |
p-video-avatar | Use quando alguém quiser uma pessoa na câmera falando um roteiro — host com lip-sync, porta-voz ou avatar narrado a partir de uma foto de retrato. | npx skills add PrunaAI/pruna-skills@p-video-avatar -y |
p-video-animate | Use quando alguém quiser que uma foto se mova como outro vídeo — transferência de movimento, remixes de dança ou variações de performance a partir de um clipe modelo. | npx skills add PrunaAI/pruna-skills@p-video-animate -y |
video-editing | Use ao montar ou polir clipes já renderizados com ffmpeg — concatenação, crossfades, legendas e subtítulos queimados, sobreposições de texto/logo, sliders de antes/depois, bases de música de fundo, exportação para plataforma — ou ao compor um vídeo de combinação HTML multicamadas com Hyperframes. Não para geração de vídeo por IA, craft de prompt ou edições de vídeo baseadas em modelo. | npx skills add PrunaAI/pruna-skills@video-editing -y |