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 | Utilisez-la lors de la rédaction d'un prompt génératif — rituel de seed, structure explicite, axes de scénario et contrôles qualité avant les appels API payants. | npx skills add PrunaAI/pruna-skills@generation-diversity -y |
video-prompting | Utilisez-la lors de la création de prompts vidéo ou animés pour tout modèle génératif — dramaturgie, caméra, mouvement physiquement plausible, ancres d'image et enchaînement de clips. | npx skills add PrunaAI/pruna-skills@video-prompting -y |
audio-prompting | Utilisez-la lors de la création de prompts TTS, musicaux ou d'ambiance pour tout modèle audio génératif — style de réalisateur, structure de chanson et superposition post-production. | npx skills add PrunaAI/pruna-skills@audio-prompting -y |
pruna-api | Utilisez-la avant tout appel HTTP à Pruna ou Replicate — identifiants, téléversement/interrogation/téléchargement, 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 seule fois : npx skills add PrunaAI/pruna-skills@pruna -y
Suivez les sections Avant de générer / conception de chaque compétence — ne répétez pas le contenu du guide ici.
Habitude de l'agent
Aiguillage : `p-video-2` est le générateur de clips 1080p / audio importé / brouillon (texte / image / audio). Utilisez `p-video-2-pro` pour la génération cinématographique avec audio généré (480p / 768p, première/dernière image, pas de téléversement audio). Utilisez `p-video` pour des clips plus simples et rapides. Présentateur en plan fixe uniquement (pas de son de scène natif) → `p-video-avatar`. Modification par instruction d'une séquence existante → `p-video-edit`.
Dans la première réponse, nommez `p-video-2` entre backticks, confirmez PRUNA_API_KEY (ou arrêtez avec des liens d'inscription de pruna-api), puis demandez les entrées requises. Ouvrez l'admission → clarification de l'admission via generation-diversity avant le premier POST. Lors de la rédaction de prompts animés, suivez Conception de prompt (dynamique + fidèle) et video-prompting (p-video-2-prompting) — ne collez pas d'exemples de la compétence. Redirigez quand Quand NE PAS utiliser est plus approprié.
Conception de 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. Concevez les différences par rapport à p-video : video-prompting (p-video-2-prompting).
| À 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) quand le brief le permet | Copier des exemples curl de cette compétence (voiture de sport, personne se tourne, …) ou réutiliser un prompt de session précédente |
Verrouillez d'abord les faits requis par l'utilisateur (sujet, action clé, OUVERT/MILIEU/FERMÉ quand les images sont ancrées, synchronisation de narration quand audio est défini) | Échanger 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 temps, caméra stable pour I2V, mouvement physiquement plausible | Chaînes vagues d'ambiance uniquement (ambiance cinématographique, énergie néon) ou mouvements de caméra cinématographiques extrêmes |
Quand audio est défini, le mouvement et le rythme doivent correspondre au temps de la narration / performance ; gardez un ou deux intervenants | Dériver vers une action non pertinente pendant que la VO joue, ou surcharger un clip avec 3+ visages parlants |
Montrez le prompt rédigé + les champs de mode avant POST quand l'utilisateur n'a pas verrouillé le libellé | Régénérer en silence avec un sujet ou un rythme différent de celui approuvé |
Vérification de fidélité (avant paiement) : si vous supprimez le sujet/l'action/le 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.
En affichant un prompt rédigé, nommez toujours `p-video-2` (les guides aident à la conception ; cet outil est propriétaire de l'appel).
Périmètre de la compétence
Cette compétence = une prédiction p-video-2 par invocation.
Hors périmètre (ne pas exécuter depuis cette compétence) :
- Assemblage multi-scène, concaténation, orchestration de sous-agents ou lots de scènes parallèles
- Génération cinématographique avec audio généré (pas de piste importée) →
p-video-2-pro - Transfert de mouvement depuis une vidéo modèle →
p-video-animate - Présentateur en plan fixe uniquement / hôte lip-sync sans son de scène natif →
p-video-avatar - Modification par instruction d'une séquence existante →
p-video-edit
Si la demande dépasse un clip, arrêtez et recommandez : image-to-video (un temps narré), visual-transition-reel (visuel multi-scène), ou narrated-multi-scene (multi-scène + VO).
Quand NE PAS utiliser
Utilisez une autre compétence à la place :
| Compétence | Description | Installation |
|---|---|---|
p-video-2-pro | Utilisez-la quand quelqu'un veut un clip cinématographique à partir de texte ou d'images de début/fin — publicités produit, plans documentaires ou dialogues avec audio généré. Pas pour le 1080p, les pistes audio importées ou les présentateurs en plan fixe uniquement. | npx skills add PrunaAI/pruna-skills@p-video-2-pro -y |
p-video | Utilisez-la quand quelqu'un veut un clip court simple à partir de texte ou d'images — B-roll rapide, brouillons ou animation d'image de début/fin. Pas quand le brief nécessite une génération cinématographique, la meilleure qualité, un lip-sync serré ou un audio importé en 1080p. | npx skills add PrunaAI/pruna-skills@p-video -y |
p-video-avatar | Utilisez-la quand quelqu'un veut une personne filmée lisant un script — hôte lip-sync, porte-parole ou avatar narré à partir d'une photo portrait. | npx skills add PrunaAI/pruna-skills@p-video-avatar -y |
p-video-animate | Utilisez-la quand quelqu'un veut 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 | Utilisez-la quand quelqu'un veut remplacer une personne, une tenue ou un produit dans une séquence existante tout en conservant le mouvement de caméra et l'audio. | npx skills add PrunaAI/pruna-skills@p-video-replace -y |
p-video-edit | Utilisez-la quand quelqu'un veut modifier 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 de produit et d'accessoire guidées par référence en option. Pas pour un nouveau clip depuis zéro ou un assemblage ffmpeg. | npx skills add PrunaAI/pruna-skills@p-video-edit -y |
video-editing | Utilisez-la pour assembler ou peaufiner des clips déjà rendus avec ffmpeg — concaténation, fondus enchaînés, légendes et sous-titres incrustés, superpositions de texte/logo, curseurs avant/après, fonds musicaux, exportation pour plateforme — ou pour composer une vidéo combinée HTML multicouche avec Hyperframes. Pas pour la génération vidéo IA, la conception de prompts ou les montages basés sur modèle. | npx skills add PrunaAI/pruna-skills@video-editing -y |
HTTP (curl)
Téléversement pour image-to-video / ancres d'image
curl -X POST "https://api.pruna.ai/v1/files" \
-H "apikey: ${PRUNA_API_KEY}" \
-F "content=@/chemin/vers/premiere-image.png"
Passez urls.get comme input.image (première image) et/ou input.last_frame_image (dernière image). Téléversez TTS/musique de la même manière pour input.audio.
Créer (texte-vers-vidéo asynchrone — recommandé)
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": "Une voiture de sport dérivant dans une ville éclairée au néon la nuit, plan aérien cinématographique",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}
}'
Interrogez et téléchargez : 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.
La facturation est par seconde retournée (pas la duration demandée). Limite de débit : 250 requêtes par minute.
| Résolution | draft=false | draft=true |
|---|---|---|
| 720p | 0,025 $ / s | 0,015 $ / s |
| 1080p | 0,05 $ / s | 0,03 $ / s |
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-2' \
-d '{
"input": {
"prompt": "OUVERT : plan large sur une ruelle humide, scintillement néon. MILIEU : travelling lent, la pluie crépite sur le pavé. FERMÉ : se fixer sur la pose finale.",
"image": "https://api.pruna.ai/v1/files/ID_DEBUT",
"last_frame_image": "https://api.pruna.ai/v1/files/ID_FIN",
"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-2' \
-d '{
"input": {
"prompt": "Gros plan d'un chanteur interprétant la piste téléversée. Lip-sync naturel, visage expressif, éclairage de scène, la caméra reste stable sur l'interprète.",
"image": "https://api.pruna.ai/v1/files/DEBUT_SCENE",
"last_frame_image": "https://api.pruna.ai/v1/files/FIN_SCENE",
"audio": "https://api.pruna.ai/v1/files/NARRATION_SCENE",
"resolution": "720p",
"fps": 24,
"save_audio": true
}
}'
Omettez duration quand audio est défini. Longueur du clip = min(longueur audio, 20s) — gardez le TTS ≤ ~19s (ffprobe avant rendu). Les travaux conditionnés par l'audio sont facturés à la longueur audio.
Créer (synchrone — test rapide uniquement)
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": "Une voiture de sport dérivant dans une ville éclairée au néon la nuit, plan aérien cinématographique",
"duration": 5,
"resolution": "720p",
"draft": true
}
}'
Avant de générer
- Effectuez l'ordre de lecture des Prérequis (
generation-diversity→video-prompting). - Seed rituel → rédigez un prompt animé dynamique + fidèle (section ci-dessus) → confirmez le mode (T2V / I2V / paire d'images / audio), la
duration(omettez pour laisser le modèle choisir à partir du prompt, ou quand l'audio pilote), laresolution, lefps, ledraft, et lepromptavec l'utilisateur. - Notes Pruna : quand
imageest défini,aspect_ratioest ignoré. Avecaudio, omettezdurationet gardezsave_audio: true(valeur par défaut) pour conserver la narration. Pour la parole face caméra, privilégiez la parole native T2V (save_audio: true, pas d'audioimporté) — pause / ligne / repos lip-sync est le saut qualitatif par rapport àp-video. L'audioimporté conserve un visage plus propre ; le verrouillage visème est mitigé — ne traitez pas un wav mixé comme la démo lip-sync. Itérez endraft: true, puis finalisez avecdraft: false. Si la demande est multi-scène — arrêtez (voir Périmètre de la compétence). Le 4K natif n'est pas pris en charge.
Entrée requise
prompt(chaîne)
Champs optionnels courants
| Champ | Rôle |
|---|---|
image | Première image — ancre I2V ; quand défini, aspect_ratio est ignoré (jpg, jpeg, png, webp) |
last_frame_image | Image fixe optionnelle de fin d'état |
audio | Conditionné par l'audio ; durée suit l'audio (limitée à 20s) ; flac/mp3/wav |
duration | 1–20s ; laissez vide pour laisser le modèle choisir la longueur à partir du prompt ; ignoré si audio défini |
resolution | 720p (par défaut) ou 1080p |
fps | 24 (par défaut) ou 48 |
aspect_ratio | Quand pas d'image : 16:9 (par défaut), 9:16, 4:3, 3:4, 3:2, 2:3, 1:1 |
draft | true = aperçu moins cher, plus rapide (0,015 $/s 720p, 0,03 $/s 1080p) ; false (par défaut) = final |
save_audio | Conserver l'audio généré par le modèle ou téléversé en sortie (par défaut true) |
prompt_upsampling | Améliorer le prompt (par défaut true) |
seed, disable_safety_filter | Reproductibilité / politique du client |
Associé
Compétences associées :
| Compétence | Description | Installation |
|---|---|---|
p-video-2-pro | Utilisez-la quand quelqu'un veut un clip cinématographique à partir de texte ou d'images de début/fin — publicités produit, plans documentaires ou dialogues avec audio généré. Pas pour le 1080p, les pistes audio importées ou les présentateurs en plan fixe uniquement. | npx skills add PrunaAI/pruna-skills@p-video-2-pro -y |
p-video | Utilisez-la quand quelqu'un veut un clip court simple à partir de texte ou d'images — B-roll rapide, brouillons ou animation d'image de début/fin. Pas quand le brief nécessite une génération cinématographique, la meilleure qualité, un lip-sync serré ou un audio importé en 1080p. | npx skills add PrunaAI/pruna-skills@p-video -y |
gemini-3.1-flash-tts | Utilisez-la quand 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 | Utilisez-la quand quelqu'un veut un court temps de film à 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 | Utilisez-la quand quelqu'un veut un montage avec transitions entre les plans — bobine 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 | Utilisez-la quand quelqu'un veut une histoire en plusieurs parties avec voix off — B-roll épisodique, promotion par chapitres ou plusieurs scènes vidéo liées sans dialogue face caméra. | npx skills add PrunaAI/pruna-skills@narrated-multi-scene -y |
p-video-avatar | Utilisez-la quand quelqu'un veut une personne filmée lisant un script — hôte lip-sync, porte-parole ou avatar narré à partir d'une photo portrait. | npx skills add PrunaAI/pruna-skills@p-video-avatar -y |
p-video-animate | Utilisez-la quand quelqu'un veut 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 | Utilisez-la pour assembler ou peaufiner des clips déjà rendus avec ffmpeg — concaténation, fondus enchaînés, légendes et sous-titres incrustés, superpositions de texte/logo, curseurs avant/après, fonds musicaux, exportation pour plateforme — ou pour composer une vidéo combinée HTML multicouche avec Hyperframes. Pas pour la génération vidéo IA, la conception de prompts ou les montages basés sur modèle. | npx skills add PrunaAI/pruna-skills@video-editing -y |