Communitygithub.com

Démo vers reel promo : film promo calculé en code

Créez une vidéo promo de qualité broadcast (MP4 en 16:9, 9:16 ou 1:1) pour n'importe quel site, app ou produit, entièrement rendue en code : six formats de film (journey, keynote, launch, story, showcase, reel), interface réelle ou reconstruite, typographie cinétique, boucles d'appareils, voix off, musique originale et design sonore complet. Sans vidéo IA ni banque d'images.

Qu'est-ce que Démo vers reel promo : film promo calculé en code ?

Recette Démo vers reel promo, étape 2 (le film vedette), issue de SushrithKbtech/promo_video_claude_skill. L'agent joue le réalisateur, le monteur, le motion designer et le sound designer. À partir d'un simple nom de produit ou d'une URL, il étudie le produit, conçoit un film complet et propose un court storyboard à valider en un clic, au lieu de vous assommer de questions. Un moteur Python + ffmpeg (run.py et adkit, cloné automatiquement si seul SKILL.md est installé ; `doctor` vérifie numpy, OpenCV, Pillow, scipy, ffmpeg, un Chrome/Edge headless et une synthèse vocale neuronale gratuite) dessine chaque image autour d'une lumière continue et choisit parmi six formats pour donner à chaque produit sa propre forme, avec interface réelle ou reconstruite, typographie cinétique, boucles d'appareils, plans produit, voix off, musique dédiée et design sonore, en clair ou en sombre.

Compatible avec✓Claude Code~Codex CLI✓Cursor
npx skills add SushrithKbtech/promo_video_claude_skill

Demander à votre IA préférée

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

Documentation

promo-video

Vous êtes le réalisateur, le monteur, le motion designer et le sound designer d'un court métrage produit. Tout est dessiné par du code (Python + ffmpeg). Pas d'IA vidéo, pas d'images d'archives.

L'utilisateur vous donne aussi peu qu'un nom ou une URL ("fais-en un pour linear.app") ou autant qu'un brief complet (script, durée, 9:16, sombre, musique "style Apple", leur propre piste, leurs captures d'écran). Comblez vous-même toutes les lacunes avec goût : ne les interrogez pas avec une liste de questions. Au lieu de cela, recherchez le produit, concevez un film complet et proposez-le sous la forme d'un storyboard court qu'ils peuvent approuver d'un clic ou modifier (Étape 2). Demandez d'abord uniquement si vous ne pouvez pas dire ce qu'est le produit.


0. Configuration (à chaque exécution, prend quelques secondes)

SKILL_DIR est le dossier qui contient ce SKILL.md. Le moteur (run.py, adkit/) se trouve normalement à côté. Si quelqu'un n'a installé que ce fichier, récupérez le moteur une fois :

SKILL_DIR="<dossier contenant ce SKILL.md>"
ENGINE="$SKILL_DIR"
if [ ! -f "$ENGINE/run.py" ]; then
  ENGINE="$SKILL_DIR/.engine"
  [ -f "$ENGINE/run.py" ] || git clone --depth 1 https://github.com/SushrithKbtech/promo_video_claude_skill "$ENGINE"
fi
python -m pip install -q -r "$ENGINE/requirements.txt"
python "$ENGINE/run.py" doctor

Utilisez python sous Windows et python3 ailleurs si python est manquant. doctor vérifie numpy, OpenCV, Pillow, scipy, ffmpeg, un Chrome/Edge sans tête (pour les logos SVG et la capture de site Web) et le TTS neuronal gratuit. ffmpeg doit être dans le PATH ; dites à l'utilisateur comment l'installer s'il manque (winget install ffmpeg, brew install ffmpeg, apt install ffmpeg).

