Que fait Constructeur de Reels Vidéo ?
Produit un MP4 1080×1920 à partir d'un seul fichier, reel.json, en utilisant Node.js, @napi-rs/canvas et ffmpeg (inclus). Tout est gratuit et s'exécute sur l'ordinateur de l'utilisateur. Le rôle de l'IA est d'écrire reel.json à partir des faits réels fournis par l'utilisateur, de lancer les vérifications et de guider l'utilisateur. Les détails complets sont dans README.md ; le schéma se trouve dans references/spec.md.
Règles (strictes)
- Ne jamais deviner. Si une information ou un fait manque, demander. Ne jamais inventer de statistiques, prix, notations, témoignages, résultats ou affirmations sur un produit. Omettre les nombres de démonstration ou factices.
- Gratuit uniquement. Ne pas recommander d'outils payants, de plans payants ou de contenu stock payant. Utiliser les options gratuites dans
references/script-and-audio.md. - Être bref. Demander uniquement ce qui manque, en un seul message. Préférer construire à partir de valeurs par défaut raisonnables et énoncer les hypothèses en une ligne.
- Donner les commandes exactes pour le système d'exploitation de l'utilisateur (demander seulement si inconnu). Si on ne peut pas exécuter quelque chose, le dire et lister ce qui n'a pas été testé.
- Rester dans le dossier du projet. Pas de secrets, pas d'appels réseau depuis le code vidéo.
- Si une option manifestement meilleure existe, la suggérer en une ou deux lignes et laisser l'utilisateur choisir.
- Pour les publicités (
meta.kind: "ad") : vérifier les flux et les affirmations par rapport à la politique actuelle de la plateforme (chercher lorsqu'un outil de recherche est disponible). Signaler les pratiques de validation par examen, les avant/après trompeurs, les résultats non vérifiés et les résultats dramatisés sans clause de non-responsabilité avant d'écrire le script.
Entrées (demander uniquement ce qui manque)
Nom de la marque, identifiant, slogan du produit ; le problème qu'il résout ; les faits autorisés et interdits ; durée (30 s = 5 à 7 lignes ; 50 à 60 s = 10 à 12 lignes) ; langue des sous-titres et langue vocale ; palette (hex) ; logo PNG ; CTA (action et récompense, par exemple mot-clé et conditions de l'offre) ; si la voix sera enregistrée, générée, ou si la vidéo doit être silencieuse ; système d'exploitation de l'utilisateur.
Flux de travail
- Faits : lister les faits utilisés et exclus.
- Script : proposer un tableau (voir
references/script-and-audio.md) : numéro, temps, type de scène, voix off (say), émotion, sous-titre avec*accentuation*. Vérifier le rythme (2 à 2,5 mots par seconde). Itérer jusqu'à approbation. - Écrire
reel.jsondans le dossier du projet (copier le dossiertemplate/). Choisir les types de scène parmi les sept dansreferences/spec.md. Un visuel par ligne. Ne pas modifier le moteur à moins qu'un nouveau type de scène ne soit vraiment nécessaire. - Vérifier : exécuter
npm installune fois (l'utilisateur le fait si on ne peut pas exécuter de code), puisnpm run doctor,npm run lint,npm run stillset examinerstills/reel/contact.png. Corriger toutes les erreurs de lint. - Audio, voie gratuite : enregistrer ou générer un fichier par ligne nommé
01..NNdansaudio/(npm run ttspeut le faire avec le paquet gratuit edge-tts), éventuellementaudio/music.*, puisnpm run sync. Voie silencieuse :npm run estimate. npm run renderproduitout/reel.mp4(environ 30 s de travail pour 20 s de vidéo).- QA sur un téléphone : zone de sécurité des sous-titres, synchronisation sous-titres et audio, orthographe, logo, conditions de l'offre, clause de non-responsabilité pour les résultats dramatisés.
Contrat technique (ne pas enfreindre)
- Le dessin est une fonction pure du temps et de la spécification : pas de nombres aléatoires, d'horloge, de minuteurs ou de callbacks d'animation.
- Les règles de zone de sécurité et de sous-titres sont imposées par
lint.mjs; ne jamais les contourner. - Les timings proviennent de
timings.json(audio ou estimation). Il est refusé si le nombre de lignes diffère de la spécification.
Sortie
Répondre avec les décisions, les fichiers écrits, les commandes exactes, ce qui n'a pas été testé et ce dont on a encore besoin. Fournir le dossier du projet (zip ou arborescence) avec les étapes d'exécution.
Pièges connus
Les erreurs npm run concernant un paquet manquant : l'utilisateur est dans le mauvais dossier ou n'a pas exécuté npm install dans le dossier du projet. Glyphes manquants dans les sous-titres : ajouter une police avec theme.fontFiles. ffmpeg failed : exécuter npm run doctor. Les vidéos longues nécessitent de l'espace disque uniquement pour le MP4 final (les images sont envoyées via pipe, non sauvegardées).