Claude AutoCut
Lokale Videobearbeitung gesteuert durch ein wortbasiertes Transkript. Alles läuft auf dem Rechner des Benutzers: Whisper (faster-whisper) für die Spracherkennung, FFmpeg für Medien, Pillow für Untertitel und, nur im Cartoon-Modus, HyperFrames (Node.js) für die Animation. Kein API-Schlüssel, kein kostenpflichtiger Dienst, nichts wird hochgeladen.
Die Befehlszeile ist scripts/autocut.py in diesem Skill-Ordner. Führen Sie sie mit dem Python aus, das die
Abhängigkeiten installiert hat (siehe "Einrichtung"):
python "<skill-verz>/scripts/autocut.py" <befehl> ...
<skill-verz> ist das Basisverzeichnis dieses Skills (wird beim Laden des Skills angezeigt).
Modus wählen
| Der Benutzer möchte | Modus | Befehl |
|---|---|---|
| "dieses Video schneiden", "die Pausen entfernen", "die Ähms rausnehmen", "meine Wiederholungen bereinigen" | Auto Edit | edit VIDEO -o PROJEKT |
| Untertitel auf ein Video, ohne es zu schneiden | Captions | captions VIDEO -o ORDNER |
| eine animierte Szene über dem Sprecher, gesamte Aufnahme bleibt erhalten | Full Animated | cartoon init VIDEO -o PROJEKT, Storyboard, cartoon render |
| zuerst schneiden, dann das bearbeitete Video animieren | Complete | complete VIDEO -o ORDNER, Storyboard, cartoon render |
| "Cartoon", "animierter Podcast", ohne zu sagen, ob geschnitten werden soll | einmal nachfragen: alles behalten (Full Animated) oder zuerst schneiden (Complete)? |
Wenn die Anfrage mehrdeutig ist, fragen Sie mit einer kurzen Frage nach dem Modus und empfehlen Sie einen. Führen Sie
vor allem anderen einmal doctor in der Sitzung aus: es sagt, welche Modi auf diesem Rechner bereit sind.
Einrichtung (einmal pro Rechner)
python -m venv .venvund aktivieren, dannpip install -r "<skill-verz>/requirements.txt".- FFmpeg (
ffmpegundffprobe) im PATH. - Nur Cartoon-Modi: Node.js 18+ (npx und npm). HyperFrames 0.8.79 wird von npx bei der ersten Nutzung geholt und niemals automatisch aktualisiert; jedes Cartoon-Projekt installiert GSAP mit npm.
python "<skill-verz>/scripts/autocut.py" doctor
Die erste Transkription lädt das Whisper-Modell herunter (--model tiny ~75 MB, small ~480 MB, die Voreinstellung).
Verwenden Sie --language, wenn die Sprache bekannt ist; --model medium oder large-v3 für schwieriges Audio.
Auto Edit
python "<skill-verz>/scripts/autocut.py" edit input.mp4 -o edits/mein-video [--language de] [--model small]
Schritte: Transkript → Analyse → Plan → Rendern → Überprüfung (der Schnitt wird erneut transkribiert und verglichen) →
Untertitel → REPORT.md. Ausgaben im Projektordner: renders/cut_vN.mp4 (sauberer Schnitt),
renders/final_vN.mp4 (mit eingebrannten Untertiteln), captions_vN.srt, decisions.md (jeder entfernte Abschnitt mit
Typ und Grund), analysis.md, verify_vN.json. Nie wird etwas überschrieben: jedes Rendern erzeugt eine neue Version.
Das Quellvideo wird nur gelesen.
Was der Plan von sich aus tut (bewusst konservativ):
- kürzt Stille vor dem ersten und nach dem letzten Wort;
- verkürzt Pausen länger als 0,7 s, entfernt sie aber nie; eine Pause nach dem Ende eines Satzes behält mehr (eine mögliche Betonungspause);
- entfernt Fülllaute und einen unvollständigen Take, der direkt danach wiederholt wird;
- von zwei vollständigen Takes desselben Satzes behält er den saubereren anhand von Indizien, nie "den letzten" oder "den kürzesten"; sind die Indizien gleich, bleiben beide und der Fall wird unter "Zu prüfen" aufgeführt;
- behält hörbaren Ton, den das Transkript übersehen hat, und verwirft Text, den Whisper über Stille erfunden hat.
Das Tor (einschneidende Schnitte)
Ein Schnitt, der Wörter entfernt, die nirgendwo anders gesagt werden (Negationen eingeschlossen), ist einschneidend. Der
automatische Plan führt nie einen durch; sie stammen nur aus overrides.json (Schnitte, die Sie auf Wunsch des Benutzers
hinzufügen). Das Rendern stoppt, bis jeder einschneidende Schnitt eine Genehmigung erhalten hat. Zur Genehmigung zeigen
Sie dem Benutzer den genauen Abschnitt und die Wörter aus decisions.md, holen ein explizites Ja ein, dann:
python "<skill-verz>/scripts/autocut.py" approve PROJEKT --start 12.0 --end 18.5 --by "benutzer" --reason "Abschweifung entfernen gewünscht"
python "<skill-verz>/scripts/autocut.py" edit input.mp4 -o PROJEKT # Transkript wird wiederverwendet, neue Version gerendert
Zeichnen Sie niemals eine Genehmigung auf, die der Benutzer nicht gegeben hat. plan PROJEKT führt Analyse und Plan ohne
Rendern erneut aus.
overrides.json (im Projektordner)
{"cuts": [{"start": 12.0, "end": 18.5, "reason": "Themenabschweifung"}],
"keep": [{"start": 3.0, "end": 4.2, "reason": "das Füllwort gehört zum Witz"}],
"pauses": {"p04": {"action": "keep"}, "p07": {"keep_s": 0.8}}}
Pausen-IDs (p04) stammen aus analysis.md. Lesen Sie references/editing.md, um zu erfahren, wie Entscheidungen
klassifiziert werden.
Rückmeldung an den Benutzer
Lesen Sie REPORT.md und decisions.md und teilen Sie dem Benutzer kurz mit: Dauer vorher und nachher, was entfernt
wurde und warum, alles unter "Zu prüfen", ob die Überprüfung bestanden wurde (fehlende Wörter, beibehaltene Negationen).
Sagen Sie, dass Sie das Video weder hören noch sehen können: Rhythmus und Geschmack muss der Benutzer mit Ton bewerten.
Nur Untertitel
python "<skill-verz>/scripts/autocut.py" captions input.mp4 -o captions/mein-video [--no-burn] [--caption-y 0.75]
Schreibt captions.srt, captions.json und captioned.mp4. Vertikale Videos erhalten große Großbuchstaben-Untertitel
bei 70 % der Höhe; horizontale sitzen nahe dem unteren Rand. Jedes gesprochene Wort erscheint einmal, in der
Reihenfolge.
Cartoon (Full Animated und Complete)
cartoon init VIDEO -o PROJEKT(Complete führt zuersteditaus und erstellt das Cartoon-Projekt auf dem Schnitt).- Lesen Sie
PROJEKT/speech.md(Sprachblöcke mit Zeiten) und schreiben SiePROJEKT/storyboard.json: Szenen, die das gesamte Video lückenlos abdecken, jede mit einem Szenario, den Posen und Gesichtern des Moderators, Objekten und Bildschirmtexten. Das Schema, der Katalog (Szenarien, Posen, Gesichter, Objekte, Übergänge) und Layoutregeln befinden sich inreferences/cartoon.md. Lesen Sie dies, bevor Sie das erste Storyboard schreiben. cartoon check PROJEKTbis es keine Fehler mehr meldet. Bildschirmtexte dürfen nur Wörter verwenden, die gesprochen werden.cartoon snapshot PROJEKT --at 1.5,8,20und betrachten Sie die Bilder inreviews/.cartoon render PROJEKT(oder--range 0-6für einen schnellen Test). Ausgabe:renders/cartoon_vN.mp4mit dem Quell-Audio unverändert kopiert;renders/cartoon_vN.qc.jsonprüft Dauer und Audio.
Die Animation erfasst die Bedeutung der Sprache nur durch das von Ihnen geschriebene Storyboard: der Code versteht die Sprache nicht von selbst.
Regeln
- Modifizieren oder löschen Sie niemals das Quellvideo oder frühere Renderings.
- Fügen Sie niemals einen Schnitt hinzu, der die Bedeutung der Sprache verändert; genehmigen Sie niemals einen einschneidenden Schnitt für den Benutzer.
- Bildschirmtexte und Untertitel verwenden nur Wörter, die gesprochen werden.
- Führen Sie Renderings nacheinander aus; das Rendern von Cartoons ist rechenintensiv (siehe
references/troubleshooting.md). - Behaupten Sie nicht, dass das Ergebnis "gut klingt": Sie können es nicht hören. Berichten Sie, was gemessen wurde.
Wenn etwas fehlschlägt
Siehe references/troubleshooting.md (fehlendes FFmpeg, Modell-Download, Node/npx, HyperFrames, Speicher, falsche
Sprache, schlechte Transkription).