Communitygithub.com

App Promo Video Studio

Produisez et publiez une vidéo promotionnelle verticale soignée pour une application, à partir de captures d'écran d'émulateur Android, de bout en bout et de manière reproductible, indépendamment de l'application (pilotée par une spécification).

Qu'est-ce que App Promo Video Studio ?

App Promo Video Studio est une compétence d'IA conçue pour les développeurs et les équipes marketing qui souhaitent créer rapidement des vidéos promotionnelles d'application de haute qualité, en anglais ou en ourdou, et les publier directement sur YouTube, Facebook, Instagram et TikTok. Cette compétence est agnostique en termes d'application : vous fournissez un fichier JSON de spécification, des captures d'écran et des lignes de narration, et le pipeline entier s'exécute de manière reproductible. Elle capture des images propres de l'interface utilisateur de l'émulateur Android, compose des scènes graphiques animées en 1080x1920, génère des voix off neuronales (anglais ou ourdou), synthétise un fond musical continu, assemble automatiquement le montage avec FFmpeg, crée une vignette personnalisée, puis prépare la publication. La compétence s'appuie sur des règles strictes d'honnêteté : pas de fonctionnalités inventées, pas de vraies données personnelles, et une divulgation obligatoire de l'IA. Elle est idéale pour créer des démos d'applications, des bandes-annonces, des vidéos de lancement de fonctionnalités ou des clips sociaux verticaux.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Azharthegreat/agent-skills/tree/HEAD/skills/app-promo-video-studio

Demander à votre IA préférée

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

Documentation

Que fait App Promo Video Studio ?

Fabriquez une vidéo promotionnelle d'application finie et honnête à partir de captures d'émulateur, puis publiez-la sur YouTube, votre Page Facebook, Instagram et TikTok. Préservez l'interface utilisateur réelle de l'application ; n'inventez jamais de fonctionnalités, de chiffres ou d'affirmations.

Cette compétence est agnostique envers les applications. Elle fonctionne pour n'importe quelle application. Tout est piloté par la spécification : une nouvelle application correspond à une nouvelle spécification JSON ainsi qu'à ses propres captures d'écran, enregistrements de démonstration, CTA, lignes de divulgation et lignes de voix off - aucun changement de code. La promotion de l'annuaire téléphonique Astra (10 oct. 2026) est la référence de travail dans examples/ ; copiez-la et remplacez le contenu de l'application. Pour chaque nouvelle application, confirmez la promesse marketing unique, l'ensemble des fonctionnalités réelles, les données de démonstration sûres, le lien Play Store et les lignes de divulgation honnêtes avant la production. Publiez sur la propre chaîne YouTube de la marque, sa Page Facebook, Instagram et TikTok ; seule la liste de lecture YouTube diffère entre les applications.

Réutilisez la compétence chargée au sein d'une session. Découvrez les chemins des outils à l'exécution (which ffmpeg, emulator -list-avds) ; ne codez pas en dur les chemins machine et conservez les chemins dans le dépôt en relatifs.

Règles strictes (ne pas enfreindre)

  • Uniquement des données de démonstration sûres dans une vidéo publique. Les enregistrements de démonstration fabriqués (noms/avatars aléatoires, faux CNIC) sont acceptables ; JAMAIS un numéro de personne privée réelle ou celui du propriétaire. Confirmez l'ensemble de démonstration avec l'utilisateur si l'application renvoie des données tierces en direct.
  • Afficher chaque champ de données. Chaque scène de carte affiche la carte entière ; ne recadrez pas un champ.
  • Texte honnête. Pas de fonctionnalités, chiffres, récompenses ou avis inventés. Conservez la mention de l'annuaire tiers et la divulgation sur la suppression des numéros dans le CTA et les sous-titres.
  • Pas de tirets cadratins où que ce soit (scènes, sous-titres, titres, descriptions, messages de commit). Utilisez "-" ou scindez la phrase.
  • Vignette personnalisée, toujours. Ne laissez jamais une plateforme choisir automatiquement une image. Pour un Reel / Short / TikTok (vertical), utilisez la vignette 9:16 thumb_9x16.png ; seul un téléchargement YouTube paysage utilise thumb_16x9.png. Un YouTube Short recadre une vignette 16:9 au centre pour obtenir une bande étroite ~9:16, donc gardez le contenu clé dans la colonne centrale d'environ 405 px et vérifiez en recadrant le centre 9:16 avant le téléchargement.
  • Sous-titres/titres ourdous en OURDOU ROMANISÉ (latin), pas en écriture ourdoue. La voix off parlée reste en ourdou ; le sous-titre/titre/description écrit pour le montage ourdou est en ourdou romanisé.
  • Divulgation de l'IA : précise, jamais automatique. Lisez la définition actuelle de chaque plateforme concernant le contenu généré, modifié ou synthétique par l'IA et répondez-y honnêtement. La voix off est une voix neuronale (synthétique), donc divulguez-la partout où les règles de la plateforme couvrent l'audio synthétique.
  • YouTube "Conçu pour les enfants" : toujours Non. Ces promotions sont destinées aux adultes.
  • Brouillon d'abord, publiez uniquement sur un oui explicite par plateforme. La publication est tournée vers l'extérieur et irréversible ; préparez tout en privé, puis attendez le feu vert. Taguez la build Play et enregistrez chaque URL de publication + résultat par la suite.

