Video Studio – Automatische Filmproduktion
Dieses Skill erstellt eigenständig fertige Videos – es gibt nicht nur Anleitungen. Alle Aufgaben laufen über eine zentrale Stelle: scripts/autovideo.py.
Das Fachwissen (Kameraperspektiven, Rhythmus, Ton, Untertitel, CapCut, KI-Filme, praktische Lektionen) befindet sich in references/, um bei der Storyboard-Erstellung und der Auswertung von QC-Berichten fundierte Entscheidungen zu treffen.
Skript-Pfad: Verzeichnis dieser Datei + /scripts/ (Installation laut README: ~/.claude/skills/video-studio/scripts).
0. Slash-Befehle für Benutzer
/video:plan – Ideen, Drehbuch, Storyboard, Beleuchtung besprechen · /video:make – Neues Video erstellen · /video:revoice – Video neu vertonen ·
/video:subs – Untertitel · /video:reframe – Rahmen auf Hoch-/Querformat ändern · /video:library – Clip-Bibliothek · /video:qc – Qualitätskontrolle ·
/video:voices – Stimme je nach Zweck auswählen · /video:fix – Ruckeln/FPS/Wackeln korrigieren · /video:critic – Unabhängige Kritik · /video:slop – "AI Slop" erkennen und beheben · /video:capcut – Nach CapCut übertragen.
Auch wenn der Benutzer natürlich spricht (keine Befehle eingibt), wird nach der unteren Tabelle verfahren.
0b. MCP-Tool video-studio (bevorzugt, wenn verfügbar)
Wenn die Tools mcp__video-studio__* in der Sitzung vorhanden sind, rufen Sie diese direkt auf, anstatt die Skripte per Bash auszuführen:
- Schnell:
video_probe,video_qc,contact_sheet,voices_suggest,voices_catalogue,pronunciation_preview,shot_search,motion_stills,slop_check,slop_compare. - Längere Aufgaben (geben
job_idzurück, Nachverfolgung überjob_status/job_list):make_video,revoice_video,subtitle_video,convert_fps,reframe_video,stabilize_video,motion_graphic,critic_kit,voice_samples. Einmalige Registrierung:claude mcp add --scope user video-studio -e PYTHONIOENCODING=utf-8 -- python <repo>/scripts/mcp_server.py.
1. Befehl je nach Anforderung auswählen
| Benutzer möchte | Ausführen |
|---|---|
| Neues Video aus Idee/Drehbuch + Quellmaterial (Video, Bilder) | project.json nach templates/project_make.json schreiben → autovideo.py make project.json --out NAME_v1.mp4 |
| Off-Stimme eines vorhandenen Videos ändern / neu vertonen | autovideo.py revoice VIDEO.mp4 --script text.txt [--voice auto --zweck nachrichten] --out NAME_v1.mp4 [--subs] |
| Untertitel zum Video hinzufügen | autovideo.py subs VIDEO.mp4 --script text.txt --out NAME_sub.mp4 (Satzgrenzen automatisch anhand der Audiospur erkennen) |
| Video vor Abgabe prüfen | autovideo.py qc VIDEO.mp4 (+ contact_sheet.py zur Sichtprüfung) |
| Beliebiges FPS 24/25/30/50/60/120 ändern, Zeitlupe, Ruckeln korrigieren | fps_convert.py convert SRC OUT --fps 24 [--slowmo 4] (RIFE GPU) |
| Querformat → Hoch-/Quadratisch mit Motivverfolgung; virtuelles Schwenken/Zoomen; Bildstabilisierung | camera.py reframe / move / stabilize |
| Beste Szene aus Footage-Bibliothek auswählen, anhand Beschreibung suchen | shot_select.py scan / best / search |
| Farbabgleich zwischen Szenen, cinematischer Look | grade.py match / look / apply |
| Plattformspezifisch exportieren, Musik-Beat-Detektion | deliver.py export <preset> / beats |
| Ideen, Storyboard, Beleuchtung, Kameraperspektiven vor der Produktion besprechen | /video:plan + references/11-cinematography.md |
| Bewegungskarten, Kapitelmarken, Datenvisualisierung (Motion Graphics per Code) | motion_html.py stills/render + templates/motion/*.html oder Szene mit "source": {"html": ...} |
| Drehbuch/Video klingt "nach KI": Phrasendrescherei, unbelegte Zahlen, hohle Behauptungen, monotoner Rhythmus, übermäßige Effekte | /video:slop (slop_guard.py analysiert → neuer Agent schlägt Korrekturen vor → compare misst erneut) |
| Film vor dem Versenden bewerten (Prüfer ≠ Ersteller) | /video:critic (critic.py + neuer Agent, bewertet bis alle Kategorien ≥ 8) |
| Sprachausgabe je nach Zweck auswählen | voices.py suggest --zweck nachrichten --geschlecht weiblich, 2-3 Beispielstimmen generieren, Nutzer anhören lassen |
| Nach CapCut zur manuellen Feinabstimmung übergeben | --capcut NAME_ENTWURF an make/revoice anhängen oder capcut_api.py build --spec |
| KI-Film / Micro-Drama | references/09-ai-film-pipeline.md + storyboard.py jobs |
Alle Befehle sind zerstörungsfrei: überschreiben keine vorhandenen Dateien, speichern Zwischendateien in <out>_work/, erstellen BAO_CAO_QC.md (Bildfehler, Ruckeln, LUFS, % Textübereinstimmung). Lesen Sie den Bericht vor dem Absenden und geben Sie die Messwerte in der Antwort an.
2. project.json für make erstellen (am wichtigsten)
- Jede
szeneenthält einen Textabschnitt.quelleist eines von:{"datei", "ein", "aus"}(Video),{"bild", "effekt": zoom_in|zoom_out|pan_left|pan_right},{"farbe": "#0E2440"}. - Szenendauer = max(
dauer, Länge des Sprachteils + 0,9 s). Videoszene rückt automatisch in einen Originalshot zurück; falls Quelle nicht sauber genug, wird die Szene gekürzt, kein Freeze. - Bild muss genau zum gesprochenen Text passen (richtiges Bauwerk, richtiges Ereignis) – wählen Sie Quelle mit
probe_qc.py --inventory+contact_sheet.pyauf der Quelle, nicht anhand des Dateinamens raten. uebergang:cutinnerhalb derselben Idee,dissolvebei Themen-/Raumwechsel. Szene ≤ 7-8 s.- Text wie gesprochen schreiben; Zahlen und Einheiten belassen (
119 km,100 km/h) –tts_vi.pynormalisiert automatisch (Bindestriche/Gedankenstriche werden nicht zu "bis" gelesen). text_auf_bild: kurz, nur Zahlen/Namen aus dem Text; „—“ vermeiden.- Fortgeschritten: Projekt-
fpsbeliebig (Quellen mit anderem FPS durchlaufen automatischfps_convert), Videoszene mitslowmo,kamera(virtuelles Schieben/Schwenken),stabilisierung,intelligenter_rahmen(automatische Motivverfolgung beim Hochformat-Export); Projekt mitfarbe(Farbabgleich + Look) undnach_musik_schneiden(Schnitte auf Beats). - Stimme wird nicht erzwungen:
"stimme": "auto"(Standard) wählt nach"zweck"(unternehmen,nachrichten,doku,werbung,social_media,anleitung,elegant,kinder,event) +"geschlecht","region","klangfarbe"(tief/mittel/hell), basierend auf gemessenen Profilen jeder Stimme (voices.py profile: Lesegenauigkeit, Tonhöhe, Geschwindigkeit). Oder Angabe: Stimmenname VieNeu,{"edge": "vi-VN-HoaiMyNeural"},{"clone": "beispiel_stimme.wav"}(Sprecher muss zustimmen) oder echte Aufnahme"aufnahme": "satz3.wav"für jede Szene. Jede Szene/Figur kann eigene Stimme haben. Geben Sie immer 2-3 Vorschlagsstimmen (voices.py suggest) zum Anhören, bevor der Nutzer entscheidet. - Genauigkeit: Aussprachewörterbuch
templates/phat_am.json+ projekteigenes"aussprache"(Abkürzungen, Eigennamen); jeder Satz wird von Whisper nachgehört, Sätze unter"genauigkeit"(0,97) werden automatisch bis zu"wiederholungen"Mal neu gelesen, Bericht pro Satz; Untertitel richten sich nach tatsächlichen Wörtern. - Schnittoptionen:
"stil":feierlich|cinematic(Letterbox 2,39, filmisch) |doku|dynamisch(Schnitt auf Beats) |social_media(Rahmen folgt Motiv). Szenenübergang pro Szene:cut,dissolve,fade_black,dip_white,wipe_left/right,slide_left/right,zoom_in. Rahmen:"rahmen":fill(auffüllend) |fit_blur(vollständig sichtbar, unscharfer Hintergrund) |smart(Motivverfolgung)."letterbox": 2.39. Alle Optionen sind pro Szene überschreibbar. - Bewegte Grafiken:
"quelle": {"html": "templates/motion/route_map.html", "params": {...}}(Karte zeichnet sich nach und nach, Kapitelmarken...).makeexportiert zusätzlich eine reine Musikversion_nur_musik.mp4. Regie-Brief +facts.mdvor großer Filmproduktion (references/12). - Anti-AI-Slop:
"facts": "facts.md"(jede Zahl + Originalaussage + Quelle + Datum) und"regeln": ["~/.video_studio/regeln/<kunde>.json"](kundenspezifische Regeln, außerhalb des Repos).makeprüft automatisch und fügt Abschnitt "Anti-AI-Slop" in den Bericht ein;"stopp_bei_slop": truezum Anhalten, wenn noch erfundene Zahlen/Regelverstöße vorhanden sind. Korrigiert der Kunde Sätze von Hand, wird der genaue Wortlaut in die Regeln übernommen (slop_guard.py speichern) für automatische Erkennung im nächsten Film (references/13). - Automatische Szenenauswahl:
"clip_bibliothek": "bibliothek.json"(vonshot_select.py scan --clip) und"quelle": {"suche": "aerial view of a highway at sunset"}→ die am besten passende, ausreichend lange, noch nicht verwendete Szene mit hoher Qualitätsbewertung wird ausgewählt. Suchbeschreibung auf Englisch verfassen.
3. Unveränderliche Regeln
- Endfassung nicht löschen/überschreiben. Neue Version
_vN. Austausch der Hauptversion nur nach Freigabe durch Nutzer:mv -nalte Version in_gespeichert_beschreibung,cp -nneue Version,cmpbestätigen. - Erst messen, dann behaupten – verwenden Sie Zahlen aus
BAO_CAO_QC.md; wenn nichts gemessen wurde, sagen Sie, dass noch nichts gemessen wurde. - Inhalt muss wahrheitsgemäß sein: korrektes Bauwerk/Unternehmen, keine ausländischen Stock-Aufnahmen, QR-Codes, Werbung, fremde Slogans, Personen ohne Einverständnis.
- Übersetzung muss 100 % Bedeutung und Kontext treffen; bei Zweifel nachfragen.
- Keine Passwörter/API-Schlüssel im Namen des Nutzers eingeben.
- Modelle nur von vertrauenswürdigen Quellen herunterladen, bevorzugt
.safetensors, separates venv verwenden. - Kommunikation auf Vietnamesisch.
- Keine erfundenen Zahlen übermitteln: jede Zahl im Bild/Text muss in
factsstehen oder als[berechnet: ...]gekennzeichnet sein. Von Agenten geschriebene Korrekturen werden erst nach erneuter Messung durchslop_guard.py compareakzeptiert (Autor bestätigt nicht selbst).
4. Referenzen bei Bedarf laden
| Wann | Datei |
|---|---|
| Ablauf, Versionen, Kundenberichte | references/01-ablauf.md |
| Kameraperspektiven, Bildgrößen, Schnittrhythmus, Übergänge, Standbilder | references/02-bildsprache.md |
| Ruckeln, Aussetzer, Fremdframes, FPS-Änderung | references/03-bewegtbild.md |
| Farbe, Scale/Crop, Logo, Export | references/04-bild-farbe-export.md |
| Sprachausgabe, TTS, Musik, LUFS | references/05-ton-sprache.md |
| Untertitel, Übersetzung, Text auf Bild | references/06-untertitel-text.md |
| CapCut (MCP, VectCutAPI, Web) | references/07-capcut.md |
| Qualitätskontrolle vor Abgabe | references/08-qc-dateiuebergabe.md |
| KI-Film / Micro-Drama | references/09-ki-film-pipeline.md |
| Lehrreiche Erfahrungen | references/10-praktische-lektionen.md |
| Beleuchtung, Objektive, Blende/Verschluss/ISO/ND je nach Situation, KI-Video-Prompts, Kameraperspektiven, Farbe, Ton, Schnitt | references/11-cinematography.md |
| Anti-"AI Slop": belegte Zahlen, Kundenregeln, verborgene Prüfung, erneute Messung vor Annahme | references/13-anti-ai-slop.md |
| Regie-Brief, Anti-"KI-Bewegung"-Regeln, Code-Grafiken, Kritikschleife, Großprojekte (GES, 3D, aktueller Stand) | references/12-regie-bewegtgrafiken-kritik.md |
5. Skripte
| Skript | Aufgabe |
|---|---|
autovideo.py | Hauptprogramm: make, revoice, subs, qc |
voices.py | Gemessene Profile jeder Stimme, Stimmvorschläge je nach Zweck, mehrere Stimmenquellen (VieNeu, Edge, Klon, Aufnahme) |
accuracy.py | Aussprachewörterbuch, jeden Satz nachhören, fehlerhafte Sätze automatisch neu lesen |
motion_html.py | Bewegte Grafiken per HTML + seek(t) (Playwright), automatischer Sub-Frame Motion Blur |
critic.py | Unabhängiges Prüfmaterial: Kontakt-/Telefon-/Streifenansicht, tote Frames, ausreichende Texteinblendung, Slop-Prüfung (zusammen mit slop_guard) |
slop_guard.py | Deterministische Anti-AI-Slop-Prüfung: belegte/abgeleitete Zahlen, Phrasendrescherei, hohle Behauptungen, Rhythmus, monotones Editing, Kundenregeln; compare akzeptiert/lehnt korrigierte Versionen ab |
mcp_server.py | MCP-Server: 21 Tools (schnell + Job-Warteschlange) für direkten Aufruf durch Claude |
probe_qc.py | Quellinventur / Film-QC (Fremdframes, Blitze, Doppelframes, Standbilder, Ruckeln, Cadence, LUFS, schwarze Ränder) |
contact_sheet.py | Kontaktbogen mit 3 Frames/Shot zur Sichtprüfung |
fps_convert.py | FPS-Konverter 24-120, Zeitlupe, Motion Blur 180°, Erkennung von Zwischenbildern (RIFE/Flow) |
camera.py | Intelligentes Reframing (Gesichtserkennung + Hervorhebungsstärke), virtueller Schwenk/Zoom, Bildstabilisierung vidstab |
shot_select.py | Clip-Bibliothek: Shot-Erkennung, Bewertung, Suche anhand Beschreibung (CLIP) |
grade.py | LUT-Farbabgleich, automatischer Weißabgleich, Look; LUT anwenden |
deliver.py | Plattformspezifische Export-Voreinstellungen, Beat-Detektion |
cadence_fix.py | Rhythmuskorrektur für einzelne Abschnitte mittels Optical Flow (alte Version, keine GPU nötig) |
tts_vi.py | VieNeu-TTS für Vietnamesisch (25 Stimmen), Textnormalisierung, läuft in eigenem venv |
speech_check.py | % Textübereinstimmung mit Skript (Whisper), Dialektschätzung |
voice_mix.py | Sätze nach Zeitmarken setzen, Stimmverarbeitungskette, Ducking, LUFS, Video-Montage |
subs.py | Untertitel in Sätze aufteilen, SRT/ASS, Einbrennen |
demucs_split.py | Stimme/Musik trennen |
capcut_api.py | CapCut Desktop-Entwürfe über VectCutAPI erstellen |
storyboard.py | Storyboard-Prüfung, Shotlist, KI-Film-Job-Warteschlange |
Umgebung (Installation mit install.ps1): ffmpeg im PATH; Python 3.12 (numpy, opencv, soundfile, librosa, Pillow, faster-whisper, torch, demucs);
VieNeu in ~/tools/venv_vieneu (änderbar über VIENEU_PY); RIFE in ~/tools/rife/ (RIFE_BIN); YuNet in ~/tools/models/ (YUNET_ONNX); VectCutAPI in ~/tools/VectCutAPI (Port 9001).