Que fait Reelsmith ?
Vidéos construites en code à partir d'une spécification unique : script → plan → validation → rendu template → révision → export.
Tout fonctionne gratuitement et hors ligne ; les clés optionnelles ajoutent des fonctionnalités. Les chemins ci-dessous (scripts/, templates/, references/) sont relatifs au dossier Reelsmith : à côté de ce fichier, ou /workspace/reelsmith/ sur une machine Grok Bot.
Démarrer chaque projet
python3 scripts/capabilities.py– affiche ce qui est ACTIF/INACTIF (n'affiche jamais les clés). Mentionnez, une fois, quelle clé gratuite serait utile (ex. Pexels pour les vidéos libres). N'en exigez jamais une.- Rassemblez : objectif, audience, plateforme(s), durée, marque (
brand.json; créez-en une :references/brand-kit.md), médias, préférence musicale, voix oui/non. Ne demandez que ce qui n'est pas clair. - Choisissez un template (ci-dessous) ou une construction personnalisée.
Aiguiller le projet
| Projet | Utilisation | Lire |
|---|---|---|
| Bande-annonce de lancement, annonce de fonctionnalité, promo | template product-launch (guidé par musique) | templates.md, music.md |
| Résumé d'événement à partir de photos | event-recap | templates.md, stock-media.md |
| Témoignages / avis clients | testimonial | templates.md |
| Teaser, « à venir », révélation de date (boucle) | countdown-teaser | templates.md |
| Chiffres, mise en avant de rapport, jalon | stat-callout | templates.md |
| Boucle stand/conférence/kiosque, présentation animée | slides-presentation (--loop) | templates.md |
| Tutoriel, guide pas à pas, onboarding (+ chapitres YouTube) | howto-tutorial | templates.md, youtube-publishing.md |
| Explication narrée de produit avec sous-titres | feature-explainer (Remotion ; render.sh) | remotion.md |
| Pièce cinétique personnalisée, overlay, alpha, GIF | HyperFrames à la main | hyperframes.md, motion-design.md |
| Schémas / maths, Lottie, montage automatique, transcription | Manim, Lottie, auto-editor, parakeet | helpers.md |
| Script ou lignes de VO | 2-3 options + script_lint.py | scriptwriting.md, voiceover.md |
| Sous-titres (SRT/VTT/ASS, incrustés) | captions.py | captions.md |
| Spécifications plateforme, zones de sécurité, fichiers de livraison | export.py, presets.json | platform-specs.md, loudness-accessibility.md |
| IA b-roll, images, avatars, musique IA (payant) | Fal / Higgsfield, d'abord un devis | ai-generation.md |
Licences : HyperFrames est Apache-2.0. Remotion est gratuit pour les particuliers et les équipes de 3 personnes maximum ; les entreprises de 4+ personnes ont besoin d'une licence (demandez une fois si usage commercial). Musique, médias, polices : sous licence, crédités (stock.py credit, credits.json).
Flux de travail
- Script : écrivez 2-3 options (accroche en 3 s, une idée par scène, CTA à la fin) à environ 2,5 mots/s ; vérifiez-les.
- Plan :
reelsmith.py sample TEMPLATE > content.json, remplissez-le, puisreelsmith.py render --template T --content content.json --brand brand.json --out OUT --dry-run. Affichez la liste des plans (scène, texte, VO, secondes), musique + licence, voix (gratuite ou devisée), formats. - Validation (toujours) avant les rendus longs et avant toute génération payante.
- Brouillon :
reelsmith.py render … --aspect 16x9,9x16,1x1 --music track.mp3|synth --vo auto --draft. - Portail de révision :
review.py check VIDEO --out OUT/_review --preset P --job OUT/job.json; examinez scenes.jpg, safe.jpg, phone.jpg ; corrigez ; envoyez l'aperçu ; sur l'approbation de l'utilisateur,review.py approve. - Final + export : rendu sans
--draft, puisexport.py run VIDEO --preset reels,tiktok,youtube --review OUT/_review --out OUT/delivery(refuse sans approbation). YouTube :youtube_prep.py(ne publie jamais). - Livraison : joignez les fichiers avec une ligne par fichier (format, durée, LUFS), crédits, mention IA ; proposez des rééditions.
Scripts (scripts/)
capabilities.py: fonctionnalités activées/désactivéesbrand.py: valider, empaqueter, depuis-logo, depuis-sitereelsmith.py: lister, générer un exemple, rendre, boucler, raccorderscript_lint.pybeats.py: grille, aligner, ajuster, synthétiserstock.py: rechercher, récupérer, créditer (clés API seulement,--dry-run)captions.py: construire/incrusterreview.py: vérifier, approuver, statutexport.py: exporter, overlay, lister, loudnormyoutube_prep.pypresets.json
Configuration HyperFrames et fixation : references/hyperframes.md. Kokoro a besoin de HYPERFRAMES_PYTHON=<venv>/bin/python.
Règles
- Les clés uniquement via le prompt secret de la plateforme comme variables d'environnement ; ne les affichez, ne les enregistrez et ne les écrivez jamais.
REELSMITH_IGNORE_KEYS=1force le chemin gratuit. - Voix/IA payante seulement lorsqu'elle est nommée +
--allow-paid+ clé présente + utilisateur a approuvé le devis. Un refus est définitif. - Médias exclusivement via les API officielles avec une clé ; jamais de scraping ou de hotlinking ; conservez les crédits.
- Citations réelles, logos et visages seulement avec permission ; les avatars et clones vocaux nécessitent un consentement ; mentionnez l'IA.
- Sous-titres sur tout contenu parlé ; texte dans les zones de sécurité ; au maximum 3 flashs/s ; -14 LUFS, au maximum -1 dBTP.
- Finitions Remotion :
export.py loudnorm(il ne normalise pas). - Ne publiez ni ne téléchargez jamais automatiquement ; préparez les fichiers pour l'utilisateur.
Échecs
- OOM :
--workers 2(HyperFrames) /--concurrency=2(Remotion). Chrome :$HF doctor/npx remotion browser ensure. - Image blanche HyperFrames : la timeline n'est pas en pause/enregistrée ou un mauvais chemin d'asset.
- Pas de librosa : les beats tombent en défaut sur un BPM fixe (passez
--bpm). - Pas de Kokoro : espeak-ng.
- 401 : redemandez la clé via le prompt secret.
Demander à l'utilisateur quand
- Validation du plan (toujours) ; choix du script ; choix de la voix ; plateforme, durée, marque ou musique flous ; toute génération payante (avec le devis) ; consentement pour un visage ou une voix ; approbation finale de la révision ; effectif Remotion si usage commercial.