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 utilisethumb_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).
- Capture (émulateur). Barre d'état propre avec
scripts/set_demo_statusbar.sh; capture d'écran avecadb exec-out screencap -p(préfixez les commandes/sdcard/avecMSYS_NO_PATHCONV=1). Privilégiez les images fixes auscreenrecord(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. - 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. - Voix off (EN + UR).
python scripts/gen_vo.py <vo_spec.json> <out_dir>. Anglaisen-US-AvaNeural, ourdouur-PK-UzmaNeural. Le script intègre le correctif Windows SelectorEventLoop et la nouvelle tentative 403. Écrivez un ourdou naturel, pas une traduction littérale. - 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 avecvolumedetect. - 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. - 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.pylisent 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.