Prérequis
Installez et chargez ces compétences avant de générer (ignorez si déjà en contexte via @pruna) :
| Compétence | Description | Installation |
|---|---|---|
generation-diversity | À utiliser lors de la rédaction de tout prompt génératif — rituel de seed, structure explicite, axes de scénario et portes de qualité avant les appels API payants. | npx skills add PrunaAI/pruna-skills@generation-diversity -y |
video-prompting | À utiliser lors de la rédaction de prompts vidéo ou de mouvement pour tout modèle génératif — dramaturgie, caméra, mouvement physiquement cohérent, ancres d'image et enchaînement de clips. | npx skills add PrunaAI/pruna-skills@video-prompting -y |
audio-prompting | À utiliser lors de la rédaction de prompts TTS, musique ou ambiance pour tout modèle audio génératif — style réalisateur, structure de chanson et superposition post-production. | npx skills add PrunaAI/pruna-skills@audio-prompting -y |
pruna-api | À utiliser avant tout appel HTTP Pruna ou Replicate — identifiants, upload/poll/download, lots parallèles et sécurité de l'agent. | npx skills add PrunaAI/pruna-skills@pruna-api -y |
Ou installez la suite complète en une fois : npx skills add PrunaAI/pruna-skills@pruna -y
Suivez les sections Avant de générer / craft de chaque compétence — ne reformulez pas le contenu du guide ici.
Habitude de l'agent
Routage : Utilisez `p-video` pour des clips simples et rapides — brouillons, B-roll léger, mouvement court. Génération cinématographique avec audio généré → `p-video-2-pro`. 1080p, audio importé ou aperçus de brouillon → `p-video-2`.
Dans la première réponse, nommez `p-video` entre backticks, confirmez PRUNA_API_KEY (ou arrêtez avec des liens d'inscription depuis pruna-api), puis demandez les entrées requises. Ouvrez la réception → clarification de la réception generation-diversity avant le premier POST. Lors de la rédaction de prompts de mouvement, suivez Craft du prompt (dynamique + fidèle) — ne collez pas d'exemples de la compétence. Redirigez lorsque Quand ne PAS utiliser correspond mieux.
Craft du prompt (dynamique + fidèle)
Chaque input.prompt doit être frais et spécifique, et doit correspondre au rythme de l'utilisateur. La diversité ne remplace jamais le brief.
| À faire | À ne pas faire |
|---|---|
Exécutez le rituel de seed aléatoire de generation-diversity ; indiquez-le ; faites pivoter ≥2 axes libres (mouvement de caméra, changement d'éclairage, texture, rythme) lorsque le brief le permet | Copiez des exemples curl de cette compétence (rain-slick street, dog tosses plush, …) ou réutilisez un prompt d'une session précédente |
Verrouillez d'abord les faits requis par l'utilisateur (sujet, action rythmique, OUVERT/MILIEU/FERMETURE lorsqu'ancré à une image, synchronisation avec la narration lorsque audio est défini) | Échangez le sujet ou le mouvement pour un clip "plus cool" qui ignore la demande |
Structurez avec la dramaturgie de video-prompting — une action figée par rythme, mouvement physiquement cohérent, grammaire de caméra | Chaînes vagues basées sur l'ambiance uniquement (cinematic vibe, neon energy) |
Lorsque audio est défini, le mouvement et le rythme doivent correspondre au rythme de la narration | Dériver vers une action non liée pendant que la VO joue |
Montrez le prompt drafté + les champs de mode avant POST lorsque l'utilisateur n'a pas verrouillé le wording | Régénération silencieuse avec un sujet ou un rythme différent de celui approuvé |
Vérification de fidélité (avant paiement) : si vous supprimez le sujet/action/cadre nommé par l'utilisateur du prompt, le travail est erroné — réécrivez. Les axes libres ne remplissent que ce que le brief a laissé ouvert.
Lors de l'affichage d'un prompt drafté, nommez encore `p-video` (les guides aident à la rédaction ; cet outil possède l'appel).
Périmètre de la compétence
Cette compétence = une prédiction p-video par invocation.
Hors de portée (n'exécutez pas depuis cette compétence) :
- Assemblage multi-scène, concaténation, orchestration de sous-agents ou lots de scènes parallèles
- Transfert de mouvement à partir d'une vidéo modèle →
p-video-animate - Hôte uniquement tête parlante / lip-sync sans audio de scène natif →
p-video-avatar - Génération cinématographique avec audio généré →
p-video-2-pro - 1080p, audio importé ou aperçus de brouillon →
p-video-2
Si la demande dépasse un clip, arrêtez et recommandez : image-to-video (un rythme narré), visual-transition-reel (visuel multi-scène) ou narrated-multi-scene (multi-scène + VO).
Quand ne PAS utiliser
Utilisez plutôt une autre compétence :
| Compétence | Description | Installation |
|---|---|---|
p-video-2-pro | À utiliser lorsque quelqu'un souhaite un clip cinématographique à partir de texte ou d'images de début/fin — publicités de produits, plans documentaires ou dialogues avec audio généré. Pas pour le 1080p, les pistes audio importées ou les hôtes uniquement tête parlante. | npx skills add PrunaAI/pruna-skills@p-video-2-pro -y |
p-video-2 | À utiliser lorsque quelqu'un souhaite un clip court et soigné à partir de texte, d'images ou d'audio importé — B-roll 1080p, animation d'image de début/fin ou un plan de mouvement avec une piste mixée. Pas pour les clips audio générés cinématographiques ou les hôtes uniquement tête parlante. | npx skills add PrunaAI/pruna-skills@p-video-2 -y |
p-video-avatar | À utiliser lorsque quelqu'un souhaite une personne à l'écran parlant un script — hôte lip-syncé, porte-parole ou avatar narré à partir d'une photo de portrait. | npx skills add PrunaAI/pruna-skills@p-video-avatar -y |
p-video-animate | À utiliser lorsque quelqu'un souhaite qu'une photo bouge comme une autre vidéo — transfert de mouvement, remixes de danse ou variations de performance à partir d'un clip modèle. | npx skills add PrunaAI/pruna-skills@p-video-animate -y |
p-video-replace | À utiliser lorsque quelqu'un souhaite remplacer une personne, une tenue ou un produit dans une séquence existante tout en conservant le mouvement de la caméra et l'audio. | npx skills add PrunaAI/pruna-skills@p-video-replace -y |
p-video-edit | À utiliser lorsque quelqu'un souhaite éditer une vidéo existante avec une instruction textuelle — recolorier, restyler, supprimer ou ajouter des objets, changer l'environnement ou l'éclairage, mettre à jour le texte à l'écran, ou appliquer des modifications optionnelles de produit et d'accessoire guidées par référence. Pas pour un nouveau clip à partir de zéro ou un assemblage ffmpeg. | npx skills add PrunaAI/pruna-skills@p-video-edit -y |
video-editing | À utiliser lors de l'assemblage ou du polissage de clips déjà rendus avec ffmpeg — concaténation, fondus enchaînés, sous-titres incrustés, superpositions de texte/logo, curseurs avant/après, fonds musicaux, export pour plateforme — ou lors de la composition d'une vidéo combinée HTML multicouche avec Hyperframes. Pas pour la génération vidéo IA, le craft de prompts ou les éditions vidéo basées sur modèle. | npx skills add PrunaAI/pruna-skills@video-editing -y |
HTTP (curl)
Upload pour image-to-video / ancres d'image
curl -X POST "https://api.pruna.ai/v1/files" \
-H "apikey: ${PRUNA_API_KEY}" \
-F "content=@/path/to/first-frame.png"
Passez urls.get comme input.image (première image) et/ou input.last_frame_image (dernière image). Upload TTS/musique de la même manière pour input.audio.
Créer (async text-to-video — recommandé)
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": "Slow dolly in on rain-slick street at night, neon reflections, distant traffic hiss",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}
}'
Poller et télécharger : suivez pruna-api.
Effectuez le rituel de seed aléatoire de generation-diversity avant d'écrire les prompts — ne passez pas la chaîne du rituel comme seed de l'API.
Première / dernière image (transition visuelle)
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: hold wide on wet alley, neon flicker. MID: slow dolly in, rain ticks on pavement. CLOSE: settle on end pose.",
"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
}
}'
Triplet d'ancrage de scène (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": "Dog tosses plush upward, tail wagging, motion matches narrator, warm light",
"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
}
}'
Omettez duration lorsque audio est défini. Longueur du clip = min(longueur audio, 20s) — gardez TTS ≤ ~19s (ffprobe avant le rendu).
Avant de générer
- Complétez l'ordre de lecture des Prérequis (
generation-diversity→video-prompting). - Seed rituel → rédigez un prompt de mouvement dynamique + fidèle (section ci-dessus) → confirmez le mode (T2V / I2V / paire d'images / audio), la
duration(sauf si pilotée par audio), laresolution, lefps, ledraftet lepromptavec l'utilisateur. - Notes Pruna : lorsque
imageest défini,aspect_ratioest ignoré. Avecaudio, omettezdurationet définissezsave_audio: truepour conserver la narration. Préférez la VO uploadée au post-mux. Si la demande est multi-scène — arrêtez (voir Périmètre de la compétence).
Entrée requise
prompt(string)
Champs optionnels courants
| Champ | Rôle |
|---|---|
image | Première image — ancre I2V ; lorsqu'il est défini, aspect_ratio est ignoré |
last_frame_image | Image fixe optionnelle de fin d'état |
audio | Audio conditionné ; la durée suit l'audio (limitée à 20s) ; flac/mp3/wav |
duration | 1–20s (ignoré si audio est défini) |
resolution | 720p (par défaut) ou 1080p |
fps | 24 (par défaut) ou 48 |
aspect_ratio | Lorsqu'il n'y a pas d'image : 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 1:1 |
draft | true ≈ aperçu 4× plus rapide/moins cher ; false = final |
save_audio | Conserver l'audio généré par le modèle ou uploadé en sortie |
seed, prompt_upsampling, disable_safety_filter | Reproductibilité / politique client |
Liés
Compétences liées :
| Compétence | Description | Installation |
|---|---|---|
p-video-2-pro | À utiliser lorsque quelqu'un souhaite un clip cinématographique à partir de texte ou d'images de début/fin — publicités de produits, plans documentaires ou dialogues avec audio généré. Pas pour le 1080p, les pistes audio importées ou les hôtes uniquement tête parlante. | npx skills add PrunaAI/pruna-skills@p-video-2-pro -y |
gemini-3.1-flash-tts | À utiliser lorsque quelqu'un a besoin d'une narration parlée ou d'une voix off — pistes explicatives, lignes documentaires ou voix à associer à une vidéo générée. | npx skills add PrunaAI/[email protected] -y |
image-to-video | À utiliser lorsque quelqu'un souhaite un rythme de court métrage à partir d'images — une scène narrée, un moment d'histoire ou un B-roll cinématographique avec voix off optionnelle. | npx skills add PrunaAI/pruna-skills@image-to-video -y |
visual-transition-reel | À utiliser lorsque quelqu'un souhaite un montage avec des transitions entre les plans — bande de séquence d'action ou pièce multi-scène où la narration est optionnelle. | npx skills add PrunaAI/pruna-skills@visual-transition-reel -y |
narrated-multi-scene | À utiliser lorsque quelqu'un souhaite une histoire en plusieurs parties avec voix off — B-roll épisodique, promotion par chapitres ou plusieurs scènes vidéo liées sans dialogue à l'écran. | npx skills add PrunaAI/pruna-skills@narrated-multi-scene -y |
p-video-avatar | À utiliser lorsque quelqu'un souhaite une personne à l'écran parlant un script — hôte lip-syncé, porte-parole ou avatar narré à partir d'une photo de portrait. | npx skills add PrunaAI/pruna-skills@p-video-avatar -y |
p-video-animate | À utiliser lorsque quelqu'un souhaite qu'une photo bouge comme une autre vidéo — transfert de mouvement, remixes de danse ou variations de performance à partir d'un clip modèle. | npx skills add PrunaAI/pruna-skills@p-video-animate -y |
video-editing | À utiliser lors de l'assemblage ou du polissage de clips déjà rendus avec ffmpeg — concaténation, fondus enchaînés, sous-titres incrustés, superpositions de texte/logo, curseurs avant/après, fonds musicaux, export pour plateforme — ou lors de la composition d'une vidéo combinée HTML multicouche avec Hyperframes. Pas pour la génération vidéo IA, le craft de prompts ou les éditions vidéo basées sur modèle. | npx skills add PrunaAI/pruna-skills@video-editing -y |