Communitygithub.com

vedit

Rohvideo bearbeiten oder aus Fotos Videos erstellen – Stille/Ähs/verpatzte Takes entfernen, Untertitel, Kurzvideos aus langen Videos, Multi-Kamera-Podcasts, B-Roll, Musik, Stimmverbesserung und KI-gesprochene Sketche/Geschichten aus Fotos + Drehbuch. Verwende dies immer, wenn der Nutzer ein Video geschnitten, untertitelt, auf Hochformat umgestellt, in Kurzvideos umgewandelt haben möchte oder ein vertontes Video, einen Sketch, eine Geschichte oder eine Diashow aus Bildern benötigt.

Was ist vedit?

vedit ist ein KI-gestützter Videoeditor, der über die Kommandozeile arbeitet und es dir ermöglicht, Videos auf Basis von Transkripten und Standbildkontaktabzügen zu bearbeiten, ohne die Videodateien direkt ansehen zu müssen. Du bearbeitest eine JSON-Entscheidungsliste (EDL), die dann von ffmpeg rendern wird – Änderungen sind billig und unveränderte Clips bleiben gecacht. Das Tool eignet sich für eine breite Palette von Workflows: vom einfachen Bereinigen von Talking-Head-Videos über die Erstellung von Shorts/Reels aus langen Aufnahmen, Multi-Kamera-Podcasts bis hin zur vollständigen Erstellung von KI-gesprochenen Geschichten und Fakten-Reels aus Fotos und einem Drehbuch. Es unterstützt Branding, automatische Untertitel (verschiedene Stile), Stimmoptimierung und die Integration von Musik und B-Roll. Du kannst den Befehl `vedit` direkt nutzen, wenn er im PATH ist, oder über `python SKILL/scripts/vedit.py <command>` aufrufen.

Funktioniert mit~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/OpenOrbitLabs/Vedit/tree/HEAD

In Ihrer bevorzugten KI fragen

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

Dokumentation

vedit: KI-Videoeditor

Du bist der Editor. Du kannst Videos nicht direkt ansehen, daher geben dir diese Werkzeuge Augen (Transkripte mit Wortnummern, Kontaktabzüge, die du als Bilder liest) und Hände (eine Schnittentscheidungsliste, edl.json, die von ffmpeg gerendert wird). Deine Bearbeitungen sind Entscheidungen in JSON. Sie sind günstig zu ändern und neu zu rendern, und unveränderte Clips bleiben gecached.

Alle Befehle laufen über eine einzige CLI. Wenn vedit im PATH ist (der Benutzer hat pip install -e . ausgeführt), verwende es. Andernfalls rufe python SKILL/scripts/vedit.py <command> auf, wobei SKILL der Ordner ist, der diese Datei enthält. Unten wird es als vedit <command> geschrieben.

Führe vedit doctor einmal pro Rechner aus. Wenn etwas Fehlendes benötigt wird, installiere es: pip install -e "SKILL[all]" (oder pip install -r SKILL/requirements.txt) und ffmpeg über den Paketmanager des Betriebssystems (Windows: winget install Gyan.FFmpeg).

Schneller Weg: Wenn der Benutzer es einfach erledigt haben möchte („Mach das sauber“, „Mach ein Kurzvideo daraus“), führe vedit auto VIDEO --preset <youtube|shorts|tiktok|reels|square|podcast|tutorial|clean> aus. Führe dann die Schritte 3–5 des Workflows A für die edl.<preset>.json aus, die er geschrieben hat, damit das Ergebnis bearbeitet ist und nicht nur getrimmt. Verwende --formats 9:16 für zusätzliche Seitenverhältnisse und --thumbs für Thumbnails. Mehrere Dateien auf einmal bedeuten Batch-Verarbeitung: vedit auto *.mp4 --preset shorts.

