Que fait Script Vidéo Finance ?
Agent (vous) qui rédige des scripts. Le script scripts/vengine_cli.py prépare le canevas de beats, reçoit les scènes par beat et exécute une vérification par rapport au guide de style.
Périmètre
- Inclus : brief (incluant le choix du
stylevisuel) → feuille de beats → script par beat (scenes.json) → lint → mappage des pages visuelles (map-pages) → export (script.md,prompts.json,script.srt) → génération d'assets d'images IA full-screen (generate-images) → rendu vidéo MP4 cinématographique complet avec TTS français (render). - Exclut : upload automatique sur les plateformes.
Préparation
- Python 3.10+ avec
pip install pydantic pyyaml pillow edge-tts imageio-ffmpeg, ou exécutez viauv run(dépendances automatiques). <skill-dir>= dossier où se trouve ceSKILL.md. Toutes les commandes :python <skill-dir>/scripts/vengine_cli.py <commande> ...(sous Windows,pypeut remplacerpython).- Exécutez depuis le dossier de travail de l'utilisateur, pas depuis l'intérieur du dossier skill. Le projet est sauvegardé dans
./video-projects/<slug>/(modifiable avec--home DIRou la variableVENGINE_HOME).
Flux de travail
- Recueillez le brief. Demandez ce qui n'est pas clair : sujet, format (A = histoire, B = guide étape par étape, S = court 30-60 secondes), durée,
stylevisuel (préréglages :claymation,flat-vector,3d-pixar,anime-ghibli,cinematic-realistic,watercolor,comic-book,dark-moody, ou description personnalisée libre), public cible,chiffres_clés, et pour le format A uniquement les personnages (protagoniste, comparateur, figurants). Demandez également l'appel à commentaire/abonnement et les instruments financiers autorisés. N'inventez pas de chiffres clés ; les chiffres proviennent de l'utilisateur ou de calculs dont vous écrivez la formule. - Lisez
references/guide-script.mdavant d'écrire quoi que ce soit. C'est la source de vérité pour le style, les techniques et les règles concernant les chiffres/affirmations. - Créez le projet.
init <slug> --topic "..." --format A|B|S --minutes N --style <style>, remplissezbrief.yamlavec l'utilisateur, puisbuild <slug>(crée la bible de l'histoire et la feuille de beats). - Écrivez par beat (répétez jusqu'à ce que tous les beats soient terminés) :
beat <slug>affiche la tâche pour le beat suivant : brief, personnages, trois scènes précédentes, points clés, mots cibles par scène, et conditions de tags.- Écrivez le JSON de la scène dans
video-projects/<slug>/draft/<beat>.json. Le champimage_promptdoit être en anglais pour chaque scène (car toutes les scènes sont rendues en full-screen). add <slug> --beat <id> --file video-projects/<slug>/draft/<id>.json.- En cas d'erreur, le beat n'est pas sauvegardé. Corrigez le JSON selon le message puis refaites
add. Si un beat doit être réécrit après sauvegarde, ajoutez--replace. N'utilisez pas--forcesauf si l'utilisateur le demande.
- Vérifiez.
status <slug>pour la progression,lint <slug>pour une vérification complète. Les erreurs doivent être à zéro avant de présenter le script comme final ; les avertissements sont lus et décidés avec l'utilisateur. - Mappez les pages visuelles. Exécutez
map-pages <slug>pour mapper automatiquementpage_typeetpropsselon le cataloguereferences/design-video.md. - Exportez.
export <slug>génère :video-projects/<slug>/out/script.md(script canonique par acte)video-projects/<slug>/out/prompts.json(prompts d'illustration full-screen prêts à générer pour toutes les scènes, incluant personnages et style)video-projects/<slug>/out/script.srt(sous-titres avec timestamps)
- Générez les assets d'images IA Full-Screen. Exécutez
generate-images <slug>(vous pouvez ajouter--style <style>,--scene <numéro>pour refaire une scène, ou--forcepour tout écraser) pour télécharger les images IA full-screen (Pollinations Flux) dansvideo-projects/<slug>/out/images/scene_XXX.png. - Rendu vidéo MP4 (optionnel/sur demande). Exécutez
render <slug>(vous pouvez ajouter--voice fr-FR-HenriNeuraloufr-FR-YvetteNeural, ainsi que--fps 12pour le style stop-motionclaymation) pour combiner les images de fond full-screen (avec mouvement stop-motion / Ken Burns, vignette, superposition glassmorphism des chiffres/punchlines, et sous-titres karaoké), la voix off en français, et produirevideo-projects/<slug>/out/video.mp4.
Format JSON des scènes
{"scenes": [
{"narration": "Première stratégie, l'argent doit être séparé dès le départ.",
"tags": ["SECTION"], "image_prompt": "clean modern workspace with warm morning sunlight beams", "characters": [], "mood": "chaleureux", "notes": ""},
{"narration": "Si chaque jour tu mets de côté vingt mille francs CFA, en un mois tu accumules six cent mille francs CFA.",
"tags": ["CALC"], "image_prompt": "neatly stacked glass savings jars with glowing coins on wooden desk",
"motion_prompt": "Stop-motion claymation, slow subtle push-in camera, soft ambient light flicker", "characters": [], "mood": "neutre",
"notes": "20000 x 30 = 600000"}
]}
narration: prête à être lue, 15–35 mots. Les scènesPUNCHetSECTIONfont au maximum 14 mots et se suffisent à elles-mêmes.tags:PUNCH,BRIDGE,SECTION,CTA,NUMBER,CALC. Les conditions par beat sont dans la tâche debeat.image_prompt: en anglais, sans texte ni chiffres dans l'image ; recommandé pour chaque scène afin que le fond full-screen soit adapté au contexte (sinull, le moteur compose automatiquement un prompt contextuel).end_image_prompt(optionnel) : en anglais pour le End Frame si la scène a une transition de changement d'objet/éclairage (ex. interrupteur appuyé, passage de sombre à clair ; généré avec la même seed).motion_prompt(optionnel) : instruction de mouvement par scène (ex.zoom_flicker,bobbing,switch_lightpour une animation stop-motion claymation).characters: id des personnages de la bible de l'histoire (ex.protagoniste), pas le nom.mood:tendu,neutre,chaleureux,optimiste,mélancolique.notes: doit contenir la formuleA x B = Cpour les scènesCALC/NUMBER; indiquez également la source de l'affirmation.
Règles à ne pas enfreindre
- Écrivez de manière originale. Ne copiez ni ne paraphrasez des vidéos ou transcriptions de référence ; seule la structure et les techniques sont utilisées.
- Recalculez tous les chiffres. La chronologie vers l'objectif chiffré doit être explicite et honnête.
- Pas de statistiques sans source ("90 % des gens..."), pas de promesses de résultats. Les instruments financiers ne sont que des exemples et doivent être accompagnés d'une phrase d'avertissement.
- Le contenu fictionnel (format A) doit être étiqueté "histoire illustrative".
- Ne modifiez pas
beats.jsonouscenes.jsonà la main ; utilisezaddpour que la validation et la renumérotation des scènes restent actives.
Dépannage
Module 'pydantic' non installé→pip install pydantic pyyamlou utilisezuv run.Projet ... introuvable→ vérifiez le dossier de travail ; le projet se trouve dans./video-projects/du dossier où la commande est exécutée, ou dans--home.- Lint
similaire_référence→ placez la transcription de référence en.txtdans./references/(ou--refs DIR) ; réécrivez la partie signalée avec vos propres mots. - Lint
total_mots→ ajoutez ou supprimez des scènes dans le beat qui s'écarte trop de la cible (voirstatus), puisadd --replace.