Workflow (six étapes)

Détails complets dans references/pipeline.md. Les scripts se trouvent dans scripts/, un exemple de spécification dans examples/ (ajoutez d'abord vos propres captures d'écran).

  1. Capture (émulateur). Barre d'état propre avec scripts/set_demo_statusbar.sh ; capture d'écran avec adb exec-out screencap -p (préfixez les commandes /sdcard/ avec MSYS_NO_PATHCONV=1). Privilégiez les images fixes au screenrecord (qui est saccadé). Effacez les recherches récentes pour un cadrage cohérent ; recadrez chaque carte de résultat sur la carte blanche entière.
  2. Composition des scènes. python scripts/make_scenes.py <spec.json> <assets_dir> <out_dir> -> s1.png..sN.png. Grammaire : accroche -> capture d'écran d'accueil -> une carte par enregistrement de démonstration -> énoncé de capacité -> CTA. Voir references/pipeline.md pour les règles de conception.
  3. Voix off (EN + UR). python scripts/gen_vo.py <vo_spec.json> <out_dir>. Anglais en-US-AvaNeural, ourdou ur-PK-UzmaNeural. Le script intègre le correctif Windows SelectorEventLoop et la nouvelle tentative 403. Écrivez un ourdou naturel, pas une traduction littérale.
  4. Musique. FFMPEG=<ffmpeg> scripts/build_music.sh <out.wav> <secondes> - nappe d'accords continue, loudness normalisée à -16 LUFS pour être audible sous la voix. Passez quelques secondes de plus que le total des scènes. Vérifiez avec volumedetect.
  5. Assemblage. python scripts/build_video.py --scenes <dir> --vo <dir> --music <wav> --out <mp4> --ffmpeg <ffmpeg>. Chronométre automatiquement chaque scène sur sa ligne de voix off (ainsi les montages EN et UR tiennent tous deux), fond enchaîné entre les scènes, mixe la musique sous la voix. Vérifiez la durée, les niveaux et les images.
  6. Vignette + publication. python scripts/make_thumbnail.py <spec.json> <assets_dir> <out_dir> puis suivez references/publishing.md pour les quatre canaux (vignette personnalisée, divulgation honnête de l'IA, brouillon d'abord, confirmez le canal cible avant le téléchargement).

Démarrage rapide (à partir de l'exemple)

SK=<skills-dir>/app-promo-video-studio   # là où la compétence est installée
FF=$(which ffmpeg); W=<scratch_dir>
python "$SK/scripts/make_scenes.py"   "$SK/examples/video_spec.example.json" "$SK/examples/assets" "$W/scenes"
python "$SK/scripts/gen_vo.py"        "$SK/examples/vo_en.json" "$W/vo_en"
FFMPEG="$FF" bash "$SK/scripts/build_music.sh" "$W/music_en.wav" 33
python "$SK/scripts/build_video.py" --scenes "$W/scenes" --vo "$W/vo_en" --music "$W/music_en.wav" --out "$W/promo_en.mp4" --ffmpeg "$FF"
python "$SK/scripts/make_thumbnail.py" "$SK/examples/video_spec.example.json" "$SK/examples/assets" "$W/thumb"

Passez en ourdou en exécutant gen_vo.py avec examples/vo_ur.json dans vo_ur, en reconstruisant la musique quelques secondes de plus (les lignes ourdoues sont plus longues) et en assemblant avec vo_ur.

Rendez-la robuste et intelligente

  • Chronométrage automatique (build_video.py) dimensionne chaque scène sur sa ligne de voix off, de sorte que les mêmes scènes produisent des montages EN et UR propres sans réglage manuel des décalages.
  • Pilotée par spécification (make_scenes.py, make_thumbnail.py lisent un seul JSON), donc une nouvelle application est une nouvelle spécification plus des captures d'écran fraîches, pas de nouveau code.
  • Vérifiez chaque étape : capture à l'œil (bon enregistrement, tous les champs), musique via volumedetect (moyenne ~-15 dB = vraiment dans le mix), rendu final (durée + niveaux + images de l'accroche/carte/énoncé/CTA).
  • Échouez honnêtement : si edge-tts est bloqué par le réseau, livrez les scènes + la musique + les scripts chronométrés et nommez la voix comme la seule partie bloquée. Ne simulez jamais la voix, les données ou les affirmations.

Références

  • references/pipeline.md - détails sur la capture, les scènes, la VO, la musique, l'assemblage.
  • references/publishing.md - les quatre canaux, vignette personnalisée, règle pas d'IA, comptes/profils, liste de contrôle par plateforme, porte du brouillon d'abord.
  • references/gotchas.md - tous les pièges qui ont coûté du temps (musique silencieuse, musique masquée, correctif Windows edge-tts, altération de chemin /sdcard, dérive du cadrage des cartes, racines de téléchargement).
  • examples/ - la spécification de référence et les lignes de voix off EN/UR ; les captures d'écran ne sont pas fournies.

Individual skills in this repo

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

Skills associés