Brand-Kit: Wenn eine brand.json neben dem Video, im Arbeitsverzeichnis oder in ~/.vedit/ existiert, wende Autocut/Auto automatisch an (Schriftart, Farben, Logo, Intro/Outro, Musik, LUT, Rechtschreibkorrekturen). Wenn der Benutzer sein Branding erwähnt, biete an, eines aus examples/brand.example.json zu erstellen.

Wähle den Workflow

Der Benutzer hat...Workflow
Rohmaterial von Talks / Tutorials / VlogsA. Material bearbeiten
Ein langes Video und möchte Shorts/Reels/TikToksA, dann B. Kurzvideos
Podcast / Interview mit 2+ Kameras oder MikrofonenC. Multicam, dann A
Fotos (oder Clips) + eine Idee für einen Sketch/eine Geschichte/einen Erklärfilm und möchte StimmenD. Story-Modus
Einen Fact-Reel-Kanal (Ordner mit brand.json + stories/) oder möchte Reels wie „Juan Fact a Day“ aus eigenen Fotos/ClipsE. Fact-Reels-Kit

Stelle höchstens ein oder zwei Fragen, wenn wichtige Informationen fehlen (Zielplattform/Seitenverhältnis, Ton). Triff ansonsten gute Entscheidungen und teile dem Benutzer mit, was du gewählt hast.


A. Material bearbeiten

  1. Analysieren: vedit analyze raw.mp4 (mehrere Dateien: vedit analyze a.mp4 b.mp4 --names main broll1). Dies erstellt raw.edit/ mit:
    • transcript.main.txt: Lies dies vollständig. Zeilen sehen aus wie [0:12.34 → 0:15.10] #120-135 text. {um} markiert eine harte Füllung, (like) eine weiche Füllung, ⏸ 2.1s pause eine Pause und ⚠ possible flubbed take einen Satz, der kurz darauf wiederholt wird.
    • frames/overview_main_*.jpg: Lies diese Bilder, um zu erfahren, was auf dem Bildschirm zu sehen ist (Bildausschnitt, B-Roll-Momente, Bildschirmaufnahme vs. Gesicht).
  2. Entwurf: vedit autocut raw.edit --punchin 1.12 (Talking Head) oder füge --aspect 9:16 hinzu. Dies schreibt raw.edit/edl.json mit entfernten toten Stellen, harten Füllungen und verpatzten Takes.
  3. Verfeinere wie ein echter Editor. Bearbeite edl.json mit Hilfe des Transkripts:
    • Schneide ausufernde, wiederholte Punkte, themenfremde Abschweifungen und Fehlstarts, die die Heuristiken übersehen haben. Behalte den besten Take. Entferne weiche Füllungen nur dort, wo sie Füllung sind.
    • Mache den Hook stark: Wenn die beste Zeile spät kommt, erwäge, einen kurzen Teaser-Clip an den Anfang zu verschieben.
    • Verwende "words": [erster, letzter] Bereiche (präzise, automatisch aufgefüllt). Verwende "in"/"out" Sekunden nur für Nicht-Sprach-Teile.
    • Füge Feinschliff hinzu: Punch-Ins bei Jump Cuts, overlays (Titel, B-Roll, Bilder, Soundeffekte), audio.music, color. Siehe references/edl.md für jedes Feld.
  4. Vorschau: vedit render raw.edit/edl.json --preview, dann vedit frames <preview.mp4> --every 3 und Lies die Kontaktabzüge, um Bildausschnitt, Untertitelplatzierung und Overlays zu überprüfen. Korrigiere und rendere neu (gecachte Clips werden wiederverwendet).
  5. Final: vedit render raw.edit/edl.json (füge --formats 9:16,1:1 hinzu, wenn sie auf mehreren Plattformen posten).
  6. Veröffentlichungskit (Ersteller lieben das). Schreibe raw.edit/publish.md mit:
    • 3 Titeloptionen: Neugier plus ein klarer Nutzen, ≤ 60 Zeichen
    • einer Beschreibung: 2 Hook-Zeilen, eine Zusammenfassung, Platzhalter für Links und Hashtags
    • Kapitel: füge "chapters": [{"at": {"word": ["main", N]}, "title": "..."}] zu edl.json vor dem finalen Rendern hinzu, und der Renderer schreibt <output>.chapters.txt im YouTube-Format
    • Thumbnails: führe vedit thumbs raw.mp4 aus, lies candidates_sheet, wähle den ausdrucksstärksten Frame aus, dann vedit thumbs raw.mp4 --pick N --title "3-5 WORDS"
  7. Teile dem Benutzer mit, wo sich die .mp4, .srt, Kapitel, Thumbnail und publish.md befinden, die Vorher-/Nachher-Länge und was du in ein paar Stichpunkten geschnitten hast und warum.

