CLI HyperFrames
Tout se lance via npx hyperframes. Nécessite Node.js >= 22 et FFmpeg.
Workflow
- Scaffold —
npx hyperframes init ma-video - Écrire — rédiger la composition HTML (voir la compétence
hyperframes) - Linter —
npx hyperframes lint - Prévisualiser —
npx hyperframes preview - Rendre —
npx hyperframes render
Linter avant la prévisualisation — détecte les attributs data-composition-id manquants, les pistes qui se chevauchent, les timelines non enregistrées.
Scaffold
npx hyperframes init ma-video # assistant interactif
npx hyperframes init ma-video --example warm-grain # choisir un exemple
npx hyperframes init ma-video --video clip.mp4 # avec fichier vidéo
npx hyperframes init ma-video --audio track.mp3 # avec fichier audio
npx hyperframes init ma-video --non-interactive # ignorer les invites (CI/agents)
Modèles : blank, warm-grain, play-mode, swiss-grid, vignelli, decision-tree, kinetic-type, product-promo, nyt-graph.
init crée la structure de fichiers adaptée, copie les médias, transcrit l'audio avec Whisper et installe les compétences de codage IA. Utilisez-le plutôt que de créer les fichiers à la main.
Linting
npx hyperframes lint # répertoire courant
npx hyperframes lint ./mon-projet # projet spécifique
npx hyperframes lint --verbose # résultats de niveau info
npx hyperframes lint --json # lisible par machine
Analyse index.html et tous les fichiers dans compositions/. Signale les erreurs (à corrire impérativement), les avertissements (à corriger si possible) et les informations (avec --verbose).
Prévisualisation
npx hyperframes preview # servir le répertoire courant
npx hyperframes preview --port 4567 # port personnalisé (défaut 3002)
Recharge à chaud lors des modifications de fichiers. Ouvre le studio automatiquement dans le navigateur.
Rendu
npx hyperframes render # MP4 standard
npx hyperframes render --output final.mp4 # fichier de sortie nommé
npx hyperframes render --quality draft # itération rapide
npx hyperframes render --fps 60 --quality high # livraison finale
npx hyperframes render --format webm # WebM transparent
npx hyperframes render --docker # sortie identique octet par octet
| Option | Valeurs | Défaut | Notes |
|---|---|---|---|
--output | chemin | renders/nom_timestamp.mp4 | Chemin de sortie |
--fps | 24, 30, 60 | 30 | Le 60fps double le temps |
--quality | draft, standard, high | standard | draft pour itérer |
--format | mp4, webm | mp4 | WebM supporte la transparence |
--workers | 1-8 ou auto | auto | Chacun lance Chrome |
--docker | drapeau | désactivé | Sortie reproductible |
--gpu | drapeau | désactivé | Encodage accéléré par GPU |
--strict | drapeau | désactivé | Échouer sur les erreurs |
--strict-all | drapeau | désactivé | Échouer sur erreurs ET avertissements |
Guide qualité : draft pendant l'itération, standard pour la révision, high pour la livraison finale.
Transcription
npx hyperframes transcribe audio.mp3
npx hyperframes transcribe video.mp4 --model medium.en --language en
npx hyperframes transcribe subtitles.srt # importer un fichier existant
npx hyperframes transcribe subtitles.vtt
npx hyperframes transcribe openai-response.json
Synthèse vocale (TTS)
npx hyperframes tts "Texte ici" --voice af_nova --output narration.wav
npx hyperframes tts script.txt --voice bf_emma
npx hyperframes tts --list # afficher toutes les voix
Dépannage
npx hyperframes doctor # vérifier l'environnement (Chrome, FFmpeg, Node, mémoire)
npx hyperframes browser # gérer le Chrome intégré
npx hyperframes info # version et détails de l'environnement
npx hyperframes upgrade # vérifier les mises à jour
Exécutez doctor en premier si le rendu échoue. Problèmes courants : FFmpeg manquant, Chrome manquant, mémoire insuffisante.
Autres
npx hyperframes compositions # lister les compositions du projet
npx hyperframes docs # ouvrir la documentation
npx hyperframes benchmark . # mesurer les performances de rendu