Communitygithub.com

AnyToManim

Générez des vidéos explicatives narrées, style 3Blue1Brown, à partir de n'importe quel sujet, texte, article ou dépôt — via l'outil en ligne de commande `anytomanim`. Pipeline audio d'abord : la narration pilote le timing des animations, garantissant une synchronisation parfaite entre la voix et les visuels. Utilisez-le pour expliquer un concept en vidéo, animer un article, créer un tutoriel ou produire un clip de type 3b1b.

Qu'est-ce que AnyToManim ?

AnyToManim est une chaîne d'outils en ligne de commande (CLI) destinée aux agents d'IA, qui permet de produire des vidéos explicatives animées dans le style emblématique de 3Blue1Brown. L'approche est résolument «audio d'abord» : la narration est synthétisée, puis chaque mot prononcé détermine la durée des scènes animées, assurant une synchronisation précise entre la voix et les éléments visuels. Le flux de travail guidé demande à l'agent de rédiger un script, un storyboard, et des scènes en Python (Manim), tandis que la CLI gère les étapes déterministes comme la synthèse vocale, la mesure des durées, le rendu et l'assemblage. Le système prend en charge les voix en chinois et en anglais, et permet le clonage vocal personnalisé. Il offre également des capacités de prévisualisation détaillée (superpositions, problèmes de synchronisation, contenu figé) et un mode «draft» local gratuit pour itérer sans clé API. Utilisé via un guide exporté ou une commande automatisée `run`, AnyToManim transforme n'importe quel concept ou article en une vidéo animée professionnelle.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/RayMorTwinkle/AnyToManim/tree/HEAD/skills/anytomanim

Demander à votre IA préférée

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

Documentation

AnyToManim — Chaîne d'outils CLI pour vidéos narrées de type 3b1b

Le produit est une CLI, pas une API. Vous (l'agent hôte) réalisez les étapes créatives — rédigez le brief, la feuille de rythme, le storyboard, le code des scènes — guidé par les fichiers de spécifications fournis dans le package. La CLI gère tout ce qui est déterministe : synthèse vocale, mesure de durée, rendu, concaténation.

Installation & vérification

pipx install anytomanim          # ou : pip install -e . dans un environnement virtuel
anytomanim doctor                # signale les dépendances manquantes + des conseils de correction

Flux de travail — exporter les guides, les suivre

anytomanim export-guides ./guides   # WORKFLOW/DIGEST/SCRIPT/SCENE_GUIDE + schémas

Ensuite, suivez guides/WORKFLOW.md :

  1. Rédigez brief.md selon DIGEST.md
  2. Rédigez beats.json selon SCRIPT.md (+ beats-schema.json). Lisez SCRIPT.md d'abord : la narration doit s'enchaîner, pas faire une liste.
  3. Lisez ORCHESTRATION.md, puis rédigez storyboard.json selon STORYBOARD.md. Ouvrez les recettes exécutables pour les cartes que vous choisissez. Exécutez anytomanim storyboard storyboard.json --beats beats.json et corrigez.
  4. anytomanim tts --beats beats.json — synthétise chaque segment, écrit audio_file + audio_seconds réels (réexécution après modifications : seuls les segments modifiés)
  5. Écrivez les fichiers scenes/*.py selon SCENE_GUIDE.md (NarratedScene + MiMoService(beats_file=...), avec with self.voiceover(beat="b01") as tr). Suivez le storyboard ; partez des recipes/ correspondantes.
  6. anytomanim render scenes/X.py --quality ql — corrigez & réessayez en cas d'erreur
  7. anytomanim preview <mp4> — lisez sheet.png et le rapport par segment (chevauchements, dépassements de durée, segments figés, contenu petit, bandes vides, en-tête fixe, changements d'étape non mentionnés dans le storyboard) ; corrigez et relancez le rendu jusqu'à propreté
  8. Rendu --quality qh, anytomanim assemble a.mp4 b.mp4 -o final.mp4, anytomanim subtitles beats.json --mux final.mp4

Itérez sans clé / sans coût : ANYTOMANIM_TTS=draft (voix locale).

anytomanim run "<sujet>" existe aussi — un pilote de référence avec LLM intégré pour évaluation par lots automatisée (nécessite une clé API LLM ; les agents interactifs doivent utiliser le flux guidé à la place).

Contrats

  • beats.json est LA structure d'interface — IR publique (narration + visuel + audio_seconds).
  • Synchronisation audio d'abord : synthétisez → mesurez → chaque run_time découle de tr.duration, et le rendu rejoue exactement ces fichiers wav. N'inventez jamais de durées.
  • Un rendu propre n'est pas terminé — examinez la feuille de prévisualisation à chaque fois.
  • La continuité vient en premier. Avant qu'un objet ne disparaisse, demandez-vous s'il peut devenir l'élément suivant. La disparition progressive et le redessin sont le dernier recours.
  • Dessinez la relation lorsque c'est possible, plutôt que de l'écrire comme une étiquette.
  • Voix : --voice baihua|moli|milo ; clonez votre propre voix via assets/voice/<nom>.mp3 + entrée dans voices.json. Zh + en pris en charge.
  • Voir examples/ dans le dépôt pour des exemples complets de bout en bout.

Skills associés