B. Kurzvideos aus einem langen Video

Nach der Analyse lies das gesamte Transkript und wähle 3–5 in sich abgeschlossene Momente von 20–60 s Dauer aus. Suche nach einer starken Eröffnungszeile, einer klaren Idee und einem Höhepunkt oder einer Pointe. Vermeide Momente, die früheren Kontext benötigen. Schreibe für jeden raw.edit/short_N.edl.json mit "output": {"aspect": "9:16", "path": "short_N.mp4"}, Untertitel pop, "crop_x": "auto" (oder einem Wert, der aus vedit frames raw.mp4 --at T --grid gelesen wurde, wobei jede Zeile = 0,1), engen Schnitten (Pausen ≤ 0,3 s) und einem Titel-Overlay für den Hook. Erkläre dem Benutzer, warum jeder Moment funktioniert.

C. Multicam-Podcast / Interview

  1. vedit multicam sync cam1.mp4 cam2.mp4 cam3.mp4 liefert einen Offset pro Kamera. Setze es in sources: "cam2": {"path": "cam2.mp4", "offset": 1.234}. Wenn die Konfidenz NIEDRIG ist, überprüfe mit Frames an einem Klatscher.
  2. Wenn jede Person ihr eigenes Mikrofon hat: vedit multicam speakers micA.wav micB.wav --names host guest --offsets 0 0.8 liefert speakers.txt, eine Zeitleiste, wer spricht.
  3. Analysiere main (beste Audio). Clip-Zeiten und Wörter für synchronisierte Quellen sind in der main-Zeitbasis, und Audio kommt automatisch von main. Schneide auf die Kamera des Sprechers, verwende eine Totalen für Überschneidungen oder Reaktionen und vermeide Aufnahmen, die kürzer als 1,5 s sind.

D. Story / Sketch-Modus (Fotos + KI-Stimmen)

  1. Schreibe das Drehbuch mit der Idee des Benutzers: kurze, prägnante Zeilen (≤ 15 Wörter pro Zeile), ein Hook in den ersten 3 Sekunden und ein klares Ende oder eine Pointe. Verwende einen Sprecher pro Zeile. Gib bei Sketchen jeder Figur eine eigene Stimme und Untertitelfarbe.
  2. Führe vedit story grid story.json aus und Lies jedes grid_sceneN.jpg, um focus-Punkte für das Gesicht jeder Figur zu erhalten. Im Raster verwendet x die gelben Beschriftungen und y die cyanfarbenen Beschriftungen.
  3. Schreibe story.json (vollständiges Schema in references/story.md). Verwende eine nahe shot + focus, wenn eine Figur spricht, und eine weite oder Ken-Burns-motion für die Erzählung. Füge sfx, title, transition: fade zwischen Szenen und music hinzu.
  4. vedit story voices story.json synthetisiert die Zeilen und gibt eine Zeittabelle aus. Überprüfe das Tempo (ein Kurzvideo ist normalerweise ≤ 60 s).
  5. vedit story build story.json --preview, dann überprüfe die Frames, dann führe vedit story build story.json aus.

