Communitygithub.com

uday629/talking-head-short

Meistereditor für vertikale Talking-Head-Kurzvideos (Reels, TikTok, Shorts). Aus einem Rohclip transkribiert, entfernt er schlechte Takes und Stille, erkennt die Nische (24-Genre-Matrix), fragt den Benutzer nach Stiloptionen und rendert einen professionellen Schnitt mit Golden-Ratio-kinetischen Untertiteln, bedeutungsgesteuerten Bewegungsgrafiken, lizenziertem B-Roll, Musik, SFX und Schriftarten, Farbkorrektur und QA.

Was ist talking-head-short?

Dieses Skill ist ein spezialisierter Meistereditor für vertikale Talking-Head-Kurzvideos, optimiert für Plattformen wie Instagram Reels, TikTok und YouTube Shorts. Es nimmt einen einzelnen Rohclip (z. B. von einem Coach, Gründer, UGC- oder Erklärvideo) und wandelt ihn in ein professionelles, virales Kurzvideo um. Der Workflow umfasst Transkription, automatische Entfernung von Füllwörtern und Pausen, Nischenerkennung (basierend auf einer 24-Genre-Matrix), benutzerdefinierte Stilauswahl (Schriftarten, Farbpalette, visuelle Dichte, Musik, B-Roll) und das Rendern eines fein abgestimmten Videos mit Golden-Ratio-Untertiteln, bedeutungsgesteuerten Bewegungsgrafiken, lizenzierten Assets von Mixkit und Google Fonts sowie automatischer Qualitätssicherung. Das Skill unterstützt die Ausführung in Sandbox-Umgebungen (z. B. claude.ai Code Execution) mit intelligenten Fallback-Mechanismen für blockierte Quellen. Es kann Assets von HuggingFace, Mixkit, Google Fonts und GitHub beziehen; falls keine Netzwerkverbindung besteht, wird der Benutzer aufgefordert, die Netzwerkeinstellungen anzupassen. Der Workflow ist interaktiv: Der Benutzer wird vor dem Rendern nach Stilpräferenzen gefragt, und es werden Zwischenergebnisse (Styleframes) zur Freigabe vorgelegt. Bei Bedarf kann der Benutzer den Schnitt durch Anpassen der `spec.json`-Datei verfeinern. Das Skill enthält außerdem eine Lizenzverwaltung, um sicherzustellen, dass nur lizenzfreie oder CC0-lizenzierte Assets verwendet werden.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/uday629/talking-head-short-skill/tree/HEAD/talking-head-short

In Ihrer bevorzugten KI fragen

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

Dokumentation

Talking-Head Short — Meistereditor

Schreibe knappe Antworten. Gib keine Transkripte oder langen Logs wieder. Korrigiere Dinge, indem du spec.json mit dem Edit-Tool bearbeitest, niemals durch Neuschreiben. Jedes Skript gibt einen kompakten Bericht aus; lies ihn, handle und mach weiter.

S=<dieses Skill-Verzeichnis>/scripts, WD=<Arbeitsverzeichnis neben der Rohdatei>/ths_<name>.

0. Einrichtung (einmal pro Maschine/Sandbox)

bash $S/setup.sh → verwende die ausgegebene PY=. Es installiert alles von PyPI, einschließlich eines statischen ffmpeg, falls keines existiert. Jeder Download hat einen automatischen Fallback. Sandboxen (claude.ai Code Execution, kostenlos oder kostenpflichtig) blockieren normalerweise HuggingFace, Mixkit und die Google Fonts API, erlauben aber GitHub:

  • Transkriptionsmodell: HuggingFace → GitHub-Mirror (whisper-base, dann whisper-tiny)
  • Musik/SFX: Mixkit → GitHub-Mirror CC0-Paket (IDs sehen aus wie pack:lofi_chill)
  • Schriftarten: Google Fonts Repo → jsDelivr → GitHub-Mirror OFL-Paket (32 Familien) → Systemschriftart
  • B-Roll: Mixkit → keins (Karten verwenden oder den Benutzer bitten, Clips hochzuladen) Wenn das Setup „no network“ ausgibt / pip fehlschlägt: Die Sandbox hat den Netzwerkausgang AUS. Sage dem Benutzer genau (eine Nachricht): „claude.ai → Einstellungen → Funktionen → Codeausführung → Netzwerkzugriff: Alle Domains (oder hinzufügen: pypi.org, files.pythonhosted.org, github.com, objects.githubusercontent.com, release-assets.githubusercontent.com, api.github.com, raw.githubusercontent.com, cdn.jsdelivr.net, huggingface.co, mixkit.co, assets.mixkit.co), dann starte einen neuen Chat und führe /talking-head-short erneut aus.“ Versuche die Bearbeitung nicht ohne numpy/ffmpeg. Nur wenn alle Quellen fehlschlagen: Bitte um ein eingefügtes Transkript → $PY $S/align_text.py $WD transcript.txt. Assets werden in ~/.ths_assets zwischengespeichert.

1. Analysieren

$PY $S/analyze.py RAW $WD Es gibt die Auflösung, den Augenpunkt, die saubere Länge, automatisch entfernte Füllwörter/Stotterer/Neustarts, CHECK (weiche Füllwörter, Wörter mit geringer Konfidenz, lange Pausen) und TEXT mit Zeitstempeln alle 8 Wörter aus.

  • Bewerte schlechte Takes selbst. Entferne Fehlstarts, unvollendete Sätze, „weißt du, so ja“, „irgendwie“. Behalte rhetorische Wiederholungen. Führe erneut aus mit --remove '[[s,e],...]' (Quellsekunden). Das Transkript wird zwischengespeichert.
  • Sieh dir $WD/frames.jpg nur an, wenn der Augenpunkt oder die Bildeinstellung zweifelhaft ist.

