Communitygithub.com

SergeoDev01/voiceover-glass-reel

Verwandelt jede Sprachaufnahme (und optional ein Skript) in einen fertigen 16:9-Dokumentations-Reel in After Effects – in einer einzigen Anfrage: Schneidet Pausen und Atemgeräusche, schreibt die visuelle Geschichte, beschafft alle Bilder kostenlos und rendert ein 1080p H.264 MP4.

Was ist voiceover-glass-reel?

Diese Fähigkeit verwandelt jede Sprachaufnahme (Sprachmemo, Erzählung, Podcast-Clip) in einen fertigen 16:9-Dokumentations-Reel im Stil eines düsteren Archivfilms. Der gesamte Prozess läuft in After Effects ab, wobei Pausen und Atemgeräusche automatisch entfernt, eine visuelle Geschichte geschrieben und alle Bilder kostenlos beschafft werden – über Wikimedia Commons, Pixabay MCP und das SVG MCP für Logos. Der Look besteht aus schwebenden, abgerundeten Glasrahmen mit leuchtendem Rand, einem beweglichen Perspektivraster mit farbwechselnden Keywords, großen Bildunterschriften, Schreibmaschinen-/Riesenwort-/Fotokartenseiten, Blitzen und synthetisierten Soundeffekten. Die Ausgabe ist ein 1080p H.264 MP4, das direkt in After Effects gerendert wird. Die Fähigkeit ist für macOS mit After Effects 2024 oder neuer optimiert und erfordert keine kostenpflichtigen Dienste – sie funktioniert vollständig mit freien Quellen und lokaler Verarbeitung.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/SergeoDev01/voiceover-glass-reel/tree/HEAD

In Ihrer bevorzugten KI fragen

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

Dokumentation

Voiceover → Glas-Reel

Eine Anfrage, ein fertiges MP4. Der Benutzer gibt eine Sprachdatei (jedes Audio- oder Videoformat, beliebige Länge bis ca. 3 Minuten) und optional den Skripttext, eine Themennotiz oder Referenzlinks. Du erledigst alles andere und stoppst nur:

  • einmal für Downloads wie Logos. Es gibt kein Guthaben: Alles wird kostenlos beschafft (siehe references/higgsfield.md – getestete Pixabay / Wikimedia / thesvg-Rezepte). Berichte, was woher beschafft wurde, aber Geld kommt nie ins Gespräch, es sei denn, der Benutzer fragt ausdrücklich nach dem kostenpflichtigen Anhang.

Arbeite im Chat in der Sprache des Benutzers. Alles auf dem Bildschirm ist in der Sprache der Sprachaufnahme.

Was es macht

Verwandelt JEDE Sprachaufnahme (und optional ein Skript) in einer einzigen Anfrage in einen fertigen 16:9-Dokumentations-Reel in After Effects. Es schneidet Pausen und Atemgeräusche, schreibt die visuelle Geschichte, beschafft jedes Bild kostenlos (Wikimedia Commons-Archivfotos, Pixabay MCP-Clips und Porträts, Logo-SVGs über das thesvg MCP, ffmpeg-Ken-Burns-Bewegungen aus Standbildern) und baut den Schnitt nativ in After Effects. Der Look: düsterer Archiv-Dokumentarfilm, jeder Clip in einem schwebenden abgerundeten Glasrahmen mit einem dünnen leuchtenden Rand und einem sanften Einzoom, ein bewegliches Perspektivraster mit Keywords, die die Farbe beim Wort wechseln, große gesprochene Bildunterschriften, Schreibmaschinen-/Riesenwort-/Fotokartenseiten, Blitze und Negativ-Effekte an den Schnitten, synthetisierte Soundeffekte. Es rendert ein 1080p H.264 MP4. Verwende es immer dann, wenn jemand eine Sprachaufnahme, Sprachnotiz, Erzählung oder einen Podcast-Clip gibt und einen Reel, ein Video, einen Kurzfilm, einen Erklärfilm oder einen Schnitt daraus haben möchte: „Mach ein Video aus meiner Sprachaufnahme“, „Verwandle diese Erzählung in einen Reel“, „Glasrahmen-Schnitt“, „Einen Clip aus einer Sprachaufnahme“, „Mach einen Reel aus meiner Sprachaufnahme“, „Schneide ein Video zu meiner Stimme“, „Glasrahmen und ein Raster“. Dies gilt auch, wenn sie überhaupt kein Filmmaterial haben.

