Pré-requisitos
Instale e carregue estas skills antes de gerar (pule se já estiverem em contexto via @pruna):
| Skill | Descrição | Instalação |
|---|---|---|
generation-diversity | Use ao escrever qualquer prompt generativo — semente ritual, estrutura explícita, eixos de cenário e portões de qualidade antes de chamadas de API pagas. | 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 para a física, â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 generativo de áudio — estilo do 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 para 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: Use `p-video` para clipes simples e rápidos — rascunhos, B-roll leve, movimento curto. Geração cinematográfica com áudio gerado → `p-video-2-pro`. 1080p, áudio importado ou pré-visualizações de rascunho → `p-video-2`.
Na primeira resposta, nomeie `p-video` entre crases, confirme PRUNA_API_KEY (ou pare com links de cadastro de pruna-api) e então peça as entradas necessárias. Abra a coleta → triagem de esclarecimento generation-diversity antes do primeiro POST. Ao redigir prompts de movimento, siga Criação de prompt (dinâmico + fiel) — não cole exemplos da skill. Redirecione quando QUANDO NÃO usar for mais adequado.
Criação de prompt (dinâmico + fiel)
Todo input.prompt deve ser novo e específico e deve corresponder ao ritmo do usuário. A diversidade nunca substitui o briefing.
| Faça | Não faça |
|---|---|
Execute o ritual de semente aleatória da 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 (rua encharcada de chuva, cachorro joga brinquedo, …) ou reutilize um prompt de sessão anterior |
Primeiro, fixe os fatos exigidos pelo usuário (sujeito, 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, movimento seguro para a física, gramática de câmera | Apenas strings vagas de clima (vibe cinematográfica, energia neon) |
Quando audio estiver definido, o movimento e o ritmo devem corresponder à batida da narração | Desviar para ação não relacionada enquanto o VO toca |
Mostre o prompt redigido + campos de modo antes do POST quando o usuário não tiver fixado a redação | Regenerar silenciosamente com um 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 apenas preenchem o que o briefing deixou em aberto.
Ao mostrar um prompt redigido, ainda nomeie `p-video` (os guias ajudam na criação; esta ferramenta é dona da chamada).
Limite da skill
Esta skill = uma previsão p-video por invocação.
Fora do escopo (não executar a partir desta skill):
- Montagem de várias cenas, concatenação, orquestração de subagentes ou lotes paralelos de cenas
- Transferência de movimento de um vídeo modelo →
p-video-animate - Apenas talking-head / host com sincronia labial sem áudio de cena nativo →
p-video-avatar - Geração cinematográfica com áudio gerado →
p-video-2-pro - 1080p, áudio importado ou pré-visualizações de rascunho →
p-video-2
Se a solicitação exceder um clipe, pare e recomende: image-to-video (uma batida narrada), visual-transition-reel (visual multi-cena) ou narrated-multi-scene (multi-cena + 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 produtos, takes documentais ou diálogo com áudio gerado. Não use para 1080p, faixas de áudio importadas ou hosts apenas talking-head. | npx skills add PrunaAI/pruna-skills@p-video-2-pro -y |
p-video-2 | Use quando alguém quiser um clipe curto polido a partir de texto, imagens ou áudio importado — B-roll 1080p, animação de quadro inicial/final ou um take com movimento e faixa mista. Não use para clipes cinematográficos com áudio gerado ou hosts apenas talking-head. | npx skills add PrunaAI/pruna-skills@p-video-2 -y |
p-video-avatar | Use quando alguém quiser uma pessoa na câmera falando um roteiro — host com sincronia labial, 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 uma filmagem existente 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, remover ou adicionar objetos, mudar ambiente ou iluminação, atualizar texto na tela ou aplicar edições opcionais de produto e acessórios guiadas por referência. Não use 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 — concat, crossfades, legendas e subtítulos incorporados, sobreposições de texto/logo, controles deslizantes 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 use para geração de vídeo por IA, criação de prompts ou edições de vídeo baseadas em modelo. | npx skills add PrunaAI/pruna-skills@video-editing -y |
HTTP (curl)
Upload para imagem-para-vídeo / â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 (assíncrono texto-para-vídeo — recomendado)
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H "apikey: ${PRUNA_API_KEY}" \
-H 'Model: p-video' \
-d '{
"input": {
"prompt": "Dolly lento em rua encharcada de chuva à noite, reflexos de neon, sibilo de trânsito ao fundo",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}
}'
Poll e download: siga pruna-api.
Complete o ritual de semente aleatória da generation-diversity antes de escrever prompts — não passe a string do ritual como seed da API.
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' \
-d '{
"input": {
"prompt": "OPEN: plano aberto em beco molhado, cintilação de neon. MID: dolly lento, chuva batendo no asfalto. CLOSE: estabilizar 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' \
-d '{
"input": {
"prompt": "Cachorro joga brinquedo para o alto, balançando o rabo, movimento combina com narrador, luz quente",
"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 = min(duração do áudio, 20s) — mantenha TTS ≤ ~19s (ffprobe antes de renderizar).
Antes de gerar
- Complete a ordem de leitura dos Pré-requisitos (
generation-diversity→video-prompting). - Semente ritual → redija um prompt de movimento dinâmico + fiel (seção acima) → confirme modo (T2V / I2V / par de quadros / áudio),
duration(a menos que seja orientado por áudio),resolution,fps,draftepromptcom o usuário. - Notas Pruna: quando
imageestiver definido,aspect_ratioé ignorado. Comaudio, omitaduratione definasave_audio: truepara manter a narração. Prefira VO enviado em vez de pós-mux. Se a solicitação for multi-cena — pare (veja Limite da skill).
Entrada obrigatória
prompt(string)
Campos opcionais comuns
| Campo | Função |
|---|---|
image | Primeiro quadro — âncora I2V; quando definido, aspect_ratio é ignorado |
last_frame_image | Still opcional do estado final |
audio | Condicionado por áudio; duração segue o áudio (limitada a 20s); flac/mp3/wav |
duration | 1–20s (ignorado se audio estiver definido) |
resolution | 720p (padrão) ou 1080p |
fps | 24 (padrão) ou 48 |
aspect_ratio | Quando não houver image: 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 1:1 |
draft | true ≈ pré-visualização 4× mais rápida/barata; false = final |
save_audio | Manter áudio gerado pelo modelo ou enviado na saída |
seed, prompt_upsampling, 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 produtos, takes documentais ou diálogo com áudio gerado. Não use para 1080p, faixas de áudio importadas ou hosts apenas talking-head. | npx skills add PrunaAI/pruna-skills@p-video-2-pro -y |
gemini-3.1-flash-tts | Use quando alguém precisar de narração falada ou locução — 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 de filme curta a partir de imagens — uma cena narrada, momento de história ou B-roll cinematográfico com locução 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 — um reel de sequência de ação ou peça multi-cena 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 várias partes com locução — B-roll episódico, promoção em capítulos ou várias cenas de vídeo vinculadas sem diálogo em 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 sincronia labial, 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 — concat, crossfades, legendas e subtítulos incorporados, sobreposições de texto/logo, controles deslizantes 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 use para geração de vídeo por IA, criação de prompts ou edições de vídeo baseadas em modelo. | npx skills add PrunaAI/pruna-skills@video-editing -y |