Vidéo de découverte
Le produit, c'est la découverte, pas le site web. La vidéo montre le matériau réel qui la prouve, en grand et clair, retient un élément constant pour que le spectateur voie ce qui a changé, et se termine par une question que les gens commentent. Le site n'apparaît qu'à la fin, comme source.
Cette approche a été développée à partir du clip satellite de Cluj (même endroit, 1968 → 2025, image plein cadre, une année, deux lignes, pas de site), qui a bien mieux fonctionné qu'une simple visite guidée du site.
Ce que vous livrez
- Deux montages, 1080×1920, 30 ips, H.264 + AAC, 15–25 s : A commence par la question ou la première image et boucle ; B commence à froid sur le payoff. Vignettes pour les deux.
post.txt: fichiers et spécifications, notes de publication, tableau des affirmations (chaque chiffre et ligne à l'écran → son fichier source ou URL), crédits image, sources sonores. Pas de texte de publication sauf si l'utilisateur le demande (les agents ne rédigent pas de publications).- Les vidéos dans un dossier en dehors du dépôt (
~/Videos/<projet>-finding-<date>/) ; le storyboard, les scripts et les recadrages du matériau dansreports/finding-<date>/du projet, avec un README : ce qui s'y trouve, où se trouve le média, de quoi les scripts ont besoin. - La publication est la responsabilité de l'utilisateur : ne publiez jamais à sa place.
Flux de travail : trois approbations légères avant le rendu long
- La découverte. Listez 2 à 4 découvertes candidates issues des données du projet, chacune avec la tension qu'elle porte et son dénominateur. Choisissez celle qui a de l'attrait (argent, ville, nuisance partagée). Vérifiez chaque chiffre par rapport aux données, pas par rapport à la page qui les résume.
- Le matériau. Pour la découverte, trouvez la chose réelle la plus vivante qui la montre : une capture de menu sauvegardée, une image satellite, un document, une photo, les données elles-mêmes sous forme de graphique. Notez les droits pour chaque pièce (voir
references/craft.md, Matériau). Les recadrages restent exactement comme capturés : pas de retouche, pas de prix ajoutés. - Vérification de l'histoire (approbation 1). Un tableau des séquences : temps, ce qui remplit le cadre, la légende, le son, et l'affirmation que chaque séquence fait avec sa source. Nommez la constante (ce qui reste identique pendant que le reste change) et le dispositif (l'idée unique que vous pourriez dire en une phrase). Attendez le oui ou les modifications de l'utilisateur.
- Vérification de l'aspect (approbation 2). Utilisez le design actuel de la page : lisez ses couleurs, sa police et son style de graphique à partir de la source du site à chaque fois, car les pages sont refondues (2026-11-06). Rendez 2 à 3 images en pleine taille (
frames.py --stills, ouseek_capture.mjs ... stills) et montrez-les. Attendez un pouce levé par image. - Storyboard (approbation 3). Dessinez-le avec
scripts/storyboard.py: une image clé par séquence aux proportions réelles, avec le temps, le son et la transition vers la séquence suivante. Montrez-le et attendez un oui. L'utilisateur a demandé cette vérification : aucun rendu vidéo avant cela (2026-11-06). - Construction. Rendez, puis exécutez les vérifications ci-dessous et examinez chaque feuille vous-même.
- Livraison.
post.txt, storyboard, et dites à l'utilisateur ce que vous n'avez pas pu vérifier (son à l'oreille au moins) et que la tenue de 2 secondes, le temps de visionnage et les commentaires sont le véritable verdict.
Ne sautez une approbation que si l'utilisateur le dit pour cette vidéo.
Rendeurs
Choisissez selon le matériau ; tous écrivent des images PNG 1080×1920 et encodent avec tv-range BT.709 yuv420p.
| Matériau | Rendeur | Commentaire |
|---|---|---|
| Photos, scans, images satellite, recadrages de documents | scripts/frames.py (du clip satellite) | une frame_fn(t) Python qui compose les images plein cadre, shade_top derrière les légendes, overlay/text pour les légendes ; synth pour les événements sonores ; render() encode |
| Un graphique ou un nombre qui bouge | une page HTML avec window.seek(t) (la méthode graphique ci-dessous) + scripts/seek_capture.mjs | node seek_capture.mjs <page.html> <out> stills pour les images de vérification, puis les images pour la vidéo ; encoder avec ffmpeg comme dans frames.encode |
| Une scène illustrée (atmosphère, métaphore) | optionnel : cth9191/animate (MIT), un skill tiers | demandez avant de l'installer |
La méthode graphique (de charlie947/motion-graphics-skills animated-chart, MIT) : quatre états — début, un changement (rien ne disparaît et n'est remplacé), maintien avec la valeur du titre étiquetée, retour pour que la boucle n'ait pas de saut. Chaque image est calculée à partir de t uniquement. Le titre, les étiquettes et les axes ne bougent jamais. N'arrondissez jamais, ne reformatez pas et n'ajoutez pas de nombre. Après la construction, capturez les images à 0, 1, 2, 4 et 7 s et recherchez un texte qui se chevauche ou coupé avant la vidéo.
Nécessite numpy et Pillow pour frames.py, Playwright pour seek_capture.mjs (définissez PLAYWRIGHT= sur son node_modules/playwright s'il n'est pas résoluble), et ffmpeg.
Vérifications
python3 ../demo-video/scripts/check.py <répertoire de sortie> --name <nom>(depuis le dossier de ce skill) (nommez les montages<nom>-A.mp4/<nom>-B.mp4) : taille, fréquence d'images, couleur, volume, SSIM de boucle, zone de sécurité et planches contact. Il signale et n'échoue pas : lisez chaque ligne et vérifiez chaque nombre par rapport à sa cible vous-même.- Regardez la feuille de zone de sécurité : aucune légende, nombre ou ligne source sous le rouge.
- Lisez chaque légende à la taille d'un téléphone (360 px de large) sur la planche contact.
- Nommez le héros de chaque séquence principale et vérifiez qu'il occupe au moins 40 % de la hauteur du cadre, et nommez le virage (
references/craft.md). Dites quelles séquences manquent. - Tableau des affirmations : chaque nombre à l'écran tracé jusqu'à un fichier ; chaque comparaison indique sa base (quelles pizzas, quelle date, combien).
- Mesurez le son séquence par séquence, à la fois en pleine portée et au-dessus de 250 Hz (ce que joue un haut-parleur de téléphone). Le payoff doit être le plus fort dans les deux, et le quasi-silence doit être silencieux. Écoutez ensuite une fois si possible ; sinon, dites que vous ne l'avez pas fait. Utilisez
frames.mixpour donner au payoff son propre niveau, puisframes.level; sur le pilote de pizza, l'ancien compresseur a laissé le ronronnement plus fort que le son fort.
Pièges
-
Une légende à côté d'un nombre hérite de son unité. "le plus grand écart" sous "4 lei" se lit comme des lei ; dites "în procente" ou supprimez-le. (Treponti était le plus grand en pourcentage, La Crosta en lei.)
-
Ne réutilisez pas les photos de produits ou l'interface des applications (les conditions de Wolt et Glovo réservent les droits d'image). Transcrivez une annonce dans votre propre carte neutre, datée, ou recadrez uniquement le texte dont vous avez besoin comme preuve et indiquez sa provenance.
-
Les images générées par IA restent hors des vidéos sur des lieux ou des prix réels ; elles donnent l'impression d'être mises en scène. L'atmosphère provient des propres images de l'utilisateur, d'archives du domaine public (vérifiez les droits de chaque élément) ou d'un style clairement illustratif.
-
ElevenLabs "Chris" se trompe sur les nombres roumains, même en chiffres (49 et 67 sur la vidéo pizza, 88 sur la vidéo permis, 2026-11-06). La transcription ne le détecte pas. Auditionnez chaque nombre parlé et faites écouter l'utilisateur avant le mixage.
-
Avant de publier, la page doit être en ligne et les nombres revérifiés si les données ont changé.
-
Les voix synthétiques lisent mal les nombres, et la transcription ne le détectera pas. L'écriture en toutes lettres "optzeci" est sortie comme "opt zece", la transcription disait toujours "Optzeci", et une prise avec des chiffres était correcte. La prise suivante du même nombre est à nouveau sortie erronée, donc la génération varie : une fois que l'utilisateur approuve une prise, épissez cet audio et ne le régénérez pas. Seule une oreille humaine peut vérifier la prononciation (2026-11-06).
D'où viennent les règles
references/craft.md contient le savoir-faire : la feuille de séquences de découverte, les règles d'histoire, les légendes, le matériau et les droits, le son. Sources : un clip d'imagerie satellite de Cluj-Napoca (2026-11-03), les notes de savoir-faire de demo-video, la grammaire d'histoire de cth9191/animate (MIT), animated-chart et les règles d'explication vidéo de charlie947 (MIT), les règles de cadre et de virage de StewdioAI/blank-page (MIT), et une consultation Codex (2026-11-04).