Communitygithub.com

NoRoboto/toon-explainer

Erzeuge Cel-Shading-3D-Erklärvideos aus einem storyboard.json mit headless Blender – Cartoon-Stil, flache Farben, schwarze Konturen, fliegende Objekte, bewegte Kamera, große Untertitel.

Was ist toon-explainer?

Diese Fähigkeit verwandelt ein textbasiertes Storyboard (storyboard.json) in ein Cel-Shading-3D-Erklärvideo, komplett in Blender generiert – ohne Bild- oder Video-KI. Sie eignet sich perfekt für kurze Erklärclips (8–30 Sekunden), wie sie in Social-Media-Videos oder technischen Demos vorkommen. Der Workflow beginnt mit der Erstellung des JSON-Storyboards (Objekte, Szenen, Kamerafahrten, Aktionen, Audio). Anschließend rendert headless Blender mit Freestyle-Konturen und flachen Farben Einzelbilder oder eine Vorschau. Vor dem finalen Render wird die Bildkomposition durch Kontaktabzüge geprüft und bei Bedarf im JSON korrigiert. Sprachaufnahmen, Musik, Soundeffekte und Untertitel werden in einem Post-Processing-Schritt hinzugefügt – die Audiosektion nutzt Aktionsreferenzen für punktgenaue SFX. Die Fähigkeit unterstützt Plattformen wie Claude Code, Cursor und Codex und zielt darauf ab, den gesamten Animationsprozess zu automatisieren, wobei Blender-Voreinstellungen für Objekte, Kameraeinstellungen und Styling genutzt werden.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/NoRoboto/claude-skills/tree/HEAD/toon-explainer

In Ihrer bevorzugten KI fragen

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

Dokumentation

Aktivierungsvertrag

Lade, wenn der Benutzer einen Cartoon-/Cel-Shading-3D-Erklärclip wünscht (flache Farben, schwarze Konturen, Objekte, die einfliegen, bewegte Kamera, große Untertitel), einen „Stupy Doo“-Stil reproduzieren möchte oder ein Diagramm in Blender aus Text animieren lassen will.

Harte Regeln

  • Die Bilder niemals mit einem Bild-/Video-KI-Modell erzeugen. Der Look ist 3D-Geometrie + Freestyle-Konturen, gerendert von Blender.
  • Blender-Binär: ~/.local/bin/blender (5.1.x, benutzerspezifische Installation). Immer headless ausführen mit -b -P.
  • Das Storyboard ist die einzige Quelle der Wahrheit: storyboard.json (Schema in references/storyboard-schema.md). JSON bearbeiten, neu rendern. Niemals die .blend-Datei von Hand bearbeiten.
  • Vor dem Rendern des gesamten Videos immer einen Blick darauf werfen: --stills bei 3–5 Zeitpunkten rendern, ein Kontaktabzugsblatt erstellen, es lesen, Überlappungen / außerhalb der Kamera liegende Objekte korrigieren.
  • Untertitel und Audio sind Post-Processing (mix.py, captions.py), niemals Blender-Textobjekte.
  • Soundeffekte landen auf Aktionszeitpunkten via action:-Referenzen im audio-Abschnitt. Niemals Sekunden von Hand eingeben, wenn eine Aktion existiert.
  • Erzählung auf Spanisch bleibt neutral. UI-/Untertiteltext folgt der Sprache des Benutzers.
  • Clips kurz halten: 8–30 s pro Storyboard. Für längere Videos Clips mit ffmpeg concat verketten.

Entscheidungsgatter

BedarfAktion
Erzähltes VideoZuerst Erzählung, dann Untertitel darauf getimt, dann animieren. Stimme via voice-video (tts.py) in audio.narration.
SFX / Musikaudio-Abschnitt: narration, music, sfx mit action:-Referenzen. Platzhalter in assets/sfx/, CC0-Quellen in dessen README.
Musik bereitgestelltbeats.py snap storyboard.json --music track.mp3 --write vor den Stillleben.
Schnelle Sichtprüfung--preview --stills t1,t2,t3 (halbe Auflösung, 8 Samples).
Finaler RenderKein --preview; Standard 1080x1920, 30 fps.
Objekt nicht in VoreinstellungenVoreinstellungen: box, plane, cylinder, sphere, panel, panel_row, cable, device, car, charger, transformer, cloud, tree, pole. Sonst Primitive oder model (glb/obj).
Bild sieht billig ausEin Motiv pro Einstellung, Kamera 8–13 m, Baum/Pole/Wolke-Dressing, Kabel draw dann flow. Siehe references/style-notes.md.
Manueller Eingriff gewünscht--blend hinzufügen, out/scene.blend in der Blender-Benutzeroberfläche öffnen.

Ausführungsschritte

  1. references/storyboard-schema.md und references/style-notes.md lesen.
  2. Ein kleines gen.py schreiben, das <workdir>/storyboard.json erzeugt: Objekte auf einer Grundebene bei z=0, Einstellungen (jeweils ein Motiv), Aktionen, Untertitel, post, audio.
  3. Stillleben: ~/.local/bin/blender -b -P ~/.claude/skills/toon-explainer/assets/build.py -- storyboard.json out --preview --stills 1,3,5. Mit Pillow ein Kontaktabzugsblatt erstellen und lesen.
  4. Bildausschnitt und Timing im JSON korrigieren. Schritt 3 wiederholen, bis jede Einstellung klar lesbar ist.
  5. Vorschauvideo: Gleicher Befehl mit nur --preview. out/raw.mp4 mit ffprobe überprüfen (Dauer, fps).
  6. Audio (falls audio vorhanden): python3 ~/.claude/skills/toon-explainer/assets/mix.py storyboard.json out/mix.wav. Die Cue-Tabelle lesen.
  7. Untertitel + Mux: python3 ~/.claude/skills/toon-explainer/assets/captions.py storyboard.json out/raw.mp4 out/final.mp4 --audio out/mix.wav (oder --audio narration.wav ohne audio).
  8. Final: --preview entfernen, Schritte 5–7 erneut ausführen. out/final.mp4 mit xdg-open öffnen.

Ausgabevertrag

Zurückgeben: Pfad des storyboard.json, Pfad des out/final.mp4, Dauer, Auflösung und eine Zeile pro Einstellung, die beschreibt, was auf dem Bildschirm zu sehen ist. Renderzeit melden. Alles auflisten, was noch nicht implementiert ist (Lippensynchronisation, Multi-Clip-Concat).

Referenzen

  • references/storyboard-schema.md — JSON-Schema, Voreinstellungen, Aktionen, Kamerakonventionen.
  • references/style-notes.md — Referenz-Look, Blender-5-Fallen, was den billigen Look behoben hat, Sounddesign.
  • references/external/ — MIT-Kopien: EL4CTEO blender-stylized-npr, arjun988 camera-cinematography.
  • assets/toonlib.py — bpy-Bibliothek (Materialien, Voreinstellungen, Kamera, Animationen).
  • assets/build.py — Storyboard → Blender-Render.
  • assets/mix.py — audio-Abschnitt in eine WAV-Datei (geduckte Musik, SFX-Cues).
  • assets/beats.py — Beat-Erkennung + Snap-Aktionszeiten.
  • assets/sfx/ — Platzhalter-SFX, CC0-Quellen.
  • assets/captions.py — ffmpeg-Untertitel + Audio-Mux.
  • assets/storyboard.example.json — Solar-Dachbeispiel, 9 s.

Verwandte Skills