Communitygithub.com

perso-ai/perso-dubbing-plugin

Begleiter-Skill für Perso Clips: Kurzvideo-Tooling zusammen mit dem Perso Dubbing-Plugin. Demo-GIFs in docs/media.

Was ist perso-dubbing-plugin?

Dieser Skill (/clip) unterstützt Entwickler und KI-Agenten beim Schneiden langer Videos in kurze, vertikale Clips (9:16) mit automatischer Reframing-Optimierung. Er bietet zwei Hauptzugänge: explizite Zeitangaben (völlig offline, keine KI-Schlüssel nötig) oder KI-gestützte Highlight-Auswahl auf Basis von Spracherkennung (STT) – letzteres erfordert ein Projekt mit Transkription und Wort-Zeitstempeln. Der Skill arbeitet eng mit dem /srt-Skill zusammen: Nach dem Schneiden werden Untertitel optional hinzugefügt, wobei der Benutzer aus einer Galerie von Stilvorlagen wählen kann (z. B. Karaoke oder Bold-Punch). Plattformübergreifend einsetzbar (Claude App, Desktop), läuft als Hintergrundprozess und teilt Bibliotheken mit dem Dubbing-Skill. Die Konfiguration erfolgt über Umgebungsvariablen wie PERSO_API_BASE, XP_API_KEY u. a.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/perso-ai/perso-dubbing-plugin/tree/main/skills/clip

In Ihrer bevorzugten KI fragen

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

Dokumentation

/clip

Schneide ein Video in kurze Clips + reframe. Untertitel sind nicht die Aufgabe dieses Skills – nach dem Schneiden formatiert sie der /srt-Skill (siehe Übergabe unten).

Einstiegspunkte

  • Explizite Zeitangaben ("Schneide 2:00–3:00 dieses Videos") → schneide die lokale Datei direkt: --video "<datei>" --ranges "2:00-3:00,…". Kein STT, kein Schlüssel, keine Credits.

  • KI-Highlight-Auswahl bei einem STT-Projekt → --plan dann --clips (der Ablauf unten). Benötigt das Transkript des Projekts + Wort-Zeitstempel.

  • Raw-Video, "finde die guten Momente" (keine Zeitangaben) → du kannst keine Highlights ohne Transkript auswählen, also frage den Benutzer, was er möchte:

    • STT (richtige Auswahl, verbraucht Credits): führe zuerst das STT des /srt-Skills aus, um das Projekt zu erstellen, schneide es dann mit --plan/--clips.
    • Frei (kein STT): der Benutzer gibt die Zeitangaben und du schneidest sie mit --video --ranges.

    Folge seiner Wahl – führe kein STT (das Credits kostet) ohne Zustimmung aus.

Kernregeln

  • Nur der Worker sieht den Raw-Key – niemals öffnen, ausgeben oder als Argument übergeben.
  • Die Schlüsselbegrenzung gilt nur für --project/--plan/--clips. --video --ranges und --sidecars sind vollständig offline – niemals eine Schlüsselprüfung/-registrierung für diese ausführen.
  • Im Hintergrund ausführen – die Kodierung dauert.
  • Dieser Skill teilt die Bibliotheken des Dubbing-Skills: der dubbing-Ordner muss neben clip installiert sein.

Ablauf

Phase 1 – Planung. node scripts/clip.mjs --project <seq> --plan gibt die Abschnittskarte des Summarys (Themenführung) plus das vollständige Satztranskript aus, jede Zeile als order [start-end] text.

Phase 2 – Auswählen, dann schneiden. Lese das Transkript und wähle Clips aus, jeder { "title": "…", "start_order": N, "end_order": M }. Bewertungskriterien:

  • Hook zuerst – beginne mit einem Satz, der Aufmerksamkeit erregt (Frage, gewagte Behauptung, lustige/überraschende Zeile).
  • Ende dort, wo der Moment aufgelöst wird, nicht beim ersten vollständigen Satz. Reite den Beat bis zum Ende – die ganze Reaktion, der Nachhall und jeder sekundäre Point. Lies ein paar Sätze über das scheinbare Ende hinaus; behalte sie, wenn sie noch zur selben Reaktion gehören.
  • Schneide am Übergang – ende kurz bevor die Energie nachlässt oder der Ton wechselt (aufgeregte Reaktion → ruhige Erzählung).
  • Höhepunkt – bevorzuge lustige/überraschende/emotionale/zitierfähige Momente; der Höhepunkt liegt oft ein oder zwei Sätze nach der eigentlichen Enthüllung.
  • Länge 30–90s – der Worker warnt bei Abweichungen; bevorzuge den vollständigen Bogen gegenüber einem vorzeitigen Schnitt.
  • Titel – beschreibt den Moment; wird zum Dateinamen (01_<titel>.mp4).

Abschnitte sind kapitellang – verwende die Abschnittskarte nur als Orientierung, verdichte dann zu einem Hook.

Ausführen: node scripts/clip.mjs --project <seq> --clips '<json>' [--out ordner] (--clips akzeptiert auch @pfad). Quellen im Querformat (16:9) werden auf 9:16 (Drama-Shorts Letterbox) reframed; Hochformatquellen bleiben erhalten. Der Worker schreibt die Clips plus ein clips.json-Manifest (dokumentiert jeden Clip + den Transkriptauschnitt, der später für Untertitel benötigt wird). Leite [progress] weiter; liefere die Dateien aus [clips-output].

Untertitel → Übergabe an den /srt-Skill

Untertitel sind standardmäßig deaktiviert. Nach dem Schneiden informiere den Benutzer, dass die Clips bereit sind, und frage, ob Untertitel hinzugefügt werden sollen. Wenn der Benutzer Untertitel wünscht, zeige zuerst die Voreinstellungen – springe niemals direkt zu einer, genau wie der Styling-Ablauf des /srt-Skills: die interaktive Galerie (auswählen + Anwenden) in der Claude App, oder das statische ../srt/assets/style_presets.png + node ../srt/scripts/style.mjs --list-presets-Menü woanders. Lass den Benutzer eine Voreinstellung wählen oder einen Stil beschreiben (Voreinstellungen für Short-Form wie karaoke/bold-punch passen zu Clips). Erst nach der Auswahl:

  1. Schreibe die Sidecars: node scripts/clip.mjs --sidecars "<ausgabe>/clips.json" – füge --karaoke nur für eine Karaoke-Voreinstellung hinzu (es schreibt auch <clip>.timestamps.json für gemessenes Wort-Timing; eine einfache Voreinstellung benötigt nur die .srt).
  2. Stylee jeden Clip mit dem srt-Skill: node ../srt/scripts/style.mjs "<clip>.mp4" "<clip>.srt" --preset <id> (füge --word-timestamps "<clip>.timestamps.json" für Karaoke hinzu). Siehe den Abschnitt "Stil & Untertitel einbrennen" des /srt-Skills.

Füge --host <runtime> für Telemetrie (still) hinzu, wie bei den anderen Workern.

Konfiguration (Umgebungsvariablen)

Gleich wie bei /dubbing / /srt (PERSO_API_BASE/PERSO_MEDIA_BASE – nur perso.ai-Hosts, PERSO_SPACE_SEQ, XP_API_KEY, PERSO_NO_TELEMETRY, …).

Individual skills in this repo

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

Verwandte Skills