Stimmen: edge ist kostenlos und natürlich und benötigt keinen API-Schlüssel. Wähle Stimmen mit vedit tts --list-voices --lang en (Filipino: --lang fil). Verwende openai (Schauspielanweisungen über "style") oder elevenlabs nur, wenn der Benutzer einen Schlüssel hat und nach Premium-Stimmen fragt. Erfinde niemals die Stimme einer realen Person und gib nicht vor, reale Personen zu sein.


E. Fact-Reels-Kit (rohe Fotos/Clips → gebrandete Fact-Reels)

Anleitung: templates/fact_reels/README.md. Neuer Kanal: vedit reels new DIR; neues Video: vedit reels story DIR NAME.

  1. Betrachte die Rohdateien des Benutzers (vedit frames clip.mp4 für Clips) und wähle Szenentypen: image + card mit Erzählung, video + lines (B-Roll, erzählt, stummgeschaltet) oder video + keep_audio: true ohne lines (der Benutzer spricht: echte Stimme, automatische Untertitel). Wähle in/out aus den Frames / dem Transkript.
  2. Schreibe story.json: Hook → Fakt → „Und wusstest du?" → Fakt → ... → Kommentieren/Teilen/Folgen, ~185 Wörter ≈ 60 s, eine durchgehende Erzählung. Verwende say für Zahlen, Jahre und Namen, die die Stimme falsch lesen könnte. Kartentext: *sterne* = Akzent.
  3. vedit reels build STORY_DIR --only cards und Lies die Karten und thumbnail.jpg. Korrigiere Text, der überläuft.
  4. vedit reels build STORY_DIR --preview, überprüfe die Frames, dann baue in voller Qualität. Überprüfe jeden Fakt; füge Quellen in caption.txt ein.

Schnitturteil (was macht es gut)

  • Rhythmus: Schneide bei YouTube-Talking-Heads Pausen auf ~0,3–0,45 s. Bei Kurzvideos schneide enger (~0,2–0,3 s). Lasse nach einer Pointe oder einem emotionalen Moment etwas Luft zum Atmen ("pad": [0.1, 0.6] bei diesem Clip).
  • Verstecke Jump Cuts durch abwechselnde Punch-Ins (1.0 ↔ 1.10–1.15) oder durch Schnitt auf B-Roll. Mache bei Bildschirmaufnahmen keine Punch-Ins bei jedem Schnitt, da dies die Lesbarkeit beeinträchtigt. Verwende stattdessen "fit": "blur" oder "pad" beim Wechsel ins Hochformat.
  • Untertitel: Verwende pop für Kurzvideos/Reels, clean für Langform und Tutorials und box für belebte Hintergründe. Korrigiere Markennamen und falsch verstandene Begriffe mit captions.replace.
  • Audio ist die Hälfte des Videos. Lasse normalize eingeschaltet (−14 LUFS für soziale Medien/YouTube). Setze denoise: true nur bei lauten Räumen. Lasse Musik bei 0,1–0,2 mit Ducking eingestellt.
  • Überprüfe immer visuell, bevor du es als erledigt erklärst, und sage, was du überprüft hast.
  • Lange Render-Vorgänge: Vorschau eines Ausschnitts zuerst mit vedit render edl.json --preview --clips 0-10.

Fehlerbehebung

  • Whisper hat die Ähs nicht erkannt: Es wurde aufgefordert, sie zu behalten, aber wenn sie immer noch fehlen, verwende --model medium oder schneide nach Pausen.
  • Falsche Sprache: vedit analyze raw.mp4 --language tl (Tagalog), es und so weiter.
  • Untertitel in der falschen Schriftart: setze captions.font auf eine installierte Schriftart (Montserrat, Poppins, Arial) oder lege .ttf-Dateien in SKILL/fonts/ ab.
  • Ein Segment kann nicht gerendert werden: Der Fehler benennt den Clip-Index. Überprüfe dessen In/Out gegen die Quellendauer.
  • Der endgültige ffmpeg-Befehl wird unter <workdir>/.render_cache/last_final_cmd.txt gespeichert.

Verwandte Skills