Communitygithub.com

Code-Video-Infinite

L'entrée unique pour créer des vidéos avec du code : une simple requête → un MP4 finalisé + le code source modifiable. Intègre cinq moteurs (onetake, video-shotcraft, claude-motion, mg-motion, wise-motion) et 880 ressources recherchables.

Qu'est-ce que Code-Video-Infinite ?

Code-Video-Infinite est un skill unifié pour les agents IA (tels que Claude Code) spécialisé dans la génération de vidéos de motion design, de vidéos produit, de teasers, de démonstrations de fonctionnalités et plus encore – le tout à partir de code source. Contrairement aux outils de génération vidéo basés sur l'IA, ce skill fonctionne en écrivant du code (HTML/CSS/JavaScript/Remotion) et en le rendant image par image avec des navigateurs headless ou ffmpeg. Il combine cinq moteurs distincts (onetake, shotcraft, claude-motion, mg-motion, wise-motion) qui offrent chacun des capacités différentes : prises uniques cinématiques avec flou de mouvement, captures de page réelles avec 124 cartes de plans, animations 3D et papercraft personnalisées en code pur, 15 styles de motion graphics, et une bibliothèque de 462 effets réutilisables. Le skill impose un pipeline en six étapes, trois contrôles qualité (machine, images clés, évaluation esthétique par un sous-agent indépendant) et une série de règles strictes pour éviter les rendus « comme PowerPoint », sans rythme ou sans cohérence. Chaque vidéo produite peut être cherchée, modifiée et re-rendue sans dévier de la version précédente, car chaque frame est une fonction pure du temps. Il est idéal pour les développeurs et designers qui souhaitent produire des vidéos professionnelles, reproductibles et entièrement contrôlables par code, mais déconseillé pour le montage vidéo réel, les longs formats ou les logos de marque.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add siweimidu/Code-Video-Infinite

Demander à votre IA préférée

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

Documentation

Que fait Code-Video-Infinite ?

L'image n'est pas « générée », elle est « écrite ». » Ici, pas de modèle de génération d'image ou de vidéo : une vidéo est soit une page web, soit un projet Remotion. On lui donne un temps t, elle dessine cette image ; un navigateur headless ou Remotion rend image par image, ffmpeg assemble l'audio et la vidéo. Le son peut aussi être synthétisé par code. Ainsi, chaque vidéo peut être cherchée arbitrairement, re-rendue, et une modification ne fera pas déviter la version précédente.

Ce skill est la fusion de cinq moteurs : une entrée, un pipeline, trois contrôles qualité, chaque moteur conserve sa documentation complète et ses ressources.

0 · Avant de commencer, exécutez ces deux commandes (30 secondes, ne les sautez pas)

node scripts/doctor.mjs          # Environnement : Node / ffmpeg / ffprobe / Python / Chrome / les cinq moteurs sont-ils complets ?
node scripts/find.mjs --stats    # Catalogue : 880 ressources comptées par source et collection

Si doctor affiche FAIL, corrigez d'abord votre environnement avant de créer. Si Chrome manque, installez Chrome ou npx playwright install chromium ; sous Windows, si npm est bloqué par une stratégie d'exécution, utilisez npm.cmd.

1 · D'abord, choisissez le moteur, ensuite le style

Le moteur est déterminé par le besoin de l'utilisateur, pas par la richesse du catalogue. Une vidéo utilise un seul moteur principal par défaut ; un second moteur ne sert qu'à emprunter des ressources.

