Communitygithub.com

JAYANTCH1797/animate

Erstelle eine fertige kurze Animation, die vollständig als Code gezeichnet wurde, mit einem synthetischen Soundtrack, basierend auf beliebig vielen Referenzbildern oder -videos und einer groben Idee. Drei Aufgaben: animiere ein geliefertes Standbild, übermale eine Referenz als bewegte Szene oder erstelle einen neuen Film zu einem Thema im Stil der Referenzen (Erklärvideos, animierte Geschichten, Motion Graphics, Schleifen).

Was ist animate?

Der Skill 'JAYANTCH1797/animate' ermöglicht es einem KI-Agenten, aus groben Ideen und Referenzmaterial vollständig in Code gezeichnete Animationen mit synthetischem Sound zu erstellen. Er ist für Plattformen wie Claude Code, Cursor oder Codex konzipiert und führt den Benutzer durch fünf Phasen: Referenzstudie, Beat-Erstellung, visueller Aufbau (in HTML/Canvas), Sounddesign und finale Wiedergabe. Der Skill unterstützt drei Auftragstypen: das Animieren eines Standbilds durch Schichtung und Bewegung, das originalgetreue Nachzeichnen einer Referenzszene oder die Erstellung eines neuen Films im Stil der Referenzen. Er legt Wert auf künstlerische Entscheidungen durch den Agenten, minimale Benutzereingaben und eine strukturierte Projektorganisation in einem `animations/<slug>/`-Verzeichnis. Besondere Stärken liegen in Vektorgrafiken, Linienkunst, Farbverläufen und Texturen wie Papierschnitt oder Aquarell, während Photorealismus und Gesichter vermieden werden. Der Workflow umfasst automatische Skripte für Studien, Rendervergleiche und Qualitätskontrolle, die Fehler wie tote Strecken oder Ruckler erkennen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/JAYANTCH1797/animate-skill/tree/HEAD

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht animate?

Wandle Referenzen und eine grobe Idee in ein MP4 um, bei dem jedes Bild von Code gezeichnet wird und der Ton synthetisch ist. Der Benutzer bringt Geschmack; du übernimmst die Regie. Eine grobe Vorgabe reicht aus, also triff die kreativen Entscheidungen selbst und frage nur nach Dingen, die das gesamte Stück verändern würden.

Alles lebt in animations/<slug>/:

refs/  study/  style.md  beats.md  piece.html  score.json  out/<slug>.mp4

Füge bei Bedarf Hilfsskripte oder Notizen hinzu. examples/bee-dance/ in diesem Skill-Ordner ist ein kompletter durchgearbeiteter Film.

In den folgenden Befehlen bedeutet $SKILL den Ordner dieses Skills. Führe sie aus dem Projekt des Benutzers mit $SKILL/.venv/bin/python aus, falls vorhanden, sonst mit python3. Wenn ein Paket fehlt, siehe die Einrichtung in README.md. Sie benötigen ffmpeg und Chrome.

Wähle den Auftrag

Der Benutzer möchteAuftragWie
"Dieses Bild animieren"Das Kunstwerk bewegenSchneide das Bild in Ebenen und bewege diese. Lese references/move-an-image.md. Überspringe Stufen 3-4 mit piece.html; das Rendering ist ein Python-Skript.
"Das malen", "diese Szene nachbilden"Neu malenZeichne die gesamte Szene in piece.html und stimme sie genau mit der Referenz ab.
Ein Thema oder eine Geschichte "in diesem Stil"Neuer FilmVollständiger Prozess unten. Referenzen legen den Look fest; das Thema ist neu.

Wenn sie keine Länge oder kein Format nennen, verwende 15 Sekunden bei 1080x1920 für einen Film und 5 Sekunden für ein bewegtes Bild.

Code ist stark bei Formen, Linien, Farbverläufen und Texturen: flache Vektorgrafik, Strichzeichnung, Papierschnitt, Risografie, Aquarell, Anime-Hintergründe, Pflanzentafeln. Er ist schwach bei Fotorealismus und bei agierenden Gesichtern. Wenn eine Referenz fotorealistisch ist, sage dies vor dem Bauen und schlage eine illustrierte Interpretation vor.

Stufe 1: Jede Referenz studieren

Der Benutzer kann dir viele Referenzen geben, also gib jeder eine Aufgabe, anstatt sie zu einem Einheitsbrei zu vermischen.

python3 $SKILL/scripts/study.py animations/<slug>/study <Dateien oder Ordner...>