Bevor du beginnst (einmal pro Mac prüfen; sag dem Benutzer genau, was zu tun ist, falls etwas fehlschlägt)

  1. macOS 26 oder neuer (On-Device-Transkription) mit After Effects 2024 oder neuer, geöffnet. In AE aktiviere Einstellungen → Scripting & Ausdrücke → Skripten erlauben, Dateien zu schreiben und auf Netzwerk zuzugreifen.
  2. Xcode-Befehlszeilentools (swiftc). Führe scripts/build_tools.sh aus. Es kompiliert scripts/bin/{to_wav,transcribe,facebox,frames}. Wenn ein Skript mit „Permission denied“ fehlschlägt (ein hochgeladener Skill kann das Ausführungsbit verlieren), führe einmal chmod +x scripts/*.sh im Ordner dieses Skills aus.
  3. Kostenlose Beschaffung bereit: die pixabay- und thesvg-MCP-Tools (search_pixabay_images, search_pixabay_videos, search_icons, list_variants, get_icon_url, get_icon) plus curl und ffmpeg (beide bereits von der Engine verwendet). Wikimedia Commons benötigt nur Internet + einen korrekten User-Agent. Keine Credits, keine Konten, keine Salden zum Überprüfen.
  4. Der erste transcribe-Lauf fragt möglicherweise nach der Sprachberechtigung. Er kann auch einmal das On-Device-Modell herunterladen.
  5. Wenn ein anderes AE-Projekt mit ungespeicherten Änderungen geöffnet ist, verweigert build.sh. Bitte den Benutzer, es zu speichern. Verwerfe niemals seine Arbeit. Das Build-Log gibt PREVIOUS_PROJECT <Pfad> aus, wenn es ein gespeichertes Projekt geschlossen hat. Öffne es nach dem endgültigen Rendern erneut: Schreibe ein einzeiliges jsx app.open(new File("<Pfad>")); und führe es mit scripts/ae_run.sh aus.

S = der Ordner dieses Skills. PY = /usr/bin/python3 (oder jedes Python 3.9+, nur Standardbibliothek).

Pipeline

1. Projektordner und Sprachaufnahme

  • Erstelle <proj> = einen neuen Ordner neben der Sprachdatei namens <Name_der_Sprachdatei>_reel.
  • Führe PY S/scripts/reel.py prep <voiceover> <proj> aus. Es konvertiert das Audio, transkribiert es auf dem Mac und entfernt alle Pausen und Atemgeräusche. Die Ergebnisse sind work/voice_cut.wav und work/words.json (Wortindex → Programmzeit).
  • Führe dann PY S/scripts/reel.py words <proj> aus und lies das gesamte indizierte Transkript.
  • Wenn der Benutzer ein Skript gegeben hat, vergleiche es mit dem Transkript. Notiere falsch gehörte Namen für spell (z. B. "28": "Grok").

2. Geschichte (lies references/story.md, schreibe dann <proj>/story.json)

  1. Entscheide die Welt, die zum Skript passt: Epoche, Ort, ein wiederkehrender Cast von 2–5 Charakteren, 3–6 Orte, Schwarz-Weiß oder Farbe.
    • Standard: ein Schwarz-Weiß-Archiv-Dokumentarfilm der 1950er–60er Jahre, in dem abstrakte Themen zu Personen und Orten werden.
    • Wähle einen Host-Look. Wenn der Benutzer selbst erscheinen möchte, verwende sein Foto als Host-Referenz.
  2. Teile das Transkript in Shots. Jeder Shot beginnt mit einem Wortindex.
    • host (spricht zur Kamera im Fernseher): 3–6 Shots, je 2–6 s. Verwende sie beim Einstieg, den Wendepunkten und dem Call-to-Action. Zusammen machen sie etwa 15–20 % der Laufzeit aus.
    • clip (generiertes Filmmaterial im Glasrahmen): die meisten Shots, je 1,5–3 s.
    • type (Schreibmaschinenseite): die einleitende Frage oder Abschnittstitel, maximal 6 Wörter.
    • giant (ein riesiges Wort mit einem roten Etikett und einer Serifen-Unterzeile): ein benanntes Konzept.
    • cards (2–4 Fotokarten mit Logo-Abzeichen, ein Name pro Wort): wenn die Stimme Personen, Produkte oder Marken aufzählt. Logos erscheinen nur, wenn sie gesprochen werden.
    • list: wenn die Stimme 2–4 Punkte aufzählt, markiere diesen Wortbereich. Seine Keywords wechseln in die Akzentfarbe des Wortes.
    • keys: maximal eines pro Satz.
    • hits: invert bei 3–6 dramatischen Schnitten, strobe bei maximal 2 „es wurde noch verrückter“-Momenten, burn bei maximal 2 Höhepunkten.
    • Zeige niemals denselben Clip-Moment zweimal.
  3. Schreibe die Beschaffungsliste aus den Shots:
    • Jeder Story-Clip besteht aus 8–12 s Stock-Filmmaterial (oder einem Ken-Burns-Schwenk über ein beschafftes Standbild), der aufeinanderfolgende Shots abdeckt, sodass ein Clip mehrere Shots durch verschiedene in-Zeiten speist;
    • Kartenporträts, Orte und jegliches Host-Material – alles kostenlos beschafft;
    • ein optionaler Musikteppich (oder keiner: der Build überspringt ihn, wenn music fehlt).

3. Beschaffe die Assets (lies references/higgsfield.md)

  1. Beschaffe in dieser Reihenfolge: Story-Clips → Kartenporträts → Orte → (falls beibehalten) TV-Platte → (falls beibehalten) Host-Clips. Überprüfe jeden Download gemäß den getesteten Rezepten (HEAD content-type + content-length, curl -A UA + Wiederholungen, SHA-1, wenn Commons einen angibt). Zeichne Datei → Quell-URL → Lizenz → Autor in work/SOURCES.md auf.
  2. Story-Clips: Pixabay search_pixabay_videos (video_type: "film", passende Ausrichtung, Dauer 8–15 s) oder Commons filetype:video (imageinfo → Download mit dem curl-Rezept → Konvertierung von Talks .ogv/.webm zu MP4). Standbilder werden mit dem ffmpeg-Rezept zu Ken-Burns .mp4.
  3. Host-Clips (nur wenn der Benutzer selbst vor der Kamera erscheint):
    • PY S/scripts/reel.py chunks <proj> schreibt einen Audio-Chunk pro Host-Shot nach work/host/host_NN.wav;
    • setze das Chunk-Audio auf ihren Webcam-Clip und speichere es als assets/host/host_NN.mp4 (ffmpeg -map 0:v:0 -map 1:a:0 -shortest) – reel.py align gleicht dann die Wörter exakt ab;
    • PY S/scripts/reel.py align <proj> misst den Offset jedes Clips von den Wörtern. Kein eigenes Filmmaterial → strukturiere diese Host-Beats stattdessen als type / giant / cards-Seiten um.
  4. Wenn eine TV-Platte verwendet wird, führe PY S/scripts/reel.py screen <proj>/assets/tv_plate.png <proj> aus. Es findet den Greenscreen. Wenn keiner gefunden wird, übermale ihn neu (ffmpeg drawbox, §2 der Referenz) oder wechsle die Host-Shots in den full-Modus – keine Platte nötig.
  5. Führe PY S/scripts/reel.py sfx <proj> aus, um die Soundeffekte zu synthetisieren (keine Lizenzen erforderlich).
  6. Musik: lasse music weg (Standard), verwende den Track des Benutzers oder konvertiere eine Commons-Audiodatei in MP3.

4. Bauen und prüfen

  1. Führe PY S/scripts/reel.py plan <proj> aus. Es schreibt work/plan.json und gibt Prüfungen aus. Behebe jeden ERROR in story.json. Nimm WARNS ernst: wiederholte Clips, Host-Lippensynchronität.
  2. Führe S/scripts/build.sh <proj> aus. Es baut <proj>/reel.aep (Komp REEL) in etwa 1 Minute für einen 70 s Reel. Lies das Log: verwendete Schriften, Warnungen.
  3. Führe S/scripts/render.sh <proj> --half für eine schnelle Prüfung aus (~2 min). Überprüfe dann die Frames:
    • S/scripts/bin/frames <proj>/out/reel_half.mp4 <proj>/work/check.jpg 4 <die mittlere Sekunde von ~16 Shots>;
    • schau dir check.jpg an: Bildunterschriften lesbar und nicht über Gesichtern, Host-Lippenbewegung im Fernseher, Glasrahmen vorhanden, keine schwarzen Lücken, Seiten nicht leer. Korrigiere in story.json, führe dann plan, build und die Prüfung erneut aus.
  4. Final: führe S/scripts/render.sh <proj> aus. Es schreibt <proj>/out/reel_1080.mp4 (1920×1080, 25 fps, etwa 40 Mbps, mit Ton).
  5. Sende das MP4. Berichte:
    • seine Länge;
    • was du nicht überprüfen konntest;
    • die Stelle für manuelle Anpassungen (reel.aep: jeder Shot ist eine eigene Komp in 02_SHOTS / 03_PAGES, die Bildunterschriften sind in CAPTIONS).

Regeln

  • Rechte:
    • Beschaffe alles kostenlos: Pixabay MCP, Wikimedia Commons (prüfe die Lizenz jeder Datei), thesvg MCP für Logos, plus lokale Synthese (ffmpeg Ken-Burns, reel.py sfx). Kein kostenpflichtiger Dienst standardmäßig; der Higgsfield-Anhang ist nur, wenn der Benutzer ausdrücklich danach fragt.
    • Scrap niemals Filme, Serien, Anzeigen oder die Social-Media-Beiträge anderer Personen.
    • Logos nur über das thesvg MCP oder Wikimedia Commons und nur nach Zustimmung des Benutzers.
    • Die Musik ist optional (weggelassen, eigener Track des Benutzers oder eine Commons-Datei, die in MP3 konvertiert wurde).
    • Die Soundeffekte werden von reel.py sfx synthetisiert.
  • Die Stimme ist der Taktgeber.
    • Jeder Schnitt landet auf einem Wort, einen Frame davor. reel.py erledigt dies.
    • Ändere niemals die Geschwindigkeit oder die Wörter.
    • Bildunterschriften zeigen genau das, was gesprochen wird, abgesehen von spell-Korrekturen falsch gehörter Namen.
  • Personen:
    • bescheiden, epochengerechte Kleidung;
    • realistische Erwachsene;
    • keine echten Persönlichkeiten des öffentlichen Lebens als Charaktere;
    • KI-Modelle und Unternehmen werden als erfundene Charaktere dargestellt und nur durch Bildunterschrift und Logo benannt.
  • Wiederholungen sind billig. plan und build sind deterministisch und bauen reel.aep von Grund auf neu. Ändere story.json anstatt reel.aep von Hand zu bearbeiten, es sei denn, der Benutzer bittet um manuelle Bearbeitungen. Sobald sie reel.aep selbst bearbeitet haben, baue niemals ohne Nachfrage darüber hinweg.
  • AE führt ein Skript nach der Zeit aus.
    • Verwende nur scripts/ae_run.sh, build.sh und render.sh.
    • Exit 4 bedeutet, dass AE noch beschäftigt ist: warte, sende nie erneut.
    • Exit 6 bedeutet, dass AE das Skript nicht gestartet hat: Ist ein Dialog geöffnet?

Dateien

PfadWas
scripts/reel.pyprep / words / chunks / align / screen / sfx / plan (nur Standardbibliothek)
scripts/build.sh, scripts/ae/build_reel.jsx, scripts/ae/reel_lib.jsxder After Effects-Build
scripts/render.shaerender zu H.264 (--half für Prüfungen)
scripts/ae_run.shsendet ein Skript an das laufende AE und wartet
scripts/tools/*.swift → scripts/bin/Audiokonvertierung, On-Device-Transkription, Gesichtsboxen, Framebögen
references/story.mdstory.json-Format, Schussregeln, ein vollständiges Beispiel
references/higgsfield.mdkostenloses Beschaffungshandbuch: getestete Pixabay / Wikimedia / thesvg-Abruf- und Verifizierungsrezepte, Pro-Asset-Zuordnung, Paid-Generation-Anhang
references/look.mdwas der Build zeichnet (Größen, Zeitsteuerungen, Farben) und wie man es anpasst
references/troubleshooting.mdFehler und Korrekturen
references/example_story.jsondas story.json eines fertigen 70 s Reels (der EXPERIMENT-Test)
PROMPT.mdwie man den Skill installiert und die eine Eingabeaufforderung zum Senden

Verwandte Skills