À quoi ressemble le besoinMoteurSa forceCe qu'il faut payer pour l'utiliser
Vidéo produit / lancement / compétence de 15 à 30 secondes, avec rythme, travelling cinématique, qui ne ressemble pas à « PowerPoint »onetakeComposition HTML unique, flou de mouvement réel avec obturateur, effets sonores synthétisés, oracle de rythme et de transitionPython + Chrome ; rendu 4K60 lent (prévenez d'abord)
Vidéo produit, ambiance cinématique, capture de page web réelle, narration multi-caméras, reprise dans Jianying, publication sur les réseaux sociauxshotcraft124 cartes de plans + modèle Ink Press + capture de page réelle + sélection audio Freesound + atelierNode + Remotion (installation npm) ; Remotion a une licence indépendante
Formes, matériaux, objets 3D spécifiques, personnages et animaux, dessin/papier découpé, scènes directement exécutablesclaude-motion47 études de cas + 20 composants sources + 30 modèles d'objets + 14 points de départ de scènes, code source fidèle plutôt qu'étiquettes de styleNode ≥ 22 + Playwright Chromium + ffmpeg ; volume de ressources important
Style motion design (plat / line art / isométrique / rendu 3D / image par image / collage / liquide / morphing / Bauhaus / Synthwave / verre / lettrage / sticker / pixel / HUD cyber)mg-motion15 techniques de signature vérifiables + pack d'outils de 103 échantillons musicaux + 10 contrôles machine + deux rounds d'évaluationChrome (MG_CHROME) + ffmpeg + polices auto-approvisionnées
Récupérer le code source réel d'un mouvement, d'une transition ou d'un effet de texte pour l'utiliser dans un autre projetwise-motion462 entrées d'effets, aperçus, accès au code source réel et scripts d'exportationFournit uniquement les ressources, ne conçoit pas l'ensemble de la vidéo

Les détails de routage, les combinaisons refusées et les limites explicites de chaque moteur se trouvent dans references/engine-selection.md.

Recherchez toutes les ressources avec la même commande (à travers les cinq moteurs) :

node scripts/find.mjs "HUD radar"
node scripts/find.mjs "café dessin main" --limit 5
node scripts/find.mjs fade --source wise-motion
node scripts/find.mjs "titre entrée" --collection shot-card --json

2 · Pipeline en six étapes (ordre fixe, on peut supprimer des étapes mais pas sauter les contrôles)

ÉtapeQuoi faireDocumentation approfondie
0 BesoinClarifier les spécifications de livraison (durée / format / fps / voix off ou sous-titres / langue), sources des ressources, public cible et plateforme de publication ; demander tout en une fois, pas question par questionreferences/pipeline.md §0
1 RéférenceS'il y a une vidéo de référence, l'analyser en pratique : énergigramme, points de coupe, proportion de silence, t80 et flou de mouvement (onetake analyze_ref.py) ; sans référence, écrire la prochaine série d'objectifs numériques vérifiablesreferences/motion-grammar.md
2 ConceptTrois idées centrales différentes, l'utilisateur en choisit une ; sélectionner en même temps le look/style par son nom, sans utiliser de paramètre par défaut en silenceonetake §2 / mg-motion §2
3 Rythme et transitionConcevoir le storyboard avec le rythme et la transition comme deux jambes : pas de plans de durée égale, pas de remplacement d'un beat par le suivantreferences/motion-grammar.md
4 Ressources et plansCapture de page réelle / reconstitution d'interface utilisateur depuis une capture d'écran / modèles d'objets / cartes de plans / entrées d'effets ; prendre d'abord le plus petit extrait exécutableENGINE.md de chaque moteur
5 ImplémentationChaque image est une fonction pure du temps ; les mouvements sont choisis dans la bibliothèque, les courbes sont définies selon t80 ; sortir d'abord une image fixe, puis la vidéo entièreENGINE.md de chaque moteur
6 Rendu et livraisonBrouillon 1080p30 → validation → version finale 4K60 ; passer les trois contrôles qualité ; rapporter selon le contrat de livraisonreferences/delivery.md

3 · Règles absolues (fusion des cinq moteurs, dédoublonnées, chacune est une leçon apprise)

  1. Chaque image ne dépend que de t. Interdiction de Date.now(), de rAF accumulant un état, d'animations CSS déclenchées par un état ; utiliser un générateur pseudo-aléatoire avec une graine fixe.
  2. Ne pas confondre l'histoire du modèle avec celle de l'utilisateur. Choix du concept parmi trois ; si une nouvelle vidéo reprend le beat d'un modèle, elle sera lue comme un modèle.
  3. Ne pas transporter le look de la vidéo précédente dans la suivante. Le look/style doit être choisi par son nom, pas par défaut silencieux.
  4. Ne pas couper à intervalles égaux comme un métronome. Des plans de durée égale, même réussis individuellement, sont lus comme un diaporama.
  5. Ne pas remplacer un beat, il faut le prolonger. À chaque frontière de section, quelque chose doit survivre et se déplacer/redimensionner visiblement dans la section suivante ; les scènes mutuellement exclusives (changement de page avec display:none), même avec un rythme parfait, restent un PowerPoint. Exception pour les coupes franches d'impact et les cartes de fin.
  6. L'espace vide est la condition d'un impact. Dans une vidéo de référence, environ 1/3 du temps est statique ; ne jamais s'arrêter = pas de climax.
  7. Petit élément, grand arrière-plan. Dans ce type de vidéo, 70 % du cadre est souvent blanc / de couleur de fond ; un écran plein est une exception, pas la norme.
  8. La cause doit être visible. La main qui dessine le chemin d'enregistrement, la balle qui tombe, le point qui se divise — si la page bouge toute seule, elle est lue comme un économiseur d'écran.
  9. Un mouvement rapide doit avoir un obturateur. Au-delà d'environ 80 px/image, sans flou de mouvement, cela créera un scintillement et des images rémanentes ; utiliser l'obturateur du moteur de rendu, pas le flou CSS.
  10. La caméra doit suivre le sujet principal. Une caméra fixe sera évaluée comme « il manque un travelling dynamique » ; déclarez inFrame, laissez la caméra accuser un retard, s'incliner, puis se stabiliser.
  11. Brouillon en 1080p30. Ne pas rendre en 4K60 tant que le montage n'est pas accepté.
  12. Pas de particules, de confettis ou de débris décoratifs. Cela se lit comme un modèle ; pour faire de l'effet, laissez les lettres tomber toutes seules.
  13. Le son : une seule pièce, un seul matériau. Un événement par piste sonore = une version audio du diaporama.
  14. Ne pas falsifier : une vidéo qui n'a pas été rendue n'est pas une reproduction, une vidéo sans son n'est pas une vidéo sonore, une approbation technique ne signifie pas une qualité esthétique.

4 · Trois contrôles qualité, indispensables

ContrôleQui jugeQuoi jugerQue faire si échoué
Contrôle machinenode scripts/qc.mjs gate <video>Durée / format / fps / présence de piste audio / LUFS / vrai pic / images noires / proportion d'images statiquesModifier la vidéo et re-rendre, pas modifier la norme
Contrôle d'images clésVous-même read_image6 à 10 images clés peuvent-elles servir d'affiche ? Composition / profondeur / espace vide / typographieRe-composer le cadre
Contrôle d'évaluationSous-agent indépendant avec contexte propreScore sur 7 dimensions + liste de modifications avec numéros d'image ; après modification, une nouvelle évaluationModifier par ordre d'impact

Le contrôle machine ne mesure que ce qu'une machine peut mesurer ; l'esthétique est entièrement confiée à une évaluation indépendante, l'auto-vérification du créateur est sujette à un biais de confirmation. Les contrôles propres à chaque moteur (mg-qc.mjs, verify_promo.py, final-review.md, jury.md) avec leur utilisation et leurs critères se trouvent dans references/quality-gates.md.

5 · Son

  • Objectif : une seule pièce, un seul matériau, nombre d'événements inférieur au nombre de beats ; la musique ne doit utiliser par défaut que des morceaux autorisés pour un usage commercial, et être comptabilisée.
  • Valeurs cibles courantes : −14 LUFS (réseaux sociaux / web), −16 LUFS (long métrage / podcast), vrai pic ≤ −1 dBTP (le codage AAC remonte encore) ; pour plus de marge, viser −3.5.
  • Outils prêts à l'emploi des trois moteurs : onetake sfx_palette.py / score.py (synthèse + mixage enregistré), mg-motion audio.py + 103 échantillons, shotcraft sound-design.md + sfx-source.py (Freesound, CC0 par défaut).
  • Détails et limites de licence dans references/sound.md.

6 · Contrat de livraison

Chaque vidéo doit comporter ces sept éléments (un élément manquant = pas fini) : concept en deux phrases / beat sheet avec timecodes / correspondance une par une des techniques de signature / quels styles utilisés et comment ils sont transmis / feuille de route technique / chiffres mesurés (durée format fps LUFS vrai pic images noires proportion d'images statiques) / top-3 honnête des points faibles.

Livrables supplémentaires par moteur : onetake multi-langue de même source (?lang= sans bifurcation), claude-motion ADAPTATION.md (conservation / réécriture / licence / problèmes non résolus), shotcraft atelier d'effets et projet Jianying, mg-motion répertoire de versions v1/ v2/. Voir references/delivery.md.

7 · Arborescence

Code-Video-Infinite.skill/
├── SKILL.md                  # Ce fichier : routage + règles + contrôles + livraison
├── README.md                 # Pour les humains : quels sont les cinq moteurs, comment installer, table des licences
├── LICENSES.md               # Licence par moteur et déclarations tierces
├── references/               # Connaissances partagées après fusion (nouveau contenu ici, uniquement jugements inter-moteurs)
│   ├── engine-selection.md   # Matrice de décision et limites
│   ├── pipeline.md           # Chaque étape du pipeline en six étapes
│   ├── motion-grammar.md     # Vocabulaire unifié du rythme/courbes/transition/travelling
│   ├── sound.md              # Son et limites de licence
│   ├── quality-gates.md      # Critères des trois contrôles qualité
│   ├── delivery.md           # Contrat de livraison
│   ├── assets-and-licenses.md# Où sont les ressources, peuvent-elles être redistribuées
│   └── provenance.md         # Cinq sources, versions, ce que la fusion a fait
├── catalog/
│   ├── INDEX.md              # Liste des 880 ressources (générée)
│   ├── index.json            # Version lisible par machine des mêmes données
│   └── assets-index.json     # Liste des 537 ressources lourdes
├── scripts/
│   ├── doctor.mjs            # Auto-vérification de l'environnement
│   ├── find.mjs              # Recherche inter-moteurs
│   ├── qc.mjs                # Contrôle machine unifié (measure / gate / delegate)
│   ├── build-catalog.mjs     # Reconstruction de l'index
│   └── check-links.mjs       # Vérification des liens entre documents
└── engines/                  # Les cinq moteurs conservés intacts (avec leur documentation / ressources / licences)
    ├── onetake/       ENGINE.md + lib/motion.js + scripts/ + looks/ + cases/
    ├── shotcraft/     ENGINE.md + references/shots(124) + template/ + demos/ + assets/
    ├── claude-motion/ ENGINE.md + references/*.json + assets/{cases,extensions,models,scenes}
    ├── mg-motion/     ENGINE.md + mg-styles-15/{harness,assets} + references/ + scripts/
    └── wise-motion/   ENGINE.md + catalog/registry.json + references/effects(462) + scripts/

8 · Quand lire quel fichier

QuandLire
Vous ne savez pas quel moteur utiliserreferences/engine-selection.md
Vous voulez commencer, besoin des actions et commandes concrètes par étapereferences/pipeline.md
Le rythme ne va pas, ça ressemble à PowerPoint, les mouvements sont trop mous ou trop dursreferences/motion-grammar.md
Voix off / effets sonores / musique / volume sonorereferences/sound.md
La vidéo est terminée, vous avez peur de ne pas passer les contrôlesreferences/quality-gates.md
Vous devez livrer la vidéo, faire un rapport, ou modifier encorereferences/delivery.md
Vous utilisez une ressource d'un moteur, pas sûr de pouvoir l'utiliser en commercereferences/assets-and-licenses.md
Vous voulez mettre à jour un moteur ou vous renseigner sur ses originesreferences/provenance.md
Documentation approfondie d'un moteur (seule autorité)engines/<engine>/ENGINE.md et ses references/

9 · Licences et limites des ressources (en résumé)

Les licences des cinq moteurs sont différentes, le dépôt fusionné ne modifie pas leurs licences respectives : onetake est sous PolyForm Noncommercial (gratuit pour usage non commercial), wise-motion sous Apache-2.0, claude-motion et le moteur amont mg-styles-15 sont sous MIT (les actifs tiers conservent leurs licences respectives), shotcraft a sa propre licence et Remotion a une licence indépendante supplémentaire (l'utilisation commerciale en entreprise nécessite une vérification personnelle). Les autorisations pour les polices, les modèles, les effets sonores et les BGM sont détaillées une par une dans references/assets-and-licenses.md et dans les LICENSE / ATTRIBUTION / NOTICE de chaque moteur. Les noms de marque sont toujours fictifs, n'utilisez pas de vraies marques déposées.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills associés