Communitygithub.com

mohammadshoaib-786786/video-editor

Erstelle kurze vertikale Erklär-Reels (Instagram Reels / TikTok / Shorts, 9:16) im "Pixel Crew“-Stil — mit pixeligen Roboter-KI-Mitarbeitern, versetzten Schattenkarten, wort-synchronen Untertiteln, Voiceover, Chiptune-Hintergrund und Soundeffekten — lokal als MP4 gerendert.

Was ist video-editor?

Diese Fähigkeit wandelt eine Benutzeranfrage nach einem kurzen, viralen Erklärvideo (Reel, Short, TikTok) in ein komplett lokal produziertes MP4 um. Sie folgt einer präzisen Schritt-für-Schritt-Pipeline: Zuerst wird ein optimiertes Skript im `script.json`-Format generiert, das eine bewährte Struktur aus Hook, identischen Beats, Payoff und Call-to-Action nutzt. Danach werden die Szenen als HTML/CSS/JavaScript-Dateien erstellt, wobei jede Szene einen eigenen Akzent und animierte Karten für die gesprochenen Nomen enthält. Ein Build-Skript erzeugt schließlich das finale Video mit Untertiteln und Voiceover. Die implementierte Methode stellt sicher, dass das Ergebnis professionell aussieht und die typischen Anforderungen von Social-Media-Plattformen (9:16-Format, Platz für UI-Elemente) erfüllt. Der Benutzer kann Stimme, Musik und den dargestellten Charakter über einfache Swaps anpassen.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mohammadshoaib-786786/video-editor/tree/HEAD/.claude/skills/pixel-crew-reel

In Ihrer bevorzugten KI fragen

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

Dokumentation

Pixel Crew Reel

Die Beispielvorlage zum Kopieren ist projects/ai-delivery-team (lies docs/REFERENCE-BREAKDOWN.md für eine Erklärung, warum sie funktioniert). Lies CLAUDE.md für die Übersicht und die Regeln, die uns gebissen haben.

1 · Skript zuerst (script.json)

Funktionierendes Format: Hook (≤5 s) → N identische Beats (~3,5 s pro Beat) → Payoff → Keyword CTA.

  • Hook: eine überraschende Zahl + das gesamte System in einem Frame ("7 Mitarbeiter, keiner davon menschlich").
  • Jeder Beat: "Die Rolle macht a, b und c." — drei konkrete Nomen, die du animieren kannst.
  • Payoff: die eine Aufgabe des Menschen (genehmigen, entscheiden, überprüfen).
  • CTA: "Kommentiere KEYWORD und ich sende dir …" (Keyword in brand.keyword).
  • Schreibe lines als 2–4-Wort-Untertitelphrasen; jede Zeile wird ein Untertitel.
  • Ziel: 30–45 s Gesamtlänge; Sprachgeschwindigkeit 1,3–1,4 hält Kokoro bei etwa 3,5 Wörtern/s.
  • Frage den Benutzer nach Brand-Handle / Genehmiger-Name / Keyword, falls unbekannt; ansonsten behalte die @yourhandle-Platzhalter und sage dies.

2 · Vorbereitung

node scripts/new.mjs reel <name>
python3 scripts/voice.py projects/<name>          # Timings zuerst, dann Design darauf abstimmen

3 · Szenen (index.html + style.css + scenes.js)

  • Ein <section class="scene"> pro Skriptszene, in derselben Reihenfolge (R.cuts() ordnet sie TIMING.scenes zu).
  • Jede Mitarbeiterszene: .head mit .step[data-step][data-label] + .title (Größe, sodass es ≤ 980 px passt), dann eine oder zwei .cards, die die Aufgabe darstellen.
  • Gib jeder Szene ihren eigenen Akzent (--accent: var(--rN)) und wechsle Hintergründe (is-paper, is-peri, is-lav, is-cobalt).
  • Animieren jedes gesprochene Nomen: R.pop(el, R.word(scene, line, "noun")), R.tick, R.type, R.grow, R.slam für Stempel.
  • Verwende data-icon, data-bot, data-burst, data-face, data-presenter-Platzhalter; Sprites.hydrate() füllt diese aus.
  • Beende mit R.captions(...) und R.register(); behalte die inline-Zeile window.__timelines["main"].

4 · Prüfen, dann rendern

node scripts/build.mjs projects/<name> --no-voice --no-render --snap <ein Mal pro Szene>
# lies projects/<name>/build/snaps/contact-sheet*.jpg, korrigiere, wiederhole
node scripts/hf.mjs lint projects/<name>
node scripts/build.mjs projects/<name> --no-voice      # → renders/<name>.mp4

Überprüfe die MP4 selbst: ffmpeg -i renders/<name>.mp4 -vf fps=1,scale=180:-1,tile=8x5 sheet.jpg und -af ebur128 (Ziel ≈ −14 LUFS). Achte auf: leeren ersten Frame, Text berührt Ränder, Elemente unter Instagrams UI, Untertitel nicht synchron.

Swaps

  • Stimme: script.json → voice.voice (am_michael, am_puck, am_fenrir, af_heart, bf_emma, …) oder nimm deine eigene auf, speichere sie als build/voice.wav und führe voice.py --from-wav aus.
  • Musik: Lege einen Track unter build/music-override.wav ab.
  • Host: Der Cartoon des Besitzers (kit/brand.js, kit/avatars/) wird automatisch von [data-presenter] und [data-face] verwendet; skaliere Bild-Hosts nach Breite (.is-img), es ist das Oberkörperportrait. Zeichne keine andere Figur, es sei denn, es wird ausdrücklich danach gefragt.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Verwandte Skills