Communitygithub.com

EffectCraft Motion-Kit

Erstellen, reparieren oder prüfen Sie Bewegtgrafiken (Promos, Erklärvideos, Markenfilme, Logo-Intros, 9:16-Schnitte) in EffectCraft, dem After Effects-artigen Composer, mit synchronisierter Sprachbegleitung, Musik und Soundeffekten.

Was ist EffectCraft Motion-Kit?

Dieses Skill bietet einen vollständigen, testgestützten Workflow zur Erstellung von 60-sekündigen Unternehmens-Bewegtgrafiken in EffectCraft. Es umfasst fünf geprüfte visuelle Stile (Looks) und Layouts, sodass Agenten nicht jedes Design von Grund auf neu erfinden müssen – der häufigste Grund für ein billig wirkendes Ergebnis. Alles wird über die Kommandozeile (`effectcraft-cli` via `scripts/ec.py`) ausgeführt; MCP ist optional. Der gesamte Prozess wird durch eine einzige `timeline.json`-Datei gesteuert: Zeitangaben werden aus Daten abgeleitet (nie geraten), Szenenlayouts werden durch Funktionen wie `scene()` und `SC()` definiert, und die Ausgabe durchläuft Prüfungen wie `timeline.py check` und `ec.py qa`, die häufige Fehler wie leere Frames, überlappende Sprachspuren und nicht synchronisierte Soundeffekte erkennen. Das Skill unterstützt lokale Sprachsynthese (Kokoro), Transkription (Parakeet) und Musik-/Soundeffekt-Abruf aus dem HeyGen-Katalog. Es enthält umfangreiche Referenzdateien zu Motion Design, Pitfalls, Markenrichtlinien und High-Energy-Stilen und besteht auf einer Qualitätssicherung nach dem Rendern, bei der Agenten final behauptete Behauptungen gegen das tatsächliche Video prüfen müssen, nicht nur gegen den Plan.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor✓OpenCode
npx skills add akdavid4real/effectcraft-motion

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht EffectCraft Motion-Kit?

Ein getesteter Workflow zur Erstellung von 60-sekündigen Unternehmens-Bewegtgrafiken in EffectCraft, die designed aussehen, synchron sind und frei von den klassischen Fehlern sind: leere Frames zwischen Szenen, überlappende Sprachspuren, von Dekorationen verdeckter Text, verschwindende Zahlen und nicht im Takt liegende Soundeffekte.

Design kommt von Looks und Layouts, nicht von Grund auf. Wählen Sie einen von fünf getesteten Looks, schreiben Sie jede Szene als einen scene()-Aufruf mit Ihrem Inhalt und Wort-Timings, und das Layout kümmert sich um Größe, Raster, Farbe und Bewegung. Agenten, die einen Stil erfinden, landen bei dunklen Verläufen, Glüh-Bubbles und kleinem, zentriertem Text; das ist der mit Abstand häufigste Grund, warum eine generierte Promo billig aussieht.

Jeder Agent kann dies verwenden. Alles läuft von einer Shell (effectcraft-cli via scripts/ec.py). MCP ist optional. Kit-Pfad: der Ordner, der diese Datei enthält (nennen Sie ihn $KIT).

Nicht dieses Kit: Strichmännchen-/Charakter-Geschichtenvideos (Split-Screen "falscher Weg vs. richtiger Weg") verwenden stattdessen das Skill stick-figure-story.

Goldene Regeln (die Gründe stehen in references/)

  1. Zeiten kommen aus Daten, nicht aus Schätzungen. Der Szenenplan lebt in timeline.json. Szenenskripte verwenden SC("s3") und W("s3", "word") (die absolute Zeit, zu der ein Wort gesprochen wird). Geben Sie niemals eine Zeit wie 23.6 ein.
  2. Betrachten Sie jede Szene, die Sie bauen. Rendern Sie Vorschaubilder (ec.py frames) und öffnen Sie die PNGs. Code, der fehlerfrei läuft, kann trotzdem falsch rendern.
  3. "Fertig" bedeutet, dass die Gates bestanden wurden. timeline.py check hat 0 FAIL, ec.py qa hat 0 FAIL, ec.py qa-video hat 0 FAIL, und Sie haben das Kontaktblatt angesehen. Melden Sie die Ergebnisse ehrlich, einschließlich Warnungen.
  4. Verwenden Sie einen Look und die Layouts (references/looks.md). Vergleichen Sie zwei Looks, bevor Sie sich entscheiden. Mindestens ein Drittel der Szenen muss visuell sein (Telefon / Symbole / Fluss / Balken oder eine benutzerdefinierte Szene mit einem Objekt). Benutzerdefinierter Szenencode ist für das, was kein Layout abdeckt (eine Karte, ein Produkt-Mockup), und verwendet dennoch die Palette des Looks P(S.bg) und die Schriftgrößen LOOK.type.
  5. Lesen Sie references/pitfalls.md, bevor Sie ein EffectCraft-Skript schreiben. Lesen Sie references/motion-design.md, references/looks.md und references/techniques.md (Beat-Raster, spitzenausgerichtete SFX, kontinuierliche Morphs, Verbotsliste), bevor Sie Szenen entwerfen.
  6. Die Marke gehört nicht Ihnen zum Bearbeiten (references/brand.md). Zeigen Sie die echte Logodatei, niemals den als Wortmarke getippten Namen. Schreiben Sie den Slogan Zeichen für Zeichen. Erfinden Sie keine Produktnamen, Schaltflächenbeschriftungen oder Statistiken. Füllen Sie den "brand"-Block in timeline.json aus, damit ec.py qa dies prüft.
  7. Das Bestehen der Qualitätssicherung ist nicht dasselbe wie gutes Design. Planen Sie das Farbkonzept, die Bilder und den markanten Moment, bevor Sie Szenen schreiben, und bewerten Sie den Film in einer Creative-Director-Review vor dem Rendern (references/design-review.md, verglichen mit references/benchmark_sheet.png). 7b. Echte Produkt-UI (SaaS, App-Filme): befolgen Sie references/ui-footage.md: Erfassen Sie nur Beispieldaten, schneiden Sie auf ein Panel zu, zeigen Sie es lesbar (55 %+ Breite) oder bauen Sie es als animierte UI neu auf, ein Bildschirm pro Einstellung, keine getönten Wände mit Thumbnails, keine erfundenen Zahlen, und bauen Sie es hier, damit die QA-Gates durchlaufen.
  8. Hochenergetische / hyperkinetische Anzeigen (TikTok-Stil, ein Einschlag auf jedes gesprochene Wort): befolgen Sie references/high-energy.md und templates/hyper.jsx anstelle der ruhigen Layouts.
  9. Berichten Sie, was das Rendering zeigt, nicht, was Sie geplant haben. Ziehen Sie vor dem Schreiben des Berichts oder der Übergabe Frames aus dem endgültigen MP4 (nicht der Vorschau) in der Mitte und in der letzten halben Sekunde jeder Szene und überprüfen Sie jede Behauptung: Ist jede Zeile auf dem Bildschirm lang genug zum Lesen, ist jeder gezeichnete Schritt wirklich sichtbar, ist der Screenshot lesbar, stimmt die Länge mit dem Briefing und dem Dateinamen überein? Lesen Sie jedes Sprach-Transkript gegen das Skript und hören Sie auf den Markennamen. In Tests beschrieb die Übergabe eines Agenten vier Diagrammschritte, drei Versprechen und "BridgeAxis Technologies"; der Film zeigte den letzten Schritt 0,3 s vor dem Schnitt, die Versprechen für eine halbe Sekunde, unlesbare Screenshots und eine Stimme, die "Bridge Access" sagte. timeline.py check und ec.py qa warnen jetzt vor ungelesenen Sprachfehlern und Text, der für unter min_read Sekunden lesbar ist: Beheben Sie diese Warnungen, erklären Sie sie nicht weg. Führen Sie auf der höchsten Reasoning-Einstellung Ihres Agenten aus: Der schlampige Durchlauf war auf einer "Niedrigen" Stufe.

Projektstruktur

<project>/
  timeline.json        Szenenplan + SFX-Cues + Musik (Start mit $KIT/templates/timeline.example.json)
  audio_meta.json      Sprachdateien + Wort-Zeitstempel (aus dem Audio-Schritt)
  soundtrack.wav       generiert von timeline.py mix
  assets/voice|sfx|bgm|icons|fonts
  scripts/lib.jsx      Kopie von $KIT/templates/lib.jsx (COMP setzen; der Look liefert Farben und Schriftarten)
  scripts/look.jsx     geschrieben von `ec.py look NAME --accent HEX`
  scripts/timing.jsx   generiert (timeline.py emit) - niemals bearbeiten
  scripts/wipes.jsx    generiert (timeline.py emit) - ZULETZT ausführen
  scripts/reset.jsx, s1.jsx ... s8.jsx
  qa/                  Vorschauen und Kontaktblätter

Führen Sie jeden Befehl aus <project>/ aus. ec.py liest den Projektpfad und den Kompositionsnamen aus timeline.json.

Arbeitsablauf A: Neues Video

0. Briefing. Fragen Sie vor dem Bauen: Marke/Website zum Matchen, Stimmung (laut / ruhig / technisch / luxuriös), Länge und Seitenverhältnis, Stimme (Geschlecht/Tonfall) und ob Musik/SFX gewünscht sind. Die kreative Richtung zu erraten ist der häufigste Grund, warum ein erster Schnitt abgelehnt wird.

1. Einrichtung

mkdir -p <project>/{scripts,assets/{voice,sfx,bgm,icons},qa} && cd <project>
cp $KIT/templates/lib.jsx $KIT/templates/reset.jsx $KIT/templates/s1.jsx scripts/
cp $KIT/templates/timeline.example.json timeline.json   # Projekt-/Comp-/Ausgabename bearbeiten
python3 $KIT/scripts/ec.py fonts                         # Installiert die Schriftarten der Looks (einmal pro Maschine)

Setzen Sie COMP in scripts/lib.jsx auf den Kompositionsnamen der Timeline. Notieren Sie die Akzentfarbe der Marke (Logo, Website-CSS, Produkt). Wenn die Marke eine Website hat, lesen Sie deren CSS für Akzent und Schriftarten. Legen Sie die Logodateien in assets/logo/ ab und füllen Sie den "brand"-Block in timeline.json aus: Name, exakter Slogan, Logodateien und alle genehmigten Produktnamen oder URLs (references/brand.md).

2. Skript und Stimme. Schreiben Sie 8 Zeilen (Aufhänger, Problem, Marke, 2–3 Vorteile, Beweis, Endkarte); 60 s fassen etwa 110–130 gesprochene Wörter. Generieren Sie eine Audiodatei pro Zeile und erhalten Sie Wort-Zeitstempel in audio_meta.json in dieser Form:

{"voices": [{"id": "s1", "path": "assets/voice/s1.wav", "duration_s": 6.45,
             "words": [{"word": "Jeder", "start": 0.30, "end": 0.59}, ...]}]}

Führen Sie zuerst python3 $KIT/scripts/ec.py doctor aus. Es listet auf, was diese Maschine hat und wie Sie Fehlendes installieren. Wenn es ready sagt, recherchieren oder installieren Sie keine Alternativen (edge-tts, Whisper, piper, Playwright): Die folgenden Tools sind die getesteten. Ohne Stimme überhaupt, timen Sie Szenen mit "in+0.5"-Offsets anstelle von Wörtern; $KIT/demo/ ist ein vollständiges stummes Beispiel (ec.py demo rendert es).

  • Stimme (Standard): lokales Kokoro, weibliche Stimme af_heart. Kostenlos, kein Konto. Das Modell wird in ~/.cache/hyperframes/tts/ zwischengespeichert (beim ersten Lauf heruntergeladen):
    export HYPERFRAMES_PYTHON=~/.venvs/kokoro/bin/python   # ERFORDERLICH: die venv mit kokoro-onnx
    npx hyperframes tts "Text der ersten Zeile." -v af_heart -o assets/voice/s1.wav   # eine Datei pro Zeile
    
    Ohne HYPERFRAMES_PYTHON schlägt es fehl mit "Das Paket kokoro-onnx ist nicht installiert". Pip-installieren Sie nichts: Setzen Sie die Variable.
  • Wort-Zeitstempel: npx hyperframes transcribe assets/voice/s1.wav --json. Es verwendet das Parakeet-Modell, zwischengespeichert in ~/.cache/hyperframes/parakeet nach dem ersten Lauf (Engine auto wählt es aus). Parakeet ist richtig für saubere TTS-Stimmen wie Kokoro. Übergeben Sie nicht -e whisper hier: Die Whisper-Engine von hyperframes (whisper.cpp) ist nicht eingerichtet. Für echte aufgenommene Stimmen mit Akzenten verwendet das Footage-Edit-Skill stattdessen faster-whisper large-v3-turbo (~/.venvs/asr). Kopieren Sie die Wörter und ihre Start- und Endzeiten in audio_meta.json.
  • Musik und SFX: die Media-Use-Audio-Engine (node <skills>/media-use/audio/scripts/audio.mjs --request audio_request.json --out audio_meta.json --only bgm,sfx). Sie ruft aus dem HeyGen-Katalog nach Beschreibung ab, z. B. "bgm": {"mode": "retrieve", "query": "warm ruhig Klavier"}. <skills> ist ~/.claude/skills für Claude Code, ~/.agents/skills für Codex/OpenCode/DeepSeek.
  • HeyGen Text-to-Speech (über die Engine oder das heygen CLI) ist die alternative Stimme, aber das kostenlose Kontingent läuft aus. Wenn das passiert, verwenden Sie Kokoro. Musik- und SFX-Abruf benötigen ebenfalls das heygen CLI mit heygen auth login --oauth, es sei denn, HEYGEN_API_BASE ist gesetzt; ohne dies antwortet sfx dennoch aus der gebündelten Bibliothek von media-use, und der Benutzer kann seine eigene Musikdatei bereitstellen.

Notieren Sie, welchen Anbieter und welche Stimme Sie tatsächlich verwendet haben.

3. Timeline

python3 $KIT/scripts/timeline.py beats      # Musik-Tempo, Beats, Taktanfänge, Drop -> beats.json (benötigt "music")
python3 $KIT/scripts/timeline.py suggest    # Schlägt Szene in/out + voice_at vor; mit beats.json enden Szenen auf Beats
# in timeline.json einfügen, "bg" jeder Szene setzen (light/dark/accent), SFX-Cues an Wörter angebunden hinzufügen
python3 $KIT/scripts/timeline.py words      # Jedes Wort mit seiner absoluten Zeit
python3 $KIT/scripts/timeline.py check      # MUSS 0 FAIL sein
python3 $KIT/scripts/timeline.py emit       # Schreibt scripts/timing.jsx + scripts/wipes.jsx
python3 $KIT/scripts/timeline.py mix        # Schreibt soundtrack.wav (-14 LUFS)

Auf den Beat schneiden: timeline.py snap verschiebt vorhandene Schnitte auf Beats, wo die Stimme noch passt; in Szenen timen BEAT(n), DOWNBEAT(n), nearBeat(t) und T.drop Zeitslams und Pops zur Musik (references/techniques.md). SFX "at" kann eine Zahl sein, "beat:12", "downbeat:3", "drop", "s2:late" (das Wort "late" in der Stimme von s2; "s2:the#2" = 2. "the"), "wipe:s3" (der Übergang zu s3), "in:s3" oder "out:s3". Fügen Sie "offset", "vol", "max" (Trimmlänge) und "align": "peak" hinzu (der lauteste Moment des Sounds landet auf dem Anker: für Einschläge und Pops verwenden).

4. Planen, dann die Szenen schreiben. Schreiben Sie zuerst den Plan in qa/design_review.md (references/design-review.md, Teil 1-6): das Farbkonzept mit einer Zeile pro Szene, das Bild, das zeigt, was jede Zeile sagt, den Helden jeder Szene und den einen markanten Moment. Geben Sie jeder Szene einen Hintergrund in timeline.json ("bg": "light" | "dark" | "accent") und führen Sie timeline.py emit erneut aus. Wechseln Sie sie ab, sodass jeder Schnitt wie ein neues Kapitel wirkt. Verwenden Sie "accent" für die 1-2 lautesten Momente, normalerweise den emotionalen Höhepunkt. Platzieren Sie die Markenenthüllung und die Endkarte auf dem Hintergrund, auf dem das echte Logo am besten lesbar ist (normalerweise hell), nicht auf dem Akzent. Schreiben Sie dann scripts/s1.jsx ... sN.jsx, jeder ein scene()-Aufruf mit einem Layout (Spezifikationen: oben in templates/layouts.jsx; Leitfaden: references/looks.md):

// scripts/s2.jsx
scene("s2", "list", { label: "Das Problem",
  items: [["Späte Ankünfte.", "spät"], ["Zollüberraschungen.", "zoll"], ["Tracking, das dir *nichts* sagt.", "tracking", "nichts"]],
  punch: ["Zu spät.", "zu"] });

*Wort* markiert den Akzentteil einer Zeile. Zeiten sind Wörter aus timeline.py words ("Wort", "Wort#2", "Wort+0.3", "in+0.2"), ohne Satzzeichen geschrieben. Layouts vergrößern oder verkleinern Text, um den Rahmen zu füllen, schreiben Sie also den gewünschten Text und lassen Sie das Layout die Größe bestimmen. Halten Sie Textzeilen auf dem Bildschirm kurz: Sie sind Überschriften, nicht der Voiceover. Nur für etwas, das kein Layout abdeckt (eine Karte, ein Produkt-Mockup), kopieren Sie stattdessen $KIT/templates/scene_template.jsx.

Machen Sie mindestens ein Drittel der Szenen visuell. Ein Film, der nur aus Wörtern auf Hintergründen besteht, liest sich wie eine Folienpräsentation, egal wie gut die Typografie ist. Visuelle Layouts platzieren ein Objekt auf dem Bildschirm, über das die Stimme spricht: phone (das Produkt auf einem Telefonbildschirm: eine Zahlungsseite, eine Bestellung, ein Tracking-Update), icons (2-4 gezeichnete Piktogramme mit Beschriftungen), flow (Stationen, die durch eine Linie verbunden werden, die sich füllt, während jede gesprochen wird: Kunde → Telefon → Bank, Lager → Hafen → Tür) und bars (2-4 Balken, die wachsen: Gebühren, Wartezeiten, vorher/nachher). Wählen Sie die Szenen, in denen die Stimme eine Sache oder einen Prozess beschreibt, keine Behauptung.

scene("s4", "flow", { label: "So funktioniert's", title: ["Am *gleichen Tag* gebucht.", "geld", "gleichen"],
  nodes: [{ icon: "shop", label: "Sie verkaufen", at: "verkaufen" }, { icon: "phone", label: "Tapnest", at: "app" },
          { icon: "bank", label: "Ihr Konto", at: "konto", note: "Gleicher Tag" }] });

Symbole werden vom Kit gezeichnet (keine Dateien): Telefon Karte Bank Bargeld Uhr Scheck Tick Geschäft Blitz Diagramm Karton Box Pin Schloss Benutzer Personen Chat Globus Senden Stern Flugzeug Dokument. Eine benutzerdefinierte visuelle Szene zählt auch, wenn ihre Bild-/Objektebenen "VIS" in ihren Namen haben (z. B. "s5 VIS Karte"); ec.py qa warnt, wenn weniger als ein Drittel der Szenen visuell sind. Kopieren Sie layouts.jsx nicht in das Projekt: ec.py lädt es aus dem Kit, und eine Kopie friert die alte Version ein.

5. Den Look auswählen (lesen Sie zuerst references/looks.md). Engeren Sie zwei Looks ein, die zur Marke auf unterschiedliche Weise passen, nehmen Sie den Akzent von der Marke, und vergleichen Sie sie auf IHREN Szenen:

python3 $KIT/scripts/ec.py new
python3 $KIT/scripts/ec.py import soundtrack.wav assets/icons/*.png
python3 $KIT/scripts/ec.py compare editorial swiss --accent FF5B1F   # -> qa/look_compare.png: ÖFFNEN Sie es
python3 $KIT/scripts/ec.py look editorial --accent FF5B1F             # Den Gewinner anwenden

6. Bauen und Vorschau

python3 $KIT/scripts/ec.py run s1 s2 s3 s4 s5 s6 s7 s8 wipes   # s1 erstellt die Komposition + Soundtrack
python3 $KIT/scripts/ec.py frames 2 4 6.5                      # ÖFFNEN Sie qa/frames.png und sehen Sie es sich an

Vorschau von zwei oder drei Momenten jeder Szene. Um eine Szene zu korrigieren, bearbeiten Sie sie und führen Sie ec.py rebuild sN aus (löscht nur diese Szene, baut sie neu, führt die Wipes erneut aus). Um alles neu zu bauen (z. B. nach einer Look-Änderung): ec.py run reset s1 ... sN wipes. Der Look liefert den Übergang; um ihn zu ersetzen, schreiben Sie Ihr eigenes scripts/wipes.jsx ohne die "GENERATED"-Header-Zeile (emit belässt es dann allein). Verwenden Sie Syntaxfehler von EffectCraft. Lesen Sie bei Fehlern die Fehlerausgabe. Lassen Sie After Effects 2-3 Sekunden nach dem Rendern stehen, da einigen Plugins das Schließen langsamer fällt; ein Überschreiben der Komposition führt zu einem Fehler.

7. Audio-Timing verfeinern (nach dem Aussehen der Szenen)

python3 $KIT/scripts/timeline.py soundcheck   # Hören Sie soundtrack.wav: Alle Wörter hörbar? Benötigt python3 -m pip install pyloudnorm

Passen Sie die "vol" der Szene und die Einzelwort-Lautstärke ("wvol": [{"w": "Wort", "vol": 1.4}]) in timeline.json an. Bearbeiten Sie die soundtrack.wav-Struktur nicht manuell; führen Sie timeline.py mix erneut aus.

8. Album erstellen und aufnehmen

python3 $KIT/scripts/ec.py contact-sheet        # qa/contact.png: ÖFFNEN Sie es a-n-d stellen Sie sicher, dass Sie es getan haben

Ein Kontaktblatt zeigt das Ende jeder Szene (eine Breitbild-Spurenaufnahme), damit Sie überlappende Elemente, versteckten Text und unlesbare Screenshots sehen. Führen Sie dann abschließende Prüfungen durch:

python3 $KIT/scripts/ec.py qa                    # MUSS 0 FAIL sein. Optional: --look das zu verwendende Vergleichstool (webbasiert)
python3 $KIT/scripts/ec.py qa-video <video.mp4>   # MUSS 0 FAIL sein (Verpixelung, seltsame Farben)

9. Übergeben. Schreiben Sie eine kreative Zusammenfassung, dann öffnen Sie den endgültigen Render im Medienplayer, drehen Sie den Ton auf, und listen Sie auf, was funktioniert und was nicht, und identifizieren Sie, wo Sie die nächste Iteration beginnen würden. Berücksichtigen Sie das Briefing: Passen Länge, Seitenverhältnis und Dateiname? Unterschreiben Sie nur, wenn Sie den Film gesehen haben; wenn ec.py qa FEHLER zeigt oder das Rendern fehlschlägt, sagen Sie, woran es liegt.

Arbeitsablauf B: Vorhandenes Projekt reparieren oder prüfen

Sie erhalten ein Projekt, das ein anderer Agent auf dieser Maschine erstellt hat. Öffnen Sie die Projektdatei, lesen Sie das Skript und die Szenen. Führen Sie dann die Fehlererkennung durch:

cd <project_pfad>
python3 $KIT/scripts/ec.py doctor               # Prüft, ob die Maschine alle Abhängigkeiten hat
python3 $KIT/scripts/ec.py qa                    # Fehler im Projekt erkennen
python3 $KIT/scripts/timeline.py check           # Timeline-Abweichungen prüfen

Wenn Sie doctor ausführen, wird das Projekt auch auf alte Ordnerstrukturen untersucht; das Reparieren dieser Ordnerstruktur erfordert die Verschiebung von Dateien. Nachdem die Fehler lokalisiert sind:

  • Leere Frames (schwarze Lücken zwischen Szenen): Normalerweise fehlende Wipe- oder Übergangsbefehle. Führen Sie timeline.py emit erneut aus für scripts/wipes.jsx.
  • Text, der von Dekorationen verdeckt wird: Prüfen Sie die Ebenenreihenfolge im Quellcode der Szene.
  • Verschwindende Zahlen: Auf Zahlenüberblendungen oder Keyframes prüfen.
  • Nicht im Takt liegende SFX: timeline.json-SFX-Cues mit references/techniques.md abgleichen. "at": "beat:..." verwenden.
  • Überlappende Stimmen oder falsche Wort-Timings: audio_meta.json und scripts/timing.jsx prüfen. timeline.py emit erneut ausführen.

Zum Reparieren: Bearbeiten Sie timeline.json oder die Szenendateien. Wenn Sie eine Szene ersetzen möchten, ersetzen Sie deren Funktion (scene(...)) durch die neue Schreibweise. Führen Sie nach der Reparatur die vollständige Build-Pipeline erneut aus:

python3 $KIT/scripts/ec.py run reset s1 ... sN wipes
python3 $KIT/scripts/ec.py qa                    # 0 FEHLER erforderlich

Wenn der ursprüngliche Agent nicht die Layouts des Kits verwendet hat, erhalten Sie fast immer eine Szene mit scene() und benutzerdefinierten Parameter-Overrides. Das ist in Ordnung; verschieben Sie nur die Ebenen, ersetzen Sie nicht den gesamten Ansatz. Der Kit unterstützt das Überschreiben von Eigenschaften jedes Layouts:

scene("s4", "flow", { title: "Neuer Titel", nodes: [...], styles: { titleSize: 42, nodeWidth: 200 } });

Verwenden Sie dies für kleine Anpassungen, die zum Stil des Originalagenten passen.

Referenzen (in $KIT/references/)

  • design-review.md – Creative-Director-Review-Prozess und Checkliste (Teil 1-6)
  • pitfalls.md – Häufige Fehler und wie man sie vermeidet
  • motion-design.md – Prinzipien der Bewegungsgrafik (Timing, Hierarchie, Lesbarkeit)
  • looks.md – Fünf getestete Looks (editorial, swiss, corporate, vibrant, minimal) + Vergleichstabelle
  • techniques.md – Beat-Raster, spitzenausgerichtete SFX, kontinuierliche Morphs, Verbotsliste, Hyper-Energy-Stil
  • brand.md – Markenrichtlinien (Logos, Slogans, Produktnamen korrekt verwenden)
  • ui-footage.md – Aufnehmen von echtem Produkt-UI-Filmmaterial (SaaS, Apps)
  • high-energy.md – Hochenergetischer / TikTok-Stil
  • benchmark_sheet.png – Referenzbild zum Vergleichen während der Design-Review

Vorlagen (in $KIT/templates/)

  • lib.jsx – Basisbibliothek (COMP setzen)
  • reset.jsx – Szenen löschen
  • s1.jsx – Szenenvorlage
  • scene_template.jsx – Benutzerdefinierte Szenenvorlage
  • layout.jsx – Layout-Definitionen (vom Kit geladen, nicht kopieren)
  • hyper.jsx – Hyper-Energiestil
  • timeline.example.json – Beispiel-Timeline-Datei

FAQ

F: Kann ich After Effects-Effekte hinzufügen, die vom Kit nicht unterstützt werden? A: Ja, aber sie umgehen die QA-Prüfungen. Fügen Sie sie hinzu nach ec.py qa bestanden hat.

F: Funktioniert dies auf einer Remote-Maschine oder ohne Display? A: ec.py benötigt eine X-Server-Verbindung zum Rendern. Auf headless Linux über xvfb ausführen.

F: Was, wenn das Branding keine Akzentfarbe hat? A: Verwenden Sie den Standardakzent des Looks oder wählen Sie eine Farbe aus dem Markenlogo (z. B. den dominantesten Farbton).

F: Kann ich meine eigenen Musik-/Soundeffektdateien verwenden? A: Ja, legen Sie sie in assets/bgm/ und assets/sfx/ ab, und die Timeline erkennt sie.

F: Wie schreibe ich eine benutzerdefinierte Szene, die kein Layout verwendet? A: Kopieren Sie $KIT/templates/scene_template.jsx in Ihr Szenenskript und bauen Sie die After Effects-Ebenen direkt auf (über app.project.item()). Stellen Sie sicher, dass Sie die Palette des Looks P(S.bg) und die Schriftgrößen LOOK.type anwenden, und benennen Sie alle Bildebenen so, dass sie "VIS" enthalten, damit die visuelle Zählung erhalten bleibt.

F: Was ist mit 9:16-Videos (Hochformat)? A: Das Kit unterstützt Hochformat durch Setzen des Breiten-/Höhenverhältnisses in timeline.json ("width": 1080, "height": 1920). Die Layouts passen sich automatisch an.

F: Wie stelle ich sicher, dass der Voiceover mit dem Szenentext übereinstimmt? A: timeline.py check und ec.py qa validieren dies auf Wortebene. Reparieren Sie eventuelle Warnungen, anstatt sie zu ignorieren – oft sind Tonaufnahmen gemeint, die nicht zum Skript passen.

F: Der Agent meldet "FAIL" für ec.py qa – was nun? A: Lesen Sie den QA-Bericht, der angibt, welcher Teil fehlschlägt (z. B. fehlende visuelle Szenen, überlappende Wörter, Logo-Verstöße). Bearbeiten Sie die entsprechenden Dateien und führen Sie die Build-Pipeline erneut aus.


EffectCraft Motion Kit v2.1 – Teil des Agenten-Skills für KI-Assistenten.

Verwandte Skills