Communitygithub.com

assafkip/claude-video-editor

Créez des vidéos à partir d'images fixes quand il n'y a rien à monter — narration d'abord (ElevenLabs v3 avec balises audio), puis images clés de n'importe quelle source (outils d'IA générative d'images, captures d'écran, photos, HTML rendu par HyperFrames), animées de manière déterministe avec la recette animate-stills (mouvements de caméra HyperFrames + atmosphère GSAP). Utilisez cette compétence lorsque l'utilisateur souhaite une vidéo explicative, documentaire, ou toute vidéo construite à partir de visuels générés ou collectés plutôt que de séquences enregistrées.

Qu'est-ce que claude-video-editor ?

Cette compétence pour agents IA (Claude Code, Cursor, Codex) permet de transformer des images fixes en vidéos animées de manière déterministe, idéale pour les vidéos explicatives ou documentaires lorsqu'aucune séquence vidéo préexistante n'est disponible. Le pipeline commence par générer la narration avec ElevenLabs v3 (en utilisant des balises audio pour l'expressivité), puis la transcrire pour obtenir des horodatages au niveau des mots qui définissent les fenêtres de scène. Les images clés peuvent provenir de n'importe quelle source : outils d'IA générative (Gemini, Midjourney, SD local), captures d'écran, photos ou même HTML rendu par HyperFrames. Chaque image clé est animée de manière déterministe via la recette animate-stills (mouvements de caméra Ken Burns, atmosphère GSAP), garantissant des rendus identiques à chaque exécution sans coût. La compétence prend en charge les légendes brûlées, les transitions, le contrôle qualité automatisé du mouvement et de l'audio, et fonctionne hors ligne avec Node >= 22.

Compatible avec✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/assafkip/claude-video-editor/tree/HEAD/skills/generate-footage

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

generate-footage

L'autre point d'entrée du plugin. video-use édite les séquences que vous AVEZ déjà. Cette compétence construit des vidéos à partir de séquences que vous n'avez PAS encore : narration plus images clés fixes, composées et animées par HyperFrames, rendues de manière déterministe.

Pipeline (éprouvé en production ; voir docs/rca/ pour savoir pourquoi l'étape de mouvement est déterministe) :

script (avec balises audio v3)
  → narration eleven_v3            (scripts/tts_v3.py)
  → transcrire                     (npx hyperframes transcribe narration.mp3)
  → verrouiller les fenêtres de scène aux limites de phrases (horodatages au niveau des mots)
  → IMAGES FIXES DE N'IMPORTE OÙ  (une image clé par scène — voir ci-dessous)
  → composition animate-stills     (recipes/04-animate-stills.md, build_scenes.py)
  → lint → rendu → QA mouvement + audio (scripts/motion_check.py, feuille de contact)

L'ordre compte : la voix D'ABORD, les visuels ENSUITE

Générez et transcrivez la narration AVANT de construire une composition ou de collecter des images clés. Les limites des phrases parlées sont les fenêtres de scène. Les lectures v3 ne sont pas déterministes en termes de rythme — une estimation de 120s peut donner 100s ou 166s — donc les visuels construits en premier sont toujours réajustés.

Voix-off — ElevenLabs v3 avec balises audio

scripts/tts_v3.py — uniquement stdlib, pas de dépendances pip. Clé depuis $ELEVENLABS_API_KEY ou le fichier skills/video-use/.env du plugin.

python3 scripts/tts_v3.py --probe                      # vérifier eleven_v3 + lister les voix
python3 scripts/tts_v3.py --voice <id> --stability 0.0 --script SCRIPT.md --out narration.mp3
  • Les balises audio sont placées dans le texte du script : [excited], [whispers], [softly], [dramatic tone], [warmly]. v3 les interprète ; v2 les ignore.
  • Stabilité : 0.0 = Créatif (expressivité maximale), 0.5 = Naturel, 1.0 = Robuste. Une lecture "plate" se corrige en abaissant la stabilité et en re-balises le script, pas en ajoutant des mots plus forts.
  • Leviers de livraison : MAJUSCULES sur les mots de puissance, ... pour les pauses dramatiques, contraste (passer à [whispers] juste avant une grande réplique).
  • Auditionnez 2-3 voix sur la première phrase avant de vous engager. La première voix n'est jamais le choix final.
  • v3 peut paraphraser légèrement. Transcrivez et LISEZ le résultat ; régénérez si une phrase clé a dérivé.

Images fixes de n'importe où

Une image clé est simplement un PNG. Le pipeline ne se soucie pas de sa provenance. Une image fixe par scène, nommée kf-NN.png, listée dans le manifeste de scène (recipes/04-animate-stills.md documente le schéma). Sources qui fonctionnent :

  • Outils d'IA générative d'images — tout outil texte-vers-image que vous possédez déjà (Gemini, GPT image, Midjourney, SD local, ou un acteur hébergé — voir la section optionnelle à la fin). Générez à partir de prompts par scène avec un suffixe de style verrouillé.
  • Captures d'écran et photos — captures d'interface produit, documents d'archive, photos réelles. Le traitement Ken Burns a été inventé pour cela.
  • HTML rendu par HyperFrames — construisez un cadre HTML stylisé et prenez une capture ; le moteur produit ses propres images fixes.

Règles de création qui s'appliquent quelle que soit la source :

  • Verrouillez UN style dans DESIGN.md et appliquez-le à chaque image. Un décalage entre les images se lit comme des plans différents une fois qu'il y a du mouvement et de l'étalonnage.
  • Vérifiez le type de fichier. Certains outils servent des JPEG avec des noms .png ; vérifiez les octets magiques avant de composer (file kf-01.png).
  • QA de chaque image (lisez l'image). Une image hors-style est à régénérer, pas à conserver. Vérifiez : artefacts de texte, filigranes, anachronismes, visages en gros plan (risque de dérive), mauvaise palette.
  • Pas de propriété intellectuelle nommée, pas de ressemblance avec une personne réelle dans les images générées pour tout ce qui est publié publiquement.

Animation — déterministe, dans le dépôt

Les images fixes deviennent du mouvement avec la recette animate-stills (recipes/04-animate-stills.md) : une composition HyperFrames pilotée par manifeste appliquant un langage de caméra (push-ins, dérives, plans fixes) et une atmosphère GSAP (brume, pluie, variations de lumière, vignette) sur chaque image fixe, les fenêtres de scène verrouillées sur la transcription. scripts/build_scenes.py génère les calques de scène à partir du manifeste ; scripts/motion_check.py prouve le mouvement réel via la différence de pixels dans le rendu final. Rendu identique à chaque exécution, ne coûte rien, fonctionne hors ligne.

Nécessite Node >= 22 pour l'interface CLI HyperFrames.

Sous-titres et assemblage

  • Sous-titres incrustés (lecture automatique muette sur Reddit/X), au niveau des phrases, synchronisés à partir des mots de la transcription.
  • Flash blanc (0,28 s) aux tournants narratifs ; fondus enchaînés doux ailleurs ; étalonnage vignette sombre qui unifie les images fixes de sources variées et rend les sous-titres lisibles.
  • Vérifiez le mouvement dans le rendu : différence de pixels entre deux images à 4s d'intervalle dans une même scène (scripts/motion_check.py — différence moyenne en gris > 3 = mouvement réel).
  • QA audio : ffmpeg -af volumedetect — la parole documentaire se situe près de -26 dB moyen.

Optionnel : outils génératifs hébergés

Ce ne sont PAS des dépendances. Ce sont une façon parmi d'autres d'obtenir des images fixes ou des clips, et ils peuvent disparaître sans préavis — planifiez en conséquence.

  • Les acteurs texte-vers-image d'Apify (par ex. akash9078/ai-image-generator, ~0,01 $/image) ont bien fonctionné pour la génération par lots d'images clés. Surveillez les échecs silencieux (ok:true avec une URL nulle) et les types de fichiers mal étiquetés.
  • Les acteurs hébergés image-vers-vidéo sont l'endroit où ce pipeline conservait auparavant son étape de mouvement. Le 11-06-2026, l'acteur danitn11/wan22-lightning-image-to-video (2 utilisateurs au total) est mort en amont en pleine production et chaque exécution a échoué instantanément ; l'analyse complète se trouve dans docs/rca/rca-generate-footage-animation-2026-06-11.md. L'image-vers-vidéo génératif réside désormais dans un dépôt compagnon séparé avec un backend BYO-key enfichable ; l'étape de mouvement de ce plugin est déterministe et locale.

Individual skills in this repo

This repo contains 9 individual skills — each has its own dedicated page.

assafkip/claude-video-editor

GSAP animation reference for HyperFrames. Covers gsap.to(), from(), fromTo(), easing, stagger, defaults, timelines (gsap.timeline(), position parameter, labels, nesting, playback), and performance (transforms, will-change, quickTo). Use when writing GSAP animations in HyperFrames compositions.

assafkip/claude-video-editor

HyperFrames CLI tool — hyperframes init, lint, preview, render, transcribe, tts, doctor, browser, info, upgrade, compositions, docs, benchmark. Use when scaffolding a project, linting or validating compositions, previewing in the studio, rendering to video, transcribing audio, generating TTS, or troubleshooting the HyperFrames environment.

assafkip/claude-video-editor

Install and wire registry blocks and components into HyperFrames compositions. Use when running hyperframes add, installing a block or component, wiring an installed item into index.html, or working with hyperframes.json. Covers the add command, install locations, block sub-composition wiring, component snippet merging, and registry discovery.

assafkip/claude-video-editor

Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML. Use when asked to build any HTML-based video content, add captions or subtitles synced to audio, generate text-to-speech narration, create audio-reactive animation (beat sync, glow, pulse driven by music), add animated text highlighting (marker sweeps, hand-drawn circles, burst lines, scribble, sketchout), or add transitions between scenes (crossfades, wipes, reveals, shader transitions). Covers composition authoring, timing, media, and the full video production workflow. For CLI commands (init, lint, preview, render, transcribe, tts) see the hyperframes-cli skill.

assafkip/claude-video-editor

Beginner-friendly end-to-end video creator for HyperFrames. Use when the user says "make a video", "create a video", "new video", "build a video", "video from scratch", "I want to make a video", "help me create a video", or when someone who's never used HyperFrames before arrives with a concept, script, or rough idea and wants a finished MP4. Interviews the user in one pass, then builds the full video with mandatory preview and visual-verification gates.

assafkip/claude-video-editor

Build and iterate short-form vertical (9:16) videos in Hyperframes — TikTok/Reels/Shorts style. Use when Nate says "short-form video", "vertical video", "TikTok/Reels/Shorts", "make a short", "talking-head + motion graphics", or when the target is a 1080x1920 composition with face video + synced scene overlays + karaoke captions. Encodes the full May Shorts 19 playbook: face-mode choreography, audio-synced scene timing, karaoke captions, and the 10-rule quality checklist.

assafkip/claude-video-editor

Edit any video by conversation — the orchestrator for the bundled video pipeline. Use when the user wants to edit, cut, caption, grade, or add motion graphics to footage; drops a folder of clips and says "edit this"; or asks to make a promo/teaser/tutorial/short. Routes to video-use (the cut engine) and HyperFrames (motion-graphics overlays), with a motion-craft library for taste.

assafkip/claude-video-editor

Production pipeline for mathematical and technical animations using Manim Community Edition. Creates 3Blue1Brown-style explainer videos, algorithm visualizations, equation derivations, architecture diagrams, and data stories. Use when users request: animated explanations, math animations, concept visualizations, algorithm walkthroughs, technical explainers, 3Blue1Brown style videos, or any programmatic animation with geometric/mathematical content.

assafkip/claude-video-editor

Capture a website and create a HyperFrames video from it. Use when: (1) a user provides a URL and wants a video, (2) someone says "capture this site", "turn this into a video", "make a promo from my site", (3) the user wants a social ad, product tour, or any video based on an existing website, (4) the user shares a link and asks for any kind of video content. Even if the user just pastes a URL — this is the skill to use.

Skills associés