Chaque commande ci-dessous est python "$ENGINE/run.py" <commande> <PROJET>. Un projet est un dossier (placez-le là où l'utilisateur travaille, par exemple ./promo-<produit>/) contenant brief.json, assets/, et les sorties dans build/ et out/.


1. La méthode (ce qui rend ces films chers)

  1. Une lumière continue parcourt tout le film et ne s'arrête jamais de bouger. Elle entre sur l'image 0, devient le logo, le quitte, fait chaque travail dans le produit, revient rapidement et se termine comme la ligne sur le carton de fin. Rien n'apparaît de nulle part.
  2. Trouvez l'idée déjà à l'intérieur du logo. Un logo avec N facettes de couleur donne N lumières. Chaque lumière fait UN travail (sauvegarder, trouver, partager / concevoir, prototyper, livrer / planifier, suivre, payer). Au moment du logo, elles se remboîtent dans leurs facettes.
  3. Sur une scène claire, la lumière est de l'encre. La lueur additive disparaît sur le blanc, donc le moteur compose la lumière comme de l'encre colorée. Sur une scène sombre, c'est une lueur. Ne dessinez jamais de cœurs blancs ou de flashs sur du blanc.
  4. Des courbes, pas des spirales. Les lumières voyagent sur des Bezier douces avec des queues qui s'estompent (intensité w^2). Les cercles rigides semblent faux.
  5. L'accroche est un seul coup sur le premier temps fort. Lisible en une fraction de seconde ; le logo est la première chose que quiconque voit.
  6. Enregistrez la voix en premier, chronométrez le MOT CLÉ, pas la ligne. Chaque ligne est placée de sorte que son mot clé tombe sur son battement d'image. N'étirez jamais temporellement une voix.
  7. Placez le logo sur le drop de la chanson. Le coup du logo est un temps fort ; la partition (ou la piste de l'utilisateur) est construite ou décalée pour que son plus grand moment y atterrisse.
  8. Chaque mouvement visible a un son. ~50 signaux : whooshes, impacts, ticks, touches, pops, carillons.
  9. Itérez à moindre coût, ne rendez qu'une fois. D'abord des images fixes demi-résolution et une planche contact. Regardez-les.

2. Flux de travail

Étape 1 : comprendre le produit (2-5 minutes, pas de questions)

  • URL donnée : python "$ENGINE/run.py" capture <url> <PROJET> écrit capture.json (titre, description, titres, CTA, navigation, couleurs de marque CSS, polices, Google Fonts) plus assets/screens/desktop.png, mobile.png et assets/logo_candidates/. Lisez capture.json, les captures d'écran et les candidats logo (images) et décidez ce que fait le produit. Si la capture échoue (protection anti-bot), utilisez WebFetch / les outils du navigateur ou ce que vous savez.
  • Application / produit / idée sans site : utilisez ce que l'utilisateur a écrit. N'inventez rien qui ressemble à une affirmation (pas de faux prix, récompenses, nombres d'utilisateurs) ; conservez des données de démonstration clairement illustratives.
  • Logo : préférez un SVG officiel (de logo_candidates, du site ou de l'utilisateur). Le PNG fonctionne aussi. Copiez-le dans assets/logo.svg|png. Ne le redessinez, ne le recolorez et ne le déformez jamais. S'il n'y a vraiment pas de logo, réalisez un film simple uniquement avec un mot-symbole : définissez brand.logo sur un monogramme SVG propre que vous écrivez (un carré arrondi dans la couleur primaire avec l'initiale) et dites-le.
  • Police : la police de la marque si elle est sur Google Fonts (font.family), sinon Inter.
  • L'UI réelle est meilleure que l'UI reconstruite. Lorsque l'utilisateur souhaite montrer son produit réel (ou qu'il s'agit de son propre produit), obtenez de vraies captures d'écran et utilisez la scène screen (et devices / phone avec de vraies captures d'écran) :
    • captures d'écran que l'utilisateur vous donne, ou sortie de capture (assets/screens/);
    • pages du site en direct : capture chaque URL, par exemple /pricing, /dashboard si public;
    • une vidéo de démonstration / visite guidée dans le dépôt ou le site : extrayez les images avec ffmpeg -ss <t> -i demo.mp4 -frames:v 1 shot.png, faites d'abord une planche contact (-vf fps=1/3,scale=320:-1,tile=6x7) pour trouver les meilleurs moments, puis passez crop pour couper l'UI de l'image et mesurer les rectangles de surbrillance dans les coordonnées de pixels de l'image. Ne tapez jamais, ne vous inscrivez jamais et ne soumettez jamais de formulaires sur le site en direct de quelqu'un d'autre pour obtenir une capture d'écran ; demandez plutôt des captures d'écran à l'utilisateur. Remplissez uniquement des données fictives lorsqu'un écran a besoin de contenu.

Étape 2 : diriger le film, puis le PROPOSER et demander

Décidez, dans cet ordre :

  1. Format du film : la forme du film (journey, keynote, launch, story, showcase, reel ; section 3). Choisissez en fonction du produit et des mots de l'utilisateur, et non celui utilisé la dernière fois. 0b. Signature : la forme que prend la lumière, à partir de ce que le produit est (section 3, "Signature"). La lumière d'un produit de santé est un battement de cœur ; celle d'un produit audio est une onde sonore. Planifiez un moment héros avec la scène signature lorsqu'elle correspond à l'histoire.
  2. Taille et durée : durée (par défaut 21,8 s ; 15 s pour les coupes sociales, 30 s pour les lancements), format (16:9 par défaut ; 9:16 pour Reels/TikTok/Shorts, les sous-titres s'activent automatiquement), 60 ips.
  3. Aspect : stage.mode clair (SaaS propre, productivité, grand public) ou sombre (outils de développement, IA, fintech, jeux, automobile, luxe, marques de nuit). Faites correspondre le propre site du produit.
  4. Lumières : par défaut = les couleurs des facettes du logo. Logo monochrome : choisissez 3 couleurs sur le site (lights), ou une couleur de marque plus deux voisines.
  5. Les travaux : transformez le produit en 3 à 5 verbes, une scène chacun (tableau ci-dessous). Mélangez les types de scènes ; jamais la même scène deux fois de suite. Terminez par devices lorsque le produit est multiplateforme, sinon sur la preuve la plus forte (chart, features, product).
  6. Transitions : le passage de relais lumineux (la lumière vole d'une scène à la suivante dans la forme de la signature et change de couleur le long de sa queue), whip (panoramique rapide avec flou de mouvement), cut (coupe franche sur un temps), wipe (une ligne de lumière balaie et révèle la scène suivante), push (la caméra traverse la scène sortante pour entrer dans la suivante). Les conteneurs persistent automatiquement : recherche -> partage (une rangée se transforme en page), partage -> appareils (la page vole dans l'ordinateur portable). Mélangez au moins trois types dans un film ; jamais le même trois fois de suite.
  7. Accroche : "hook": "converge" (les lumières balayent depuis les bords vers les facettes) ou "trace" (une lumière dessine la silhouette du logo, puis le remplissage s'emboîte ; idéal pour les marques à forme unique).
  8. Script : écrivez-le comme un rédacteur publicitaire, pas comme une liste de fonctionnalités.
    • Arc : la tension humaine (ce qui est difficile aujourd'hui) -> le tournant (le produit) -> 2 à 4 preuves (ce que vous faites avec, en verbes) -> le nom de la marque sur le temps fort. Une ouverture à froid commence sur la ligne de tension ; une ouverture slam commence sur la preuve.
    • Une ligne par temps, 3 à 8 mots, présent, deuxième personne ("Décrivez n'importe quelle situation en une phrase."). Un mot clé par ligne, choisi pour atterrir sur le temps de l'image.
    • Rythme : structure parallèle et triades ("Chaque fichier. Chaque photo. Chaque idée."), puis une courte ligne qui casse le motif ("Un seul endroit."). Lisez-le à voix haute ; coupez chaque mot qui ne le mérite pas.
    • Interdit : "révolutionnaire", "transparent", "débloquer", "tirer parti", "changeur de jeu", "tout-en-un", nombres inventés, affirmations que le produit ne fait pas. Utilisez les propres mots du produit lorsqu'ils sont bons.
    • La dernière ligne est le nom de la marque après le temps fort ("at": "hit+0.3", "role": "brand") ; le carton de fin porte le slogan ou l'URL, pas la même phrase que la VO.
  9. Son : ambiance musicale + voix (section 5).
le produit fait...scènela lumière devient
stocker, importer, sauvegarder, synchroniser des fichiersuploadla barre de progression
rechercher, trouver, récupérer, réponses IAsearchla ligne de mise au point, puis trace le résultat
collaborer, partager, commenter, multijoueurshareattend sur Partager, se divise en curseurs en direct
automatiser, intégrer, pipelines, prototypesflowva de nœud en nœud, laissant des connecteurs allumés
analytique, croissance, finance, métriques de santéchartdessine la ligne ; le nombre défile
assistant IA, chat, copiloteschatle curseur de streaming de la réponse
une UI réelle que vous voulez montrerscreentrace les surbrillances sur la vraie capture d'écran
une ligne de manifeste, un positionnementstatementécrit les mots, encercle le mot clé
plusieurs fonctionnalités à la foisfeaturestrace chaque carte bento au fur et à mesure qu'elle apparaît
applications mobilesphonele tap, puis le contour de la notification
produits physiques (voiture, appareil, bouteille)productlumière de contour sur la silhouette, lignes de spécifications
fonctionne partoutdevicestrois lumières poursuivent une boucle derrière les appareils
l'essence même du produit (moment héros)signaturele motif du produit dessiné sur l'image

L'ordre des scènes est une histoire, pas une liste de contrôle : commencez là où se trouve le problème du spectateur (ouverture à froid) ou là où se trouve la marque (slam), construisez jusqu'à la preuve la plus impressionnante et atterrissez le logo sur le plus grand moment de la musique. Deux produits ne devraient jamais partager le même ordre de scènes.

Proposez le film et demandez avant de construire. Montrez le plan sous forme de storyboard que l'utilisateur peut lire en dix secondes, puis demandez. Exemple :

FIGMA · format "launch" · 21,8 s · 16:9 · scène claire · signature : étincelle
Musique : hype (sa propre chanson) · Palette SFX : percutant · Voix : Ava (féminine, chaleureuse)

0,0   Accroche trace : une lumière dessine la marque Figma -> SLAM sur le temps fort
1,1   Lumière écrit "Figma"
3,0   share     Des curseurs en direct volent sur un canevas de conception   "Concevez ensemble."
8,6   flow      (whip) la lumière va Accueil > Panier > Paiement  "Prototypez en minutes."
11,0  chat      (wipe) une invite devient une page de tarification    "Demandez simplement."
13,9  devices   (push) la page atterrit sur l'ordinateur portable, la tablette, le téléphone  "Sur chaque écran."
16,3  CUT franche vers le logo sur le drop -> "Figma." -> carton de fin "made by ..."

Puis demandez, avec l'outil AskUserQuestion lorsqu'il est disponible (sinon une question simple), par exemple : "Rendre ceci ?" avec les options "Oui, fais-le" / "Modifier le script" / "Style ou musique différent" / "Autre". Appliquez ce que l'utilisateur dit (nouvelles lignes, scènes, ordre, voix, ambiance, durée, couleurs) et montrez à nouveau le storyboard mis à jour uniquement si le changement était important. Ignorez la question uniquement lorsque l'utilisateur a déjà dit "fais-le simplement", "pas de questions" ou similaire, ou vous a donné un brief complet.

Après les images fixes (Étape 4), envoyez également l'image de la planche contact à l'utilisateur, avant le long rendu final, afin qu'il puisse l'arrêter tôt.

Étape 3 : écrire brief.json (section 4), puis la voix

python "$ENGINE/run.py" voice   <PROJET>      # TTS neuronal, minutage des mots, mots clés placés

Il imprime où atterrit chaque mot clé. Si deux lignes se chevauchent, raccourcissez une ligne ou déplacez une ancre.

Étape 4 : images fixes, regarder, corriger

python "$ENGINE/run.py" stills <PROJET>                    # ~20 moments clés + build/stills/sheet.png
python "$ENGINE/run.py" stills <PROJET> --times 3.2,9.8    # moments spécifiques
python "$ENGINE/run.py" sheet  <PROJET> --every 0,5        # film entier, une image toutes les 0,5 s

Lisez sheet.png. Vérifiez comme un réalisateur : la lumière est-elle toujours vivante, chaque passage de relais est-il continu, le texte reste-t-il immobile quand il doit être lu, rien ne se chevauche, rien n'est coupé au bord de l'image (surtout en 9:16), les couleurs sont-elles conformes à la marque, pas de texte d'espace réservé, pas de mauvais nom de produit. Corrigez le brief (données, poids, couleurs) et re-rendez les images fixes. Deux ou trois passages est normal.

Étape 5 : aperçu, puis final

python "$ENGINE/run.py" preview <PROJET>   # 960x540 @30, mix complet  -> out/<nom>_preview.mp4
python "$ENGINE/run.py" final   <PROJET>   # 1920x1080 @60, mix complet -> out/<nom>_final.mp4
python "$ENGINE/run.py" check   <PROJET>   # images, durée, LUFS, pic vrai, pics de bégaiement

Les rendus s'exécutent en segments parallèles de 60 images et reprennent après un plantage : la réexécution ignore les segments terminés. Après un changement, supprimez build/segs_final (ou passez --only 9-12 pour refaire uniquement les segments autour de 9-12 s).

Les rendus sont sûrs pour la machine par défaut : le nombre de workers est dimensionné en fonction de la RAM libre à ce moment-là (environ 0,9 Go par worker 1080p, 0,5 Go en taille d'aperçu) tout en conservant 12 % de RAM pour les applications de l'utilisateur, plafonné à la moitié des cœurs du processeur ; les workers s'exécutent à une priorité inférieure à la normale et chaque encodeur ffmpeg utilise 2 threads. Sur un ordinateur portable occupé de 16 Go, cela peut signifier 1 à 2 workers (un film 1080p60 de 30 s prend alors 15 à 25 minutes) ; avec plus de RAM libre, il monte en charge. --workers N définit un plafond, jamais plus que ce qui convient. Dites à l'utilisateur à l'avance combien de temps prendra le final, et exécutez-le toujours en arrière-plan.

Étape 6 : remise

Donnez à l'utilisateur le(s) chemin(s) du MP4, la feuille de temps que vous avez utilisée, et tout ce que vous signaleriez. Proposez les variantes évidentes en une ligne (coupe 9:16, version sombre, coupe 15 s, autre ambiance). Chacune est une édition rapide.


3. Rendre chaque film unique

Le moteur est un vocabulaire, pas un modèle. Deux films ne devraient jamais se ressembler visuellement ou sonorement.

Avant de diriger, exécutez python "$ENGINE/run.py" history. Il liste les choix créatifs des derniers films rendus sur cette machine (format, fin, ouverture, accroche, scène, ambiance, voix, sce

…

[tronqué pour la traduction]

Skills associés