Communitygithub.com

i0wU/claude-autocut

KI-gestützte Videobearbeitung für Talking-Head-Aufnahmen, die lokal ausgeführt wird. Automatische intelligente Schnitte, die lange Pausen, Füllwörter und wiederholte Takes entfernen, Interview- und Podcast-Bearbeitung, vertikale Videos für Reels, TikTok und Shorts, automatische Untertitel (SRT und eingebrannt) sowie einen animierten Podcast-/Cartoon-Modus, bei dem eine Papierausschnitt-Szene der Erzählung über dem Sprecher folgt.

Was ist claude-autocut?

Claude AutoCut ist ein lokales Tool zur automatischen Videobearbeitung, das auf einem wortbasierten Transkript arbeitet. Es nutzt Whisper (faster-whisper) für die Spracherkennung, FFmpeg für die Medienverarbeitung und Pillow für Untertitel. Für den Cartoon-Modus wird zusätzlich HyperFrames (Node.js) benötigt. Das Tool erfordert keine API-Schlüssel oder kostenpflichtigen Dienste – alles läuft auf dem Rechner des Benutzers. Die Hauptfunktion ist der automatische Schnitt von Talking-Head-Videos: Pausen über 0,7 Sekunden werden gekürzt, Füllwörter wie „ähm“ werden entfernt, und von zwei identischen Takes wird der bessere behalten. Kritische Schnitte, die die Aussage verändern, werden blockiert, bis der Benutzer sie explizit freigibt. Neben dem Schnitt können auch nur Untertitel generiert oder ein animierter Cartoon erstellt werden, bei dem eine Papierausschnitt-Szene synchron zur Erzählung über dem Sprecher abläuft. Das Tool ist für Claude Code, Cursor und andere KI-Agenten konzipiert und wird über ein Konsolenskript (`autocut.py`) gesteuert. Es unterstützt verschiedene Modi: Auto Edit (intelligenter Schnitt), Captions (nur Untertitel), Full Animated (komplette Animation) und Complete (Schnitt mit anschließender Animation). Vor der ersten Nutzung wird eine einmalige Einrichtung benötigt, die eine Python-Umgebung, FFmpeg und für den Cartoon-Modus Node.js umfasst. Die Bedienung erfolgt vollständig über die Kommandozeile. Jeder Bearbeitungsvorgang erstellt einen neuen Ordner mit Versionen, ohne jemals Quelldateien zu überschreiben. Ein detaillierter Entscheidungsbericht (`decisions.md`) dokumentiert alle entfernten Abschnitte mit Typ und Grund, sodass der Benutzer jederzeit nachvollziehen kann, was mit seinem Video passiert ist.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/i0wU/Claude-AutoCut-Skill/tree/HEAD/.claude/skills/claude-autocut

In Ihrer bevorzugten KI fragen

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

Dokumentation

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öchteModusBefehl
"dieses Video schneiden", "die Pausen entfernen", "die Ähms rausnehmen", "meine Wiederholungen bereinigen"Auto Editedit VIDEO -o PROJEKT
Untertitel auf ein Video, ohne es zu schneidenCaptionscaptions VIDEO -o ORDNER
eine animierte Szene über dem Sprecher, gesamte Aufnahme bleibt erhaltenFull Animatedcartoon init VIDEO -o PROJEKT, Storyboard, cartoon render
zuerst schneiden, dann das bearbeitete Video animierenCompletecomplete VIDEO -o ORDNER, Storyboard, cartoon render
"Cartoon", "animierter Podcast", ohne zu sagen, ob geschnitten werden solleinmal 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)

  1. python -m venv .venv und aktivieren, dann pip install -r "<skill-verz>/requirements.txt".
  2. FFmpeg (ffmpeg und ffprobe) im PATH.
  3. 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.
  4. 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)

  1. cartoon init VIDEO -o PROJEKT (Complete führt zuerst edit aus und erstellt das Cartoon-Projekt auf dem Schnitt).
  2. Lesen Sie PROJEKT/speech.md (Sprachblöcke mit Zeiten) und schreiben Sie PROJEKT/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 in references/cartoon.md. Lesen Sie dies, bevor Sie das erste Storyboard schreiben.
  3. cartoon check PROJEKT bis es keine Fehler mehr meldet. Bildschirmtexte dürfen nur Wörter verwenden, die gesprochen werden.
  4. cartoon snapshot PROJEKT --at 1.5,8,20 und betrachten Sie die Bilder in reviews/.
  5. cartoon render PROJEKT (oder --range 0-6 für einen schnellen Test). Ausgabe: renders/cartoon_vN.mp4 mit dem Quell-Audio unverändert kopiert; renders/cartoon_vN.qc.json prü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).

Verwandte Skills