Communitygithub.com

PrunaAI/pruna-skills

À utiliser lorsque quelqu'un souhaite un clip court et simple à partir de texte ou d'images — B-roll rapide, brouillons ou animation d'image de début/fin. Pas lorsque le brief nécessite une génération cinématographique, la meilleure qualité, un lip-sync précis ou un fichier audio importé en 1080p.

Qu'est-ce que pruna-skills ?

Cette compétence est conçue pour les agents IA comme Claude Code, Cursor ou Codex, afin de générer rapidement des clips vidéo courts et simples à partir de texte, d'images ou d'audio. Elle est idéale pour les brouillons, le B-roll léger, les animations d'images de début/fin ou les clips avec mouvement court. L'agent utilise le modèle `p-video` de l'API Pruna et doit suivre un processus de craft de prompt dynamique et fidèle, en s'appuyant sur les compétences `generation-diversity` et `video-prompting` pour garantir des descriptions de mouvement variées et cohérentes. La compétence gère les cas d'usage text-to-video, image-to-video, les paires d'images (début/fin) et l'audio conditionné, mais ne doit pas être utilisée pour des clips cinématiques (utiliser `p-video-2-pro`), des montages multi-scènes, des animations de transfert de mouvement (`p-video-animate`) ou des avatars parlants (`p-video-avatar`). L'agent doit nommer le modèle `p-video` dans sa première réponse, vérifier la présence de la clé API `PRUNA_API_KEY`, demander les entrées requises et afficher le prompt drafté avant l'appel API.

Compatible avec~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/PrunaAI/pruna-skills/tree/HEAD/skills/video/p-video

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Prérequis

Installez et chargez ces compétences avant de générer (ignorez si déjà en contexte via @pruna) :

CompétenceDescriptionInstallation
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 permetCopiez 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éraChaî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 narrationDé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 wordingRé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étenceDescriptionInstallation
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

  1. Complétez l'ordre de lecture des Prérequis (generation-diversity → video-prompting).
  2. 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), la resolution, le fps, le draft et le prompt avec l'utilisateur.
  3. Notes Pruna : lorsque image est défini, aspect_ratio est ignoré. Avec audio, omettez duration et définissez save_audio: true pour 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

ChampRôle
imagePremière image — ancre I2V ; lorsqu'il est défini, aspect_ratio est ignoré
last_frame_imageImage fixe optionnelle de fin d'état
audioAudio conditionné ; la durée suit l'audio (limitée à 20s) ; flac/mp3/wav
duration1–20s (ignoré si audio est défini)
resolution720p (par défaut) ou 1080p
fps24 (par défaut) ou 48
aspect_ratioLorsqu'il n'y a pas d'image : 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 1:1
drafttrue ≈ aperçu 4× plus rapide/moins cher ; false = final
save_audioConserver l'audio généré par le modèle ou uploadé en sortie
seed, prompt_upsampling, disable_safety_filterReproductibilité / politique client

Liés

Compétences liées :

CompétenceDescriptionInstallation
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

Individual skills in this repo

This repo contains 13 individual skills — each has its own dedicated page.

PrunaAI/pruna-skills

Use when someone needs spoken narration or voiceover — explainer tracks, documentary lines, or voice to pair with generated video.

PrunaAI/pruna-skills

Use when someone wants an original AI song with vocals — sung lyrics, a style prompt track, or source audio for a music video.

PrunaAI/pruna-skills

Use when someone needs word-level timestamps from audio — lyric alignment, cut-safe line boundaries, or caption source timing before burn-in with video-editing.

PrunaAI/pruna-skills

Use before any Pruna or Replicate HTTP call — credentials, upload/poll/download, parallel batches, and agent safety.

PrunaAI/pruna-skills

Use when assembling or polishing already-rendered clips with ffmpeg — concat, crossfades, burned captions and subtitles, text/logo overlays, before/after sliders, background music beds, platform export — or when composing a multi-layer HTML combination video with Hyperframes. Not for AI video generation, prompt craft, or model-based video edits.

PrunaAI/pruna-skills

Use when crafting video or motion prompts for any generative model — dramaturgy, camera, physics-safe motion, frame anchors, and clip chaining.

PrunaAI/pruna-skills

Use when someone wants to edit an existing photo — change outfits or backgrounds, compose from reference images, or apply prompt-driven edits.

PrunaAI/pruna-skills

Use when someone explicitly wants the fastest, cheapest photo generation — mood boards, bulk panels, or quick iterations — not when controlled photoreal or in-image text is needed.

PrunaAI/pruna-skills

Use when someone wants virtual try-on — dress a person in clothes from reference photos for fashion or ecommerce.

PrunaAI/pruna-skills

Use when installing the full Pruna generative media suite — all guides, tools, and workflows in one package.

PrunaAI/pruna-skills

Use when someone wants a cinematic clip from text or start/end frames — product ads, documentary shots, or dialogue with generated audio. Not for 1080p, imported audio tracks, or talking-head-only hosts.

PrunaAI/pruna-skills

Use when someone wants a polished short clip from text, images, or imported audio — 1080p B-roll, start/end frame animation, or a motion shot with a mixed track. Not for cinematic generated-audio clips or talking-head-only hosts.

PrunaAI/pruna-skills

Use when someone wants to edit an existing video with a text instruction — recolor, restyle, remove or add objects, change environment or lighting, update on-screen text, or apply optional reference-guided product and accessory edits. Not for a new clip from scratch or ffmpeg assembly.

Skills associés