Communitygithub.com

RayMorTwinkle/anytomanim

Erstelle narrativ gesteuerte Erklärvideos im 3Blue1Brown-Stil zu jedem Thema, Text, Paper oder Repository – mit dem `anytomanim` CLI-Toolchain. Audio-First-Pipeline: Die Narration steuert das Timing der Animationen, sodass Stimme und Bilder im Takt bleiben. Verwende, wenn du aufgefordert wirst, ein Konzept als Video zu erklären, ein Paper zu animieren, ein Tutorial zu erstellen oder einen Clip im 3b1b-Stil zu produzieren.

Was ist anytomanim?

AnyToManim ist ein CLI-Toolchain zur Erstellung von professionellen, narrativ gesteuerten Erklärvideos im Stil von 3Blue1Brown. Die Besonderheit liegt im Audio-First-Ansatz: Zuerst wird die Sprachausgabe (TTS) synthetisiert, dann die exakte Dauer gemessen und erst danach die Animationen passgenau darauf abgestimmt – so bleiben Stimme und Bilder in perfektem, beatgenauem Synchron. Der Workflow ist guide-gesteuert: Der Host-Agent erstellt nacheinander Brief, Beat-Sheet, Storyboard und Szenencode, während die CLI die deterministischen Schritte (TTS, Rendern, Zusammenfügen, Untertitel) übernimmt. Unterstützt werden mehrere Stimmen (Baihua, Moli, Milo) sowie die Sprachen Chinesisch und Englisch. Durch die Export-Funktion (`export-guides`) werden alle Spezifikationen und Schemas direkt im Projektverzeichnis bereitgestellt, sodass der Entwickler Schritt für Schritt geführt wird. Ein wichtiges Werkzeug ist `anytomanim preview`, das nach jedem Rendern eine detaillierte Vorschau mit Analyse von Überlappungen, Überläufen, eingefrorenen Beats und fehlenden Inhalten liefert. Ohne API-Key kann im Draft-Modus (`ANYTOMANIM_TTS=draft`) kostenneutral iteriert werden.

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

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

AnyToManim — CLI-Toolchain für narrativ gesteuerte 3b1b-Videos

Das Produkt ist ein CLI, kein API-Helfer. Du (der Host-Agent) übernimmst die kreativen Schritte – schreibst das Briefing, das Beat-Sheet, das Storyboard, den Szenencode – geleitet von den Spezifikationsdateien, die im Paket mitgeliefert werden. Das CLI erledigt alles Deterministische: TTS, Dauermessung, Rendern, Zusammenfügen.

Installation & Prüfung

pipx install anytomanim          # oder: pip install -e . in einer venv
anytomanim doctor                # meldet fehlende Abhängigkeiten + Reparaturhinweise

Arbeitsablauf — Spezifikation exportieren, befolgen

anytomanim export-guides ./guides   # WORKFLOW/DIGEST/SCRIPT/SCENE_GUIDE + Schema

Dann folge guides/WORKFLOW.md:

  1. Schreibe brief.md gemäß DIGEST.md
  2. Schreibe beats.json gemäß SCRIPT.md (+ beats-schema.json). Lies zuerst SCRIPT.md: Die Erzählung muss verknüpft sein, nicht aufgelistet.
  3. Lies ORCHESTRATION.md, dann schreibe storyboard.json gemäß STORYBOARD.md. Öffne die ausführbaren Rezepte für die Karten, die du auswählst. Führe anytomanim storyboard storyboard.json --beats beats.json aus und korrigiere.
  4. anytomanim tts --beats beats.json – synthetisiert jeden Beat, schreibt audio_file + echte audio_seconds zurück (erneutes Ausführen nach Bearbeitungen: nur geänderte Beats)
  5. Schreibe scenes/*.py gemäß SCENE_GUIDE.md (NarratedScene + MiMoService(beats_file=...), with self.voiceover(beat="b01") as tr). Folge dem Storyboard; beginne mit den passenden recipes/.
  6. anytomanim render scenes/X.py --quality ql – bei Fehler korrigieren und wiederholen
  7. anytomanim preview <mp4> – lies sheet.png und den beatweisen Bericht (Überlappungen, Überläufe, eingefrorene Beats, kleiner Inhalt, leere Bänder, ein fixierter Header, Bühnenszenenwechsel, die das Storyboard nicht erwähnt); korrigiere und rendere erneut, bis alles sauber ist
  8. Rendere --quality qh, anytomanim assemble a.mp4 b.mp4 -o final.mp4, anytomanim subtitles beats.json --mux final.mp4

Iteriere ohne Schlüssel / ohne Kosten: ANYTOMANIM_TTS=draft (lokale Stimme).

anytomanim run "<Thema>" existiert ebenfalls – ein eingebauter LLM-Referenztreiber für automatisierte Batch-Auswertung (erfordert einen LLM-API-Schlüssel; interaktive Agenten sollten stattdessen den guide-gesteuerten Ablauf verwenden).

Verträge

  • beats.json ist DIE Schnittstelle – öffentliche IR (Narration + Visual + audio_seconds).
  • Audio-First-Sync: synthetisieren → messen → jede run_time leitet sich aus tr.duration ab, und das Rendern spielt genau dieselben WAVs ab. Erfinde niemals Dauern.
  • Ein sauberes Rendern ist nicht fertig – sieh dir jedes Mal das Vorschaublatt an.
  • Kontinuität hat Vorrang. Bevor ein Objekt verschwindet, frage, ob es zum nächsten werden kann. Ausblenden und neuzeichnen ist das letzte Mittel.
  • Zeichne die Beziehung, wenn du kannst, anstatt sie als Label zu schreiben.
  • Stimmen: --voice baihua|moli|milo; klone deine eigene Stimme über assets/voice/<name>.mp3 + voices.json-Eintrag. zh + en werden unterstützt.
  • Siehe examples/ im Repository für vollständige End-to-End-Läufe.

Verwandte Skills