Dies liefert dir, pro Referenz, ein Kontaktblatt, eine Palette und für Videos die Schnitte und die Pacing-Kurve. Wenn nur ein Teil eines Videos wichtig ist, füge seinen Bereich in Sekunden hinzu, wie in "reel.mp4@0-12", da sonst Sprechkopfaufnahmen die Ergebnisse verzerren. Dann sieh dir die Blätter selbst an und beschneide Bereiche, in denen Textur wichtig ist. Zahlen können dir nicht sagen, warum etwas gut aussieht.

Schreibe style.md:

  • Was jede Referenz uns gibt, eine Zeile pro Referenz: Textur von dieser, Typ von jener, Pacing von einer anderen.
  • Was wir nicht kopieren werden: Posen, Charaktere, Logos, Signaturen, exakte Kompositionen. Nimm den Stil, nicht das Werk; die Ausnahme ist ein Neu malen- oder Bewegen-Auftrag für ein Bild, das der Benutzer animieren ließ.
  • Palette als Hex-Werte, Schriftart (assets/fonts/ enthält zwei zum Start, oder kopiere eine beliebige offene Schriftart), Textur, Bewegungsgefühl.
  • Ein Element, das das Stück zusammenhält: eine Linse, eine Welle, eine Linie, die nie reißt. Filme ohne eines wirken wie eine Diashow.

Füge für jede neue Referenz eine kurze Karte zu animations/library.md hinzu, damit ihre Lektionen dieses Projekt überdauern. Wiederverwende Karten, wenn der Benutzer auf einen bereits verwendeten Stil zeigt, und erweitere eine nur, wenn du etwas Neues gelernt hast.

Tor: Du kannst in einem Satz sagen, wie dieses Stück aussieht und warum das dem Thema dient.

Stufe 2: Beats

Wenn es Fakten in dem Stück gibt, überprüfe sie zuerst. Eine falsche Behauptung, die wunderschön gezeichnet ist, bleibt falsch, und populäre "Fakten" sind oft vage. Notiere alles, was du für den endgültigen Bericht abgemildert hast.

Schreibe beats.md als eine Tabelle. Bild und Ton werden gemeinsam geplant, denn dieser Sync ist es, der es teuer aussehen lässt:

ZeitBildTon
0-1,5 sEin orangefarbener Tropfen fällt und breitet sich ausTropfen, nasses Aufblühen, Pad setzt ein
1,5-3 sTitelzeile, Details erscheinenZupfen pro Wort, winzige Ticks

Tor: In der ersten halben Sekunde bewegt sich etwas; die Form ist Aufhänger, Aufbau, ein Atemzug, Höhepunkt; keine Strecke über 2 Sekunden ohne eine neue Bildidee; das Ende hält etwa 1,5 Sekunden, damit es gelesen werden kann. Lasse das Bild die neuen Ideen tragen, nicht die Worte: jede Bildunterschrift benötigt etwa 1,5 Sekunden auf dem Bildschirm, also schneide Bildunterschriften, bevor du sie kürzt. Halte Text von den oberen 12 % und unteren 18 % eines vertikalen Bildrahmens fern.

Stufe 3: Das Bild bauen

Kopiere assets/piece-template.html nach piece.html und zeichne darin. Der Vertrag ist window.PIECE plus window.renderFrame(t).

renderFrame(t) darf nur von t abhängen und kann asynchron sein. Standbilder springen direkt zu jeder Zeit, also alles, was zwischen Bildern erinnert wird, oder jeder ungesäte Math.random()-Aufruf bricht sie. Male teure statische Schichten einmal innerhalb von window.ready mit einem gesäten Generator und setze sie dann pro Bild zusammen.

Um einen anderen Film innerhalb eines Stücks zu zeigen, extrahiere seine Bilder in clips/ als nummerierte JPEGs, lade das benötigte mit einem Image in einem asynchronen renderFrame und zeichne es auf die Leinwand.

Lese references/styles.md vor dem Zeichnen; es enthält funktionierende Rezepte (Himmelswolken, Laub, gehende Figuren, Wasser, Aquarell, Papier) und die Quelldateien zum Kopieren. Tiefe entsteht durch Schichten, die sich mit unterschiedlichen Geschwindigkeiten bewegen, Leben durch kleine sekundäre Bewegungen: Schwanken, Driften, Schimmern, Flackern.

Überprüfe Standbilder früh und oft, lange vor einem vollständigen Render:

