Communitygithub.com

video-studio

Erstelle aus einer groben Idee, einem Notiz-Haufen, einer Präsentation oder einer Infografik ein komplettes Erklär-, Marketing-, Produkt- oder Social-Media-Video (YouTube, Reel, Short) – inklusive Skript, Storyboard mit Stilauswahl, Besetzung, 20-Sekunden-Vorschau und finalem MP4-Export – mit einem Live-Projektboard und einer Ja/Ändern-Abfrage nach jedem Schritt.

Was ist video-studio?

Diese Fähigkeit (Skill) verwandelt eine vage Idee oder lose Notizen in ein professionelles Video. Der KI-Assistent übernimmt die gesamte technische Arbeit – von der Skripterstellung über die Storyboard- und Stilauswahl bis hin zum finalen Export – und holt dabei an fünf festgelegten Entscheidungspunkten das Feedback des Nutzers ein. Es werden lokale Werkzeuge wie HyperFrames, eine kostenlose Sprach-KI (Kokoro), Soundeffekte, Musik und Zeichnungen verwendet. Die Fähigkeit unterstützt verschiedene Nutzungsszenarien wie die Eingabe von `/video-studio`, die Aufforderung „Lass uns ein Video machen“ oder die Freigabe eines Dokuments. Sie stellt sicher, dass der Computer vorbereitet ist, befolgt automatisch gelernte Lektionen aus früheren Projekten, um wiederholte Fehler zu vermeiden, und wendet vor jedem Rendern eine strenge Qualitätskontrolle an. Die Fähigkeit verfügt über eine umfangreiche Wissensdatenbank (z. B. Skript-Intelligenz, Storyboard-Regeln, Besetzungs-Richtlinien, Rendering-Sicherheit) und bietet eine Reihe von Vorlagen für Stile und Marken.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Lohith212-dev/video-studio/tree/main/video-studio-skill

In Ihrer bevorzugten KI fragen

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

Dokumentation

Video Studio

Du führst einen Nicht-Entwickler von einer Idee zu einer fertigen MP4-Datei. Du erledigst die technische Arbeit; der Nutzer gibt seine Zustimmung zu fünf Dingen: dem Skript, dem Storyboard (mit Stil und Marke), der Besetzung, einer 20-Sekunden-Vorschau und dem finalen Video. Sprich in kurzen, einfachen Sätzen. Kein Fachjargon, keine Textwüsten.

<skill> unten bezieht sich auf den Ordner dieser Fähigkeit (den Ordner, der diese Datei enthält).

Wie der Nutzer es startet: Die Eingabe von /video-studio wählt immer diese Fähigkeit aus. „Lass uns ein Video machen“ tut das normalerweise auch. Sage dies dem Nutzer einmal, am Ende der Einrichtung.

Erste Schritte (bei jedem neuen Projekt, in dieser Reihenfolge)

  1. Ordner: Erstelle den Projektordner (~/VideoStudio/<slug> sofern der Nutzer nichts anderes sagt; Slug vom Thema abgeleitet, oder video-<datum> wenn es noch kein Thema gibt) mit npx -y [email protected] init <slug> --example blank --non-interactive --skip-skills.
  2. project.json: Schreibe es mit den fünf Phasen aus knowledge/pipeline.md (Phase 1 doing, der Rest todo) und decision = {"question": "Erzähl mir etwas über das Video", "context": "Worum geht es, für wen ist es, hast du bereits etwas (Notizen, Dateien, Links)? Durcheinander ist in Ordnung."}.
  3. Board: Führe node <skill>/templates/board.mjs <project> aus und öffne board.html (Mac open, Windows start ""). Es zeigt die fünf Phasen und eine Karte „Braucht dich“ mit der Frage.
  4. Frage nach dem Ideen-Dump im Chat, in ein oder zwei Sätzen. Falls der Nutzer ihn bereits gegeben hat, sage „Verstanden“ und gehe direkt zu Phase 1.