2. Briefing (im Kopf, dann 4 Zeilen an den Benutzer)

Schreibe: Thema · Kernbotschaft · Emotionsbogen (Hook → … → Payoff) · Nischenzeile (aus NICHES) · Ton (ruhig/ausgeglichen/energetisch) · Rohformat (Weit oder Nah). Führe dann $PY $S/style.py RAW "<Nische>" --out $WD/style.json aus. Es gibt die angepasste Palette mit Begründung, Schriftarten, MG/B-Roll/Musik/SFX-Richtung und wichtige Hinweise aus. Lies references/craft.md einmal (die Regeln) und references/spec.md (das Spezifikationsformat).

3. Vor dem Bauen fragen (niemals zuerst rendern)

Verwende AskUserQuestion falls verfügbar; andernfalls eine kompakte nummerierte Nachricht. Empfehle jedes Mal Option 1.

  1. Stil: Erkannte Nische + Ton (z. B. „Selbsthilfe · ruhig-reflektierend“) vs. 1–2 Alternativen.
  2. Schriftarten: Das Paar der Zeile vs. 2 Alternativen mit klarem Stilkontrast (serifenlose Führung + serifenbetonte/kursive Haupt- oder fette serifenlose Haupt- + kursive serifenbetonte Akzente).
  3. Palette: An das Filmmaterial angepasste Zeilen-Palette vs. vom Filmmaterial abgeleitete vs. eine Markenfarbe, die der Benutzer angibt.
  4. Visuelle Dichte: Minimal (Untertitel + 2–3 Karten) · Ausgewogen (Untertitel + 4–6 Karten / B-Roll) · Reichhaltig (mehr MG + B-Roll).
  5. Musik: 3 lizenzierte Kandidaten von $PY $S/assets.py music "<Stimmung>" (ID · Titel · Tags), oder keine.
  6. B-Roll: Ja (lizenziertes Stockmaterial, das wörtliche Zeilen abbildet) / Nein. Überspringe jede Frage, die der Benutzer bereits beantwortet hat. Warte auf die Antworten.

4. Assets sammeln

  • Schriftarten: $PY $S/assets.py font "Familienname" ...
  • Musik, SFX, Video: Führe assets.py music|sfx|video "<Suchbegriff>" aus, um eine Liste zu erhalten, dann assets.py get <Art> <ID> $WD.
    • SFX nach Ton: ruhig → „air woosh“, „chime“; ausgeglichen → „whoosh“, „pop“; energetisch → „swoosh“, „impact“ (einmal verwendet).
  • Blockierte Quellen fallen automatisch zurück (Paket-IDs). assets.py pack listet das gesamte Offline-CC0-Paket auf.

5. spec.json schreiben, planen, Styleframes

  1. Schreibe $WD/spec.json (siehe references/spec.md): Untertitel in gesprochener Reihenfolge, Karten zu den richtigen Abschnitten, Audio.
  2. $PY $S/engine.py $WD --plan → behebe jedes ISSUE durch Bearbeiten der Spezifikation (Beats kürzen oder zusammenführen, Untertitel unter Karten verschieben oder entfernen), dann erneut planen, bis keine oder nur akzeptable ISSUEs gemeldet werden.
  3. $PY $S/engine.py $WD --frames t1,... mit 10–15 Zeitpunkten: jede Kartenmitte und Ende−0,3 s, und jeder Untertitel bei seinem Ende−0,1 s. Sieh dir $WD/styleframes.jpg an und korrigiere alles Abgeschnittene, Überfüllte, Fehlausgerichtete oder Nicht-Palettenkonforme.
  4. Zeige dem Benutzer die Styleframes mit einer Zeile („ok zu rendern?“). Wiederhole nur das, was er beanstandet.

6. Rendern, Mischen, QA

  • bash $S/render.sh $PY $WD rendert Teile parallel und verkettet sie (≈5 min pro Minute Video auf einem Laptop). In einer Sandbox mit Zeitbegrenzung pro Befehl führe $PY $S/engine.py $WD --render --part i/N einmal pro Teil aus, dann --concat N.
  • $PY $S/mix.py $WD → final.mp4 (Sprachbereinigung, geduckte Musik mit Payoff-Ausrichtung, SFX, -14 LUFS).
  • $PY $S/qa.py $WD → sieh dir qa_endframes.jpg an. Jedes Beat- und Kartenende muss fertigen Text und Animation zeigen. Blitzframes müssen keine sein.
  • Gib den Dateipfad sowie 3 Zeilen darüber aus, was du gewählt hast und warum. Erwähne Assets, die du nicht herunterladen konntest.

Nicht verhandelbar (warum: jedes wurde als amateurhaft kritisiert)

  • Untertitel werden nie abgeschnitten. Die Führung ist ≤ Hauptbreite und liegt nah dran. Zwei kontrastierende Schriftstile im Goldenen Schnitt. Niemals einzelne Füllwörter untertiteln.
  • Bewegungsgrafiken zeigen die Bedeutung, enden vor dem Szenenwechsel und bleiben in einem visuellen System. Keine Strichmännchen oder Cliparts.
  • Glatt: ein erleichterter, augengebundener Zoom über Schnitte hinweg; keine Blitzframes; abwechslungsreiche Übergänge.
  • Nur Farbkorrektur. Nur lizenzierte Assets (Mixkit / Google Fonts OFL), mit LICENSES.txt im Ordner $WD.

Verwandte Skills