python3 $SKILL/scripts/render.py animations/<slug>/piece.html --stills 0.5 3 7 12

Betrachte sie in voller Größe, vergleiche sie Seite an Seite mit den Referenzen und behebe, was nicht stimmt. Erwarte mehrere Runden. Das erste Standbild ist normalerweise ein grober Entwurf, und dieser Kreislauf ist der Ort, an dem die Qualität entsteht.

python3 $SKILL/scripts/compare.py animations/<slug>/out/compare.jpg <Standbilder und Referenzbilder...>

Tor: Ein Standbild aus der Mitte sieht aus, als wäre es mit denselben Materialien wie die Referenzen gemacht: gleiches Papier, Farbe, Linie und Farbe. Das Motiv kann neu sein. Clip-Art-Versionen der Referenz bestehen nicht.

Stufe 4: Ton

Schreibe score.json für dieselben Zeiten wie beats.md. Siehe den Header von scripts/synth.py für die verfügbaren Klänge: Zupfer, Glocken, Pads, Tropfen, Ticks, Schwellungen, Wuschs, Einschläge, Kicks und Rauschbetten.

python3 $SKILL/scripts/synth.py animations/<slug>/score.json animations/<slug>/out/score.wav

Bleibe in einer Tonart. Setze die Treffer auf Bildeffekte, nicht auf ein Raster. Lasse vor dem Höhepunkt echte Stille, denn der Kontrast ist es, der ihn wirken lässt. Generiere lange Notenläufe mit ein paar Zeilen Python, anstatt sie auszutippen.

Du kannst es nicht hören, also lese den Pegelbericht, den synth.py ausgibt: suche nach Abfällen, die du nicht geplant hast, und danach, ob der charakteristische Klang unter dem Rest vergraben ist.

Wenn das Stück erzählt wird

Die Erzählung kommt vor dem Bild, denn die Wortzeiten setzen jeden Beat. Nimm sie mit einem beliebigen Sprachwerkzeug auf, das der Benutzer hat, transkribiere sie mit Wortzeiten (faster-whisper funktioniert), und erstelle dann die Beats und Bildunterschriften aus diesen Zeiten. Whisper kann ein Wort früh in der Stille davor beginnen, also überprüfe die Wellenform, bevor du eine Pause einfügst.

Mische die Stimme über die Partitur, und rendere dann mit dem Ergebnis als --audio. Die Partitur duckt sich unter der Stimme, sodass die Musik in den Pausen ansteigt:

python3 $SKILL/scripts/mix.py animations/<slug>/out/voice.wav animations/<slug>/out/score.wav animations/<slug>/out/mix.wav

Stufe 5: Rendern, prüfen, korrigieren

python3 $SKILL/scripts/render.py animations/<slug>/piece.html --audio animations/<slug>/out/score.wav
python3 $SKILL/scripts/qc.py animations/<slug>/out/<slug>.mp4

render.py schreibt out/<slug>.mp4, gemastert auf -14 LUFS. Es gibt den Fortschritt aus und benötigt etwa 1-2 Minuten für 15 Sekunden eines typischen Stücks; führe es im Hintergrund aus, wenn ein Stück schwer ist. Nach einer nur auf den Ton bezogenen Änderung füge --remux hinzu, um die Audiospur in Sekunden ohne Neuzeichnen auszutauschen.

qc.py markiert tote Strecken, Einzelbild-Ruckler und Lautstärke und schreibt ein Kontaktblatt. Es kann nicht beurteilen, ob Bewegung gut aussieht, also lies das Blatt ebenfalls, gehe dann Bild für Bild durch die riskanten Momente in Nahaufnahmen: Übergänge, Texte ein- und ausblenden, wo Schichten sich überlappen, und einen vollständigen Zyklus jeder wiederholten Bewegung. Korrigiere und rendere neu, bis es sauber ist.

Übergabe

Berichte in der einfachen Sprache des Benutzers: was du gemacht hast, wie jede Referenz verwendet wurde, was du geprüft hast und was du nicht prüfen konntest. Du kannst die Partitur nicht hören oder sie in voller Geschwindigkeit ansehen, also sage das. Füge hinzu:

  • Eine Tatsache, die man wissen sollte, wenn du eine Behauptung abgemildert hast.
  • Einfache Anpassungen: 3 oder 4 spezifische Änderungen, die sie als nächstes verlangen könnten.
  • Ob eine Referenz jemand anderem gehört und vor kommerzieller Nutzung durchdacht werden muss.

Verwandte Skills