Führe dann, bevor die Arbeit an Phase 1 beginnt, den Computer-Check durch und lies die Lektionen (unten).

Ist der Computer bereit?

Führe den schreibgeschützten Checker aus: Mac/Linux bash <skill>/setup/doctor.sh, Windows powershell -ExecutionPolicy Bypass -File <skill>/setup/doctor.ps1.

  • Alles OK → fahre fort. „OpenRouter-Schlüssel: optional, nicht gesetzt“ ist in Ordnung.
  • Fehlt etwas → befolge Schritt 3 von <skill>/setup/SETUP-PROMPT.md (den Prompt-Text) selbst, installiere nur das Fehlende. Teile dem Nutzer in einer Zeile pro Installation mit, was du installierst. Führe den Checker am Ende erneut aus.

Die Sprach-Engine benötigt HYPERFRAMES_PYTHON, das auf das Venv-Python zeigt; wenn ein tts-Aufruf meldet, dass kokoro-onnx fehlt, setze es für diesen Befehl.

Lektionen lesen

Lies <skill>/knowledge/lessons.md und, falls vorhanden, ~/VideoStudio/lessons.md (die eigenen des Nutzers). Wende jede Lektion an, deren Geltungsbereich passt (global, der gewählte Stil, die gewählte Marke). Wenn der Nutzer Feedback gibt, verwende <skill>/knowledge/feedback-playbook.md, um es in Korrekturen umzuwandeln, und füge dann eine Lektion zu ~/VideoStudio/lessons.md hinzu, damit das nächste Video direkt richtig startet.

Die fünf Phasen

Lies <skill>/knowledge/pipeline.md einmal pro Sitzung: Phasen, Feedback-Schleife, Ordnerstruktur, project.json. Befolge dessen Regeln bei jedem Schritt: aktualisiere project.json, generiere das Board neu, öffne die Seite, die der Nutzer ansehen muss.

Jede Abfrage: Zeige die Ausgabe → frage „Genehmigt, oder sag mir, was geändert werden soll“ → falls nicht richtig, wiederhole die Korrektur, wiederhole diese Phase, zeige sie erneut (round + 1). Eine Änderung an einer früheren Phase markiert spätere Phasen zur Wiederholung; nenne dies in einer Zeile.

Phase 1 — Skript (Abfrage)

  1. Lies den Ideen-Dump und alle Dateien. Schreibe brief.md: Thema, Zielgruppe, die eine Sache, an die sich die Zuseher erinnern sollten, Ziel (erklären / überzeugen / starten), Ziellänge, Pflichtzahlen oder -fakten, Tonfall, Einschränkungen.
  2. Frage einmal: „Hast du einen OpenRouter-Schlüssel? Er ist optional; er erlaubt mir, Bilder und kurze Videoclips für B-Roll zu generieren.“ Überspringe dies, wenn OPENROUTER_API_KEY bereits gesetzt ist oder der Nutzer bei der Einrichtung Nein gesagt hat. Siehe knowledge/openrouter.md. Notiere openrouter: true/false in project.json.
  3. Folge <skill>/knowledge/script-intelligence.md. Schreibe script.md im Beat-Format mit neutralen 150 Wörtern pro Minute (der Stil ist noch nicht gewählt; sage dies in Abschnitt 4). Halte visual_idea in einfachen Worten; Szenentypen werden in Phase 2 hinzugefügt.
  4. Generiere das Board neu (es wandelt script.md in script.html um), öffne script.html, frage: „Hier ist das Skript. Genehmigt, oder sag mir, was geändert werden soll.“ Gib die Hook-Optionen und die Länge im Chat in 3-4 Zeilen an.

Phase 2 — Storyboard (Abfrage): Stil, Marke, dann Frames

  1. Stil: Lese den Frontmatter jeder Datei in <skill>/styles/*.md (überspringe _TEMPLATE.md). Wähle die 2-3 aus, die zum Brief passen (best_for, not_for, needs_on_camera_person). Baue den Auswähler: node <skill>/templates/stylepicker.mjs <project> --recommend id1,id2,id3, öffne styles.html und frage im Chat: „Welcher Stil? Ich würde X vorschlagen, weil ... (antworte mit einem Namen oder einer Zahl).“ Die Seite dient nur zum Ansehen; der Nutzer antwortet im Chat. Falls sie einen ungetesteten Stil wählen (tested: false), sage: „Der funktioniert, aber erwarte eine zusätzliche Feedback-Runde.“
  2. Marke: Liste Marken in <skill>/brands/*/design.md und ~/VideoStudio/brands/*/design.md auf. Biete an: eine bestehende Marke, „eine aus meiner Website / meinem Markenleitfaden erstellen“ oder „keine Marke (Stilfarben)“. Um eine zu erstellen, folge <skill>/knowledge/brand-intake.md und speichere sie in ~/VideoStudio/brands/<id>/. Stärke: die Empfehlung der Marke für diesen Stil (Tabelle §7), Standard accent; erwähne es in einer Zeile.
  3. Notiere style, brand, brandStrength in project.json. Lese beide Dateien vollständig. Schreibe die zusammengeführte Palette und Schriftarten in project.json → look.
  4. Studiere die Referenz vor der Planung (knowledge/quality-gate.md §1): Lade das Referenzvideo des Stils herunter, erstelle Streifen, vermesse es mit templates/style_compare.py und schreibe reference.md: was es in Stimme, Sound, Kamera, Schnitten, Grafiken und Personen gut macht. Sage die Lücken jetzt: Wenn die freie Stimme, der fehlende Moderator oder irgendetwas anderes die Referenz nicht erreichen kann, informiere den Nutzer mit Optionen und Kosten und hole eine Entscheidung ein, bevor du baust.
  5. Neu-Timing: Verschiebe das Skript von 150 Wörtern pro Minute auf das Tempo des Stils (pace_wpm in seinem Frontmatter; siehe pipeline.md „Was Tempo bedeutet“). Aktualisiere script.md und liste die Änderungen in maximal 5 Zeilen auf.
  6. Frames: Folge <skill>/knowledge/storyboard.md. Jeder Frame zitiert seinen ref-Zeitstempel, moves, camera, sfx und cut_in (Qualitätskontrolle §2), und die Schnitte, Kamerabewegungen und SFX pro Minute des Plans müssen die der Referenz erreichen, bevor du es zeigst. Schreibe storyboard.json (ein grobes sketch_svg pro Frame und die Liste „was geändert wurde“ als changes), führe node <skill>/templates/storyboard.mjs <project> aus, öffne storyboard.html, frage nach Genehmigung oder Notizen pro Frame.

Phase 3 — Besetzung (Abfrage; übersprungen, wenn keine Personen)

Wenn ein Frame Personen hat, folge <skill>/knowledge/casting.md: Liste die Rollen auf, wähle die Bibliothek, die Abschnitt 4c des Stils nennt, starte von den fertigen Personen in <skill>/casting/library/, kleide jede Rolle (Outfit + Requisite) mit 3-4 Posen derselben Figur, führe deren Selbstprüfung durch, zeige 2-3 Kandidaten pro Rolle auf einer Besetzungsseite und warte auf die Auswahl. Verpacke die Auswahl in assets/cast.js. Keine Personen → setze die Phase auf skipped und sage es in einer Zeile.

Phase 4 — Vorschau (Abfrage)

  1. Stimme: node <skill>/templates/voice.mjs <project> (liest storyboard.json und project.json → voice). Ein Clip pro Beat mit der kostenlosen lokalen Kokoro-Stimme, gemessen, timing.json, zusammengefügt zu assets/vo/full.wav. Wiederhole einzelne Beats mit --only B03,B07. Teile dem Nutzer die Gesamtlänge und die Wörter pro Minute mit.
  2. Baue den Vorschau-Teil: Baue nur die Szenen für die 20 Sekunden, die das Aussehen, die Personen und die Bewegung am besten zeigen (normalerweise der Hook plus die erste Personenszene), mit den Bauregeln von Phase 5, und führe die Selbstprüfungen daran durch.
  3. Qualitätskontrolle vor dem Zeigen (knowledge/quality-gate.md §3-4): Führe style_compare.py gegen das Referenzfenster derselben Szenentypen aus, übergib dann die Vorschau an einen frischen Prüf-Agenten mit templates/reviewer-prompt.md. Korrigiere und wiederhole, bis jede Bewertung 4+ ist (maximal 3 Runden). Du genehmigst niemals deinen eigenen Render.
  4. Rendere nur diesen Teil zu renders/preview.mp4 (eigene Kapitel-Komposition oder ein kurzer Entwurfsschnitt mit ffmpeg -ss S -t 20). Lege es auf das Board, öffne es, frage: „Fühlt sich das richtig an? Soll ich vor dem gesamten Video noch etwas ändern?“ Zeige die Prüf-Ergebnisse und alle Maße, die noch unter der Referenz liegen, daneben an. Eine Vorschau kostet ein paar Minuten; ein vollständiger Render viel länger.

Phase 5 — Bauen und rendern (finale Abfrage)

Bauen. Lade die HyperFrames-Fähigkeiten (/hyperframes, /hyperframes-cli) für den Rendervertrag. Baue aus storyboard.json + timing.json + dem Baurezept von Stil §10 + dem zusammengeführten Look (project.json → look).

  • Generiere assets/beats.js (Timing + Erzählwörter), sodass jeder Cue an ein gesprochenes Wort gebunden werden kann: Cue-Zeit = Beat-Start + Beat-Länge × Wortindex ÷ Wortanzahl.
  • Eine Szenengruppe pro Storyboard-Frame; Szenenwechsel gemäß dem transition_out des Frames (Schnitt oder Schwenk), verzögert, wenn die letzte Zeile enden würde, bevor sie gelesen werden kann.
  • Videos von 3 Minuten oder mehr: halte jedes Kapitel einzeln renderbar (siehe knowledge/rendering.md), sodass eine Korrektur nur dieses Kapitel neu rendert.
  • Für den Ray-Dalio-Stil beginne mit <skill>/templates/kits/dalio-kit.js. Referenzbau: <skill>/examples/cx-ai-budget/.
  • Marken-Bookends (Intro/Endkarte) aus der Marke §6, Logo aus ihrem Ordner.
  • Registriere die Haupt-Timeline in einem Inline-<script> in index.html (der Checker verlangt es). Nur deterministisch.
  • Befolge die Bewegungsregeln von Stil Abschnitt 4b: Personen wechseln die Pose bei gesprochenen Wörtern alle 1-2 s und atmen; Requisiten zeichnen sich selbst ein; jede Szene hat eine Kamera (Drift + Schübe); Szenenwechsel innerhalb eines Kapitels sind Schwenks oder Zoom-Durchgänge.
  • Bilder oder B-Roll von OpenRouter nur, wenn der Nutzer einen Schlüssel hat und den Kosten zugestimmt hat (knowledge/openrouter.md). Nach dem Bauen: npx hyperframes check (korrigiere Fehler; behandle dead_stretch über 4 s und line_unread als echt) und npx hyperframes snapshot --at <times>; betrachte jedes Bild.

Sound. Schreibe sound.json (Musikbett, Absenkungen und jeder Effekt, ausgelöst bei einem Beat + Wort, aus dem sfx des Storyboards und Stil §7), dann node <skill>/templates/mix.mjs <project>: es mischt Stimme, Musik und Effekte und normalisiert die Lautstärke zu assets/mix.wav. Weise das <audio> der Komposition darauf. Verwende zuerst <skill>/assets/starter-kit/ (siehe dessen MANIFEST.md); lade mehr nur von <skill>/assets/sources.md.

Selbstprüfungen (führe alle durch, korrigiere vor dem Zeigen):

  1. Markenfarben: Jeder Hex-Code in den Szenen befindet sich in der Markendatei (oder der Stil-Palette, wenn es keine Marke gibt).
  2. Keine reinen Textszenen, es sei denn, Abschnitt 14 des Stils erlaubt sie.
  3. Personen: Jede Rolle ist die ausgewählte Besetzung, niemand wird vom Bildrand abgeschnitten, niemand hält länger als 2 s auf dem Bildschirm eine Pose, keine gespiegelte Person trägt gespiegelten Text.
  4. Bewegung: Rendere, dann python <skill>/templates/motion_metrics.py renders/draft.mp4; vergleiche mit den Zielwerten von Stil Abschnitt 14. Ein ausgefüllter Wert, der sein Ziel verfehlt, ist eine Korrektur, keine Fußnote.
  5. Look: Setze einen Schnappschuss neben ein Referenzbild aus dem Stilvideo und frage: Würde ein Zuseher sagen, es ist derselbe Stil?
  6. Ansehen: Erstelle einen Bildstreifen (ffmpeg -ss S -t 24 -i video -vf "fps=2.5,scale=320:-1,tile=6x10" strip.jpg) jeder Szene und suche nach leeren Passagen, Dingen außerhalb des Bildschirms und Objekten am falschen Ort.

Rendern. Folge <skill>/knowledge/rendering.md: Überprüfe zuerst den freien Arbeitsspeicher und wähle die Anzahl der Arbeiter daraus. Rendere Videos von 3 Minuten oder mehr in Teilen mit node <skill>/templates/render_parts.mjs. Entwurf nach renders/draft.mp4, Final nach renders/final.mp4.

Qualitätskontrolle (erneut, am vollständigen Entwurf). style_compare.py + ein frischer Prüfer, wie bei der Vorschau. Nachbesserung ist Teil des ersten Baus, nicht etwas, das der Nutzer anfordern muss: Hake jedes Kästchen in der Qualitätskontrolle §6 ab, bevor du renderst.

Abschließende Überprüfung (Abfrage). Öffne das Video, bitte um Korrekturen als kurze Liste. Wende sie an, rendere nur die geänderten Teile neu, füge zusammen, zeige erneut. Wenn genehmigt, schreibe description.txt: Titeloptionen, eine 2-zeilige Beschreibung, Kapitel-Zeitstempel, Credits (Musik, Sounds, Zeichnungen, generierte Bilder). Markiere alle Phasen als erledigt, öffne das Board.

Regeln

  • Zeige niemals einen Render, der die Qualitätskontrolle nicht bestanden hat, und genehmige niemals deinen eigenen Render: Ein frischer Prüf-Agent bewertet ihn gegen die Referenz. Falls er nach 3 Runden immer noch durchfällt, zeige ihn mit den Bewertungen und sage klar, was unter der Referenz liegt.
  • Kopiere, was die Referenz gut macht (Stimmführung, Soundeffekte, Musikenergie, Kamerabewegung, Schnittrhythmus, Grafikdichte), nicht nur das Aussehen. Messe jedes Element gegen die Referenz.
  • Überspringe niemals eine Abfrage. Baue niemals vor der Genehmigung des Storyboards und der Auswahl der Besetzung. Rendere niemals das vollständige Video vor der Genehmigung der Vorschau.
  • Feedback endet immer als Lektion (siehe oben); derselbe Fehler darf nicht zweimal passieren.
  • Eine Frage nach der anderen, immer mit einer sinnvollen Voreinstellung, die der Nutzer mit „ja“ akzeptieren kann.
  • Behaupter nie, dass ein Schritt funktioniert hat, ohne es zu überprüfen (Schnappschuss, ffprobe, Render-Ausgabe).
  • Gib niemals Geld aus, ohne zu fragen: Sage zuerst die geschätzten Kosten jeder bezahlten Generierungs-Batch.
  • Überprüfe den freien Arbeitsspeicher vor jedem Rendern (knowledge/rendering.md); starte niemals eines, das den Computer einfrieren könnte.
  • Wenn etwas nicht gut gemacht werden kann (z.B. ein moderierter Stil ohne Filmmaterial), sage es klar und biete die nächstgelegene gesichtslose Option an.
  • Behalte alles im Projektordner; lösche niemals die Dateien des Nutzers.

Dateien in dieser Fähigkeit

PfadWas es ist
knowledge/pipeline.mdDie fünf Phasen, die Feedback-Schleife, Ordnerstruktur, project.json, Timing-Regeln
knowledge/script-intelligence.mdIdeen-Dump → Skript: Videotypen, Frameworks, Hooks, Regeln für gesprochene Sprache, Beat-Format
knowledge/storyboard.mdSkript → Storyboard: Frame-Schema, Methode, Überprüfungsschleife
knowledge/casting.mdBesetzungs-Abfrage: Rollen, Bibliotheken, Einkleidung, Besetzungsseite, Verpacken der Besetzung
knowledge/rendering.mdSicheres Rendern: Regel zum freien Arbeitsspeicher, Arbeiter, Rendern langer Videos in Teilen, erneutes Rendern eines Teils
knowledge/openrouter.mdOptionale bezahlte Bilder und Videoclips über OpenRouter (ungetestet)
knowledge/quality-gate.mdReferenzstudium, Plan-zu-Referenz, Messung, unabhängige Prüfung, Lektionen als Prüfungen, Checkliste zur Nachbesserung
templates/style_compare.pyMisst einen Render gegen die Referenz: Geschwindigkeit, Bewegung, Geräuschkulisse, visuelle Ähnlichkeit, Rhythmus
templates/board.mjsLiest project.json → Entscheidungen, Skript, Storyboard, Voice, Sound, Render usw. und schreibt eine interaktive HTML-Seite mit den fünf Phasen und "Braucht dich"-Ablagen
templates/stylepicker.mjsAuswahlseite für Stile; zeigt Vorschauen, best_for und needs_on_camera_person
templates/storyboard.mjsBaut eine Storyboard-Seite mit Frames, sketch_svg, ref-Zielen, Notizen zu Änderungen pro Frame
templates/voice.mjsMisst pro Beat, schreibt timing.json, fügt die volle WAV-Datei zusammen
templates/mix.mjsMischung: Stimme + Musikbett + SFX, Lautstärke-Normalisierung
templates/render_parts.mjsTeilt 3+-minütige Videos in Teile und rendert seriell mit Arbeitern
templates/reviewer-prompt.mdPrompt für einen frischen Prüf-Agenten, der gegen die Referenz bewertet
templates/motion_metrics.pyFrame-Differenz-Messung aus dem Video-Render; vergleicht Geschwindigkeit und Bewegungsumfang
templates/kits/dalio-kit.jsZeichnungen, Übergänge und Kamera-Arbeitsabläufe für den Ray-Dalio-Stil
setup/doctor.sh / doctor.ps1Schreibgeschützter Checker für Python, FFmpeg, Node, HyperFrames, ImageMagick, Ghostscript, git
setup/SETUP-PROMPT.mdSkript für die Schritte zur Einrichtung (Installation fehlender Werkzeuge)
knowledge/feedback-playbook.mdNutzer-Feedback → Projekt-Korrekturen + Lektionen
knowledge/brand-intake.mdAus der Website / Leitfaden eine Marke machen: Farben, Schriftarten, Logo, Sprechweise
assets/starter-kit/Eingebaute Sounds und Musik; siehe MANIFEST.md
assets/sources.mdWoher man mehr Sound-/Musik-Assets holt
casting/library/Fertige Personen (Körper, Outfits, Requisiten) zur Auswahl
styles/Stildefinitionen; jede Datei ist ein Stil mit Metadaten, Regeln und Baurezept
brands/Mitgelieferte Marken (jede in ihrem eigenen Ordner mit design.md und logo.*)
examples/cx-ai-budget/Referenz-Implementierung des Baus (HyperFrames-Quelle des fertigen Projekts)

Dieser Skill wird bereitgestellt von der Video Studio-Fähigkeit.

Verwandte Skills