Communitygithub.com

brand-promo

Créez une vidéo promotionnelle de studio dynamique et sombre d’environ 50 secondes à partir des vidéos de la marque, de son logo animé et de quelques lignes de texte.

Qu'est-ce que brand-promo ?

Cette compétence génère une vidéo promotionnelle complète de type bande-annonce de studio, d’une durée d’environ 50 secondes, en utilisant un seul fichier de configuration `promo.json`. Elle fonctionne en rendant chaque image dans un navigateur Chrome headless, ce qui permet un design motion pur, sans modèle ni séquence préenregistrée. La vidéo inclut une intro tapée, un anneau de cartes 3D, un titre glitché, des spots individuels pour chaque projet (avec carte inclinée ou téléphone et son propre son), une séquence de rush 3D, et un logo liquide final. Elle génère également une bande originale synthétisée, une narration (VoxCPM2, en anglais ou khmer), et des effets sonores, le tout dans un fichier MP4 1080p60. La compétence supporte Claude Code, Cursor, et des workflows similaires, et doit être utilisée à chaque fois que l’utilisateur souhaite une bande-annonce, un showreel de studio, un portfolio vidéo, une promo d’agence ou de marque, ou une version en khmer, y compris si seuls quelques vidéos et un logo sont fournis.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/chydevit/Skill-create-videos/tree/HEAD/plugins/video-skills/skills/brand-promo

Demander à votre IA préférée

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

Documentation

Promo de marque (bande-annonce de studio)

Cette compétence fabrique une vidéo promotionnelle finie à partir d’un seul fichier de configuration, promo.json. Une scène de canvas dessine chaque image dans Chrome headless, la vidéo est donc du motion design pur, sans modèle ni séquence préenregistrée :

  • Images : les propres clips de la marque, son animation de logo, ses textes.
  • Musique : une piste synthé originale codée (128 bpm). Chaque coupe, chute et impact est calé sur ses mesures.
  • Narration : VoxCPM2, exécuté localement.
  • Son : l’audio de chaque projet joue dans son propre spot.

La structure est fixe et fonctionne à n’importe quelle échelle de marque. Seul le contenu change.

TempsSection
0-3,4 s{ Chaque histoire } tapée, puis « mérite d’avancer. »
3,2-7,6 sun anneau de cartes 3D (images fixes de tous les projets) : « Voici cinq des nôtres. »
7,6 s (mesure 4)la chute : sourcil, le nom de la marque dans une boîte d’accent glitchée, un sous-titre
9,5 s + 5,6 s chacuneun spot par projet : bloc de titre plus le projet sur une carte inclinée (16:9) ou un téléphone (9:16), puce « Vidéo complète · m:ss », son propre son avec barres de niveau en direct
break« Votre histoire » puis un grand « ensuite. » sur le dernier mot de la ligne de narration
rushtous les clips défilent en 3D, avec trois mots (Écrit · Voix · Animé) sur les phrases du narrateur
finle logo liquide atterrit sur le dernier impact, glisse à gauche, le nom apparaît, puis les puces et l’URL

La durée est de 51,5 s avec 5 projets, 45,9 s avec 4 et 40,2 s avec 3.

Prérequis :

  • ffmpeg, Node 22+ et Google Chrome ou Chromium (CHROME_PATH).
  • Un Python avec numpy et scipy (PROMO_PY).
  • Pour la narration, VoxCPM2 (VOX_PY, voir scripts/voices.py). Sans elle, la promo n’a pas de narrateur, ou vous pouvez ajouter vos propres enregistrements dans build/vox/<id>.wav.

Workflow

1. Rassembler ce dont la promo a besoin

  • 3 à 5 projets : des vidéos finies du travail de la marque, de n’importe quelle durée. Une vidéo verticale joue sur un téléphone, une paysage sur une carte. Faites attention à :

    • Un bon moment sonore dans chaque projet, comme le début d’une phrase ou une punchline : 4 s de ce moment jouent dans le spot. Donnez son heure de début comme sound, ou laissez-le vide et le début d’un silence proche de 35 % de la vidéo sera utilisé.
    • Définissez "mute": true pour un projet dont le son ne doit pas jouer.
  • L’animation du logo, avec transparence. La meilleure source est /generate-logo avec le style liquide :

    generate-logo/scripts/animate.sh logo.png --styles liquid --prores
    

    Cela produit <nom>-5s-liquid-alpha.mov plus son -sfx.wav. Un -alpha.webm transparent ou un PNG transparent fonctionne aussi.

  • Informations sur la marque :

    • Le nom, divisé en deux parties de couleur (["KumNit", " Studio"]).
    • Les couleurs : deux dégradés pour le nom, un accent, un second accent et un accent chaud. Lisez le logo pour les trouver.
    • Le site web.
    • Ce que la marque fabrique : les quatre puces.
  • Langue : "lang": "en" ou "km". Pour le khmer, écrivez chaque texte et ligne de narration en khmer naturel. Kantumruy Pro et Koulen sont inclus.

2. Écrire le projet

Créez un dossier pour le projet et copiez examples/kumnit-showreel.json dedans sous le nom promo.json, puis modifiez-le. Chaque clé est décrite dans references/config.md. Gardez les textes courts : titres d’un à trois mots, lignes de jusqu’à six mots. Les lignes longues rétrécissent pour tenir, mais elles se lisent moins bien.

Écrivez la narration dans voice.lines comme une phrase courte par moment :

  • next doit finir sur le mot affiché en grand. Par exemple, « Votre histoire pourrait être ensuite. »
  • rush nécessite trois phrases séparées par des virgules, une par mot de rush (« Nous l’écrivons, la voixons, et animons chaque image. »).

3. Aperçu (environ 30 s)

<skill>/scripts/promo.sh <project>/promo.json --preview

Cela découpe les assets, planifie les timings et rend 12 images fixes dans out/<nom>-preview.png. Lisez-le et vérifiez :

  • Les cartes montrent les bons moments.
  • Aucun titre n’est serré.
  • Le logo est cadré (son symbole doit remplir environ 60 % de son cadre).
  • Les spots alternent les côtés.

Pour corriger une image, changez le début sound de ce projet. Ensuite supprimez assets/clips/p<k>, assets/bites/p<k>.wav et assets/manifest.json, puis relancez l’aperçu.

4. Rendu (environ 10 minutes la première fois)

<skill>/scripts/promo.sh <project>/promo.json        # exécuter en arrière-plan

Les étapes s’exécutent dans cet ordre : assets, voices, plan, music, mix, render, encode.

  • Voices : la première exécution charge le modèle (environ 2 min), puis prend 10 à 60 s par ligne. Les lignes qui existent déjà sont conservées, donc supprimez un build/vox/<id>.wav pour le refaire.
  • Rendu : environ 4 min avec 2 processus Chrome.
  • Reprise : --from mix (ou render, ou encode) relance à partir de cette étape uniquement.

Sortie : out/<nom>-1080p60.mp4 et out/<nom>-contact.png (une image par seconde).

5. Vérifier avant de remettre

  • Lisez la feuille de contact.
  • ffprobe doit afficher la durée attendue (51,5 s avec 5 projets).
  • Le mix est normalisé à -14 LUFS.
  • Vous ne pouvez pas entendre le résultat, donc dites à l’utilisateur ce que vous avez vérifié (timings, niveaux, images) et demandez-lui d’écouter. Portez la plus grande attention au narrateur par-dessus le son de chaque projet.

Réglage

  • Effets sonores : définissez sfxDir sur un dossier des propres effets sonores de l’utilisateur et les noms de fichiers dans scripts/audio.py (SFX) sont essayés en premier. Tout ce qui manque est synthétisé, donc la compétence fonctionne aussi sans bibliothèque.
  • Timings : ils sont mesurés à partir de la narration dans scripts/plan.py. Le son de chaque projet commence après sa ligne de narration et s’arrête avant le spot suivant. Pour changer les règles, modifiez plan.py, pas la scène.
  • Apparence : les couleurs proviennent de brand, tout le mouvement est dans scripts/scene.mjs, et la partition est dans scripts/music.py, dont la disposition des mesures est documentée en haut de ce fichier.

Individual skills in this repo

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

brand-loop

Make a seamless looping background video of glossy 3D liquid blobs in a brand's colours. Two colour families float slowly in zero gravity, each merging and pinching off like mercury, on a soft off-white studio backdrop with a warm gradient, faint ripple rings, soft drop shadows and shallow depth of field. It renders in Blender EEVEE at 4K 60 fps as H.264, HEVC 10-bit and 1080p, and the last frame flows into the first. Use it whenever the user wants a looping background, brand backdrop, abstract 3D or liquid loop, motion background for a website, stream, event screen or presentation, a "seamless loop", or a background for their logo or text, or types /brand-loop.

generate-logo

Turn any logo image (PNG, JPG, WebP or SVG) into finished 5-second animated logo reveals in five styles (liquid, neon, bounce, lens, rise). Each comes as a 1080p60 MP4 with synthesised sound effects, a transparent WebM (optional ProRes 4444 .mov) for video editors, and a keyframe sheet. It can add a two-tone wordmark, render square or vertical versions for social media, and build a bespoke style for a particular logo. Use it whenever the user wants a logo animation, animated logo, logo reveal, intro, outro or sting, motion logo, a brand intro for a video, or "make my logo move", or types /generate-logo, even if they only attach a logo and say "animate this".

portfolio-reel

Make a ~30-second creator / freelancer / developer portfolio intro reel (1080p60 MP4) in one fixed, friendly motion-design style (template "skill 2"). A mustard-yellow gradient asks a hook question ("Looking for a … Video editor?"), a white circle wipes to a profile hero (round avatar, badge pill, "Hello, I'm …", roles split by bars, a black "Here's my work ↑" button). The page then scrolls through 1-4 work sections on light grey with window-light shadows, each a title plus 1-3 rounded cards playing the user's own clips or showing their pictures. A yellow light wipe brings two closing lines, then a black social profile card pops up with counting stats, a cursor clicks Follow (it turns into Following) and the card flips in 3D to its back. Two UIs: "classic" (the template) and "app" (a search bar that types the hook and opens a results dropdown, a bento dashboard of glass tiles, a carousel of browser and phone mockups, a chat screen for the closing lines, and a profile card with a co...

saas-promo

Make a kinetic SaaS / startup / product / developer promo video (1080p60 MP4) in one fixed, fast motion-design style: an ~11-second teaser, or a ~50-second version with chapters (one per product or project) cut on the beat of the user's own song. It opens with glyph flashes and purple/lime neon shapes, then types a word with a cursor while a 3D swirl of your screenshots orbits it. Cards slide onto a painted meadow and build a bento wall with words typing inside them, and the camera zooms into a card. A glowing gradient orb then reveals the headline word by word, and a glitch drops into a long-exposure flower on a blue-to-orange sky with flying symbols and "From … / To …". Every frame is drawn in code, with typing, whoosh, riser and impact sound effects and a synthesised ambient bed or your own song (its tempo and drop are measured, so every cut lands on the beat), mixed to -14 LUFS. English or Khmer. Use it whenever the user wants a SaaS promo, product or app teaser, a developer or...

Skills associés