Communitygithub.com

Motion Replicate — von einem Referenzlink zu einem bearbeitbare…

Wird verwendet, wenn der Benutzer einen Pinterest-, Behance-, Dribbble-, Vimeo-, YouTube- oder direkten Videolink (oder eine Videodatei) einfügt und die Animation in After Effects nachgebaut haben möchte. Holt oder sampelt die Referenz, misst Timing und Bewegung, baut sie mit bearbeitbaren Keyframes neu auf und vergleicht Bild für Bild, bis sie übereinstimmt.

Was ist Motion Replicate — von einem Referenzlink zu einem bearbeitbare…?

Dieses Skill ermöglicht es einem KI-Agenten (wie Claude Code, Cursor, Codex), eine Bewegungsreferenz aus einem Link oder einer Videodatei zu extrahieren, ihre Timing- und Bewegungseigenschaften zu messen und sie als vollständig bearbeitbare Keyframe-Animation in Adobe After Effects nachzubauen. Es unterstützt Quellen wie Pinterest, Behance, Dribbble, Vimeo, YouTube sowie direkte Video-URLs und bietet klare Anweisungen zum Herunterladen oder zur manuellen Probenahme. Der Agent misst zunächst präzise Pixelpositionen, Skalierung, Rotation und Geschwindigkeitskurven aus Einzelbildern, bevor er mit dem Bau beginnt. Nach dem Erstellen der Komposition werden gerenderte Einzelbilder mit der Referenz verglichen, um Timing, Positionen und Kurven zu validieren. Der Workflow zwingt den Agenten, jede Zahl aus der Referenz zu begründen, und stellt sicher, dass Benutzer das Ergebnis in Echtzeit bearbeiten können, ohne auf Plugins Dritter angewiesen zu sein.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/itswenxin/motion-agent/tree/HEAD/agent-skills/motion-replicate

In Ihrer bevorzugten KI fragen

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

Dokumentation

Motion Replicate — von einem Referenzlink zu einem bearbeitbaren AE-Rebuild

Lies zuerst die Abschnitte "复刻参考片失败的五个根因" und "复刻参考片:先逐帧量,再动手" aus skill/SKILL.md. Die Regel: Messen vor dem Bauen. Jede Zahl im Rebuild stammt aus der Referenz.

1. Referenz holen

python3 tools/fetch_reference.py "<link>" --slug <kurzname>
  • Pinterest (pin.it oder /pin//): Lädt das Video des Pins über die öffentliche Widget-API von Pinterest herunter, inklusive Idea/Story-Pins. Wenn der Pin nur ein Bild ist, teilt das Tool dies mit und gibt den ausgehenden Link aus: Die echte Bewegung befindet sich normalerweise dort (ein Instagram- oder Behance-Post). Folge ihm.
  • Direkte Video-URL (.mp4/.mov/.webm/.gif): Wird unverändert heruntergeladen.
  • Behance, Vimeo, YouTube, Portfolio-Seiten: Lehnen oft Kommandozeilen-Anfragen ab (Exit-Code 3) oder betten einen Player ein. Dann ansehen statt herunterladen:
    1. Öffne die Projektseite im Browser und liste die Player auf: [...document.querySelectorAll('iframe,video')].map(n => n.src || n.currentSrc).
    2. Öffne die Player-URL selbst (z. B. https://player.vimeo.com/video/<id>), füge tools/browser_frame_sampler.js in das JavaScript-Tool des Browsers ein, führe await motionAgentSample({ fps: 12 }) aus, dann Screenshot: Du erhältst ein zeitgestempeltes Kontaktblatt und die Bewegungsenergie pro Einzelbild. await motionAgentShowFrame(t) + Screenshot ergibt ein vollauflösendes Einzelbild zum Messen von Positionen.
    3. Speichere die Screenshots und das zurückgegebene JSON in refs/<slug>/.
  • Umgehe niemals Logins, Paywalls oder Bot-Checks und manipuliere niemals Header, um geschützte Dateien abzurufen. Wenn eine Seite dich blockiert, verwende den Browser-Weg oder bitte den Benutzer, den Clip herunterzuladen.

Alles unter refs/ ist git-ignoriert. Referenzvideos gehören ihren Erstellern: Committe sie niemals oder veröffentliche ihre Einzelbilder; gib den Ersteller (meta.json) im Fall an.

2. Messen

python3 tools/analyze_reference.py refs/<slug>/reference.mp4 --fps 24

Lies refs/<slug>/ANALYSIS.md: Größe, Bildrate, Dauer, Haltepunkte, Schnitte, schnellste Momente, ob es looped, Palette, plus ein Kontaktblatt und ein Bewegungsenergie-Diagramm. Miss dann jedes bewegte Element aus frames/ (Pixelpositionen, Skalierung, Rotation an Start, Ende und Wendepunkten; tools/measure.py hilft) und schreibe eine kurze Spezifikation: Element → Keys (Zeit, Wert) → Geschwindigkeitsform (Ease in / out / beides, Überschwingen).

Teile dem Benutzer in 3–5 Zeilen mit, was du gemessen hast und wie du es bauen wirst, bevor du baust.

3. In After Effects nachbauen

  • Komposition mit der Größe und Bildrate der Referenz (maßstäblich ×2 für kleine Referenzen, und dies mitteilen).
  • Öffne die Komposition im Viewer und bewege den Abspielkopf während der Arbeit, damit der Benutzer zusehen kann.
  • Keyframes mit Bézier-Easing zuerst (explizite Geschwindigkeit/Influence, die die gemessene Geschwindigkeitskurve reproduzieren); Ausdrücke nur, wenn Keyframes es nicht können.
  • Ein kurzes Wort pro Kompositions- und Ebenenname.
  • Speichere ein Backup vor jeder strukturellen Änderung.

4. Vergleichen und iterieren

Rendere die gleichen Zeitstempel wie die Referenz-Einzelbilder und setze sie nebeneinander:

python3 tools/sheet.py "<unsere bilder-glob>" refs/<slug>/compare.png --pair "refs/<slug>/frames/f_*.jpg"

Überprüfe Timing (Haltepunkte und Schnitte landen auf den gleichen Einzelbildern), Positionen (innerhalb weniger Pixel beim gleichen Maßstab), Geschwindigkeitsform und Farbe. Behebe zuerst die größte Abweichung und vergleiche erneut. Melde jede Runde mit dem Vergleichsblatt. Höre auf, wenn der Benutzer zufrieden ist.

5. Behalte, was gelernt wurde

Wenn der Benutzer den Render bestätigt, führe agent-skills/motion-retrospective aus. Der Fall gibt den ursprünglichen Ersteller und Quell-Link an, enthält nur die Einzelbilder unseres eigenen Rebuilds und zeichnet die gemessenen Zahlen sowie die Keyframes auf, die sie reproduziert haben.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

Verwandte Skills