Was macht reel?
Wo die Dinge sind und Ersteinrichtung
- Pipeline-Ordner = der
video-pipelineOrdner, in dem dieses Skill lebt (drei Ebenen über dieser Datei:video-pipeline/.claude/skills/reel/SKILL.md). Führe jeden Befehl von dort aus. Projekte leben inprojects/<datum>-<slug>/darin. - PY = das eigene Python der Pipeline. Verwende es für jeden Befehl unten, niemals das System-Python:
.venv/Scripts/python.exeauf Windows,.venv/bin/pythonauf Mac oder Linux. - Wenn PY noch nicht existiert, richte es zuerst ein, ohne den Benutzer zur Eingabe aufzufordern:
führe
python install.pyaus (oderpy install.pyauf Windows,python3 install.pyauf Mac). Falls es mit „ffmpeg fehlt“ oder „git fehlt“ abbricht, installiere dieses Tool für sie (Windows:winget install ffmpeg/winget install Git.Git; Mac:brew install ffmpeg), sag ihnen, Claude Code neu zu starten, falls der neue Befehl nicht gefunden wird, und führe die Installation dann erneut aus. Wenn die Installation READY ausgibt, führePY scripts/selftest.pyaus und bestätige9/9 bestanden.
STYLE (einmal pro Referenz) -> 1 BRIEF -> [Tor: Benutzer genehmigt Skript] -> 2 DREH (Benutzer)
-> 3 AUSRICHTEN -> 4 SCHNITT -> 5 EFFEKTE -> 6 VORSCHAU -> [Tor: Benutzer-Notizen, Schleife] -> 7 FINAL
Du schreibst, schneidest und renderst. Der Benutzer dreht, genehmigt und postet. Von hier aus wird nie etwas gepostet.
0. Stil von einer Referenz (wenn der Benutzer Referenz-Edits sendet)
PY scripts/style_ref.py <ref.mp4> [weitere refs] --name <stilname>- Öffne jedes Bild, das es in
styles/refs/<stilname>/erstellt, und lies die report.json-Zahlen. - Schreibe
styles/<stilname>.jsonmit NUR den Schlüsseln, die vonstyles/default.jsonabweichen: Schriftart/Größe/Farben/Position/Wörter pro Gruppe/Großschreibung der Untertitel, Onscreen-Text-Aussehen, Schnittdichte (cut.max_gap: enger für schnelle Edits), Effektabstand (effects.min_gap, vom Tempo der Referenz), Lautstärke. - Schreibe
styles/<stilname>.md: was der Edit in einfachen Worten macht. Welche der 51 Effekte zu den Bewegungen passen, die du gesehen hast, wie oft etwas auf dem Bildschirm passiert, wie der Hook eröffnet, was er nie tut. Füge die gemessenen Zahlen hinzu (Schnitte pro Minute, Shottlänge). - Zeige dem Benutzer die .md und frage, was du falsch verstanden hast. Du siehst Sample-Frames, keine Bewegung oder Ton:
sag das und bitte sie, Zeitstempel zu nennen, die sie lieben (
--at 7.2,12erfasst diese Frames).
Schriftarten: Untertitel können jede Schriftart in vendor/claude-video-effects/fonts/ verwenden (Montserrat, Anton,
Archivo Black, Inter, Instrument Serif, Playfair Display, Space Mono, Permanent Marker) oder jede
.ttf/.otf, die der Benutzer in fonts/ ablegt.
1. Briefing
PY scripts/new_project.py "<slug>" --lang id --style <stil>(lang: id, en oder auto).- Lese
~/.claude/youtube/voice.mdoder~/.claude/instagram/voice.md, falls vorhanden. Schreiben in der Sprache und Stimme des Benutzers. Erfinde nie eine Zahl, ein Ergebnis oder einen Kunden; frage oder lasse{{zahl}}stehen. - Fülle
script.json: eine Zeile pro Satz, den sie sagen werden, Rollenhook/body/cta.- Hook: schreibe 3 Optionen, empfehle eine, halte sie unter ~3 Sekunden gesprochen.
onscreen: kurzer Text für den Hook (und jede Zeile, die eine Titelgrafik braucht).effects: Cue-Effekte AUF EINEM WORT:{"fx": "backdrop-word", "on": "GRATIS", "text": "GRATIS"}. Wähle aus der .md des Stils. Maximal ein Effekt alleeffects.min_gapSekunden. Nicht jede Zeile bekommt einen. Effekte, die eigene Reels des Benutzers verwenden (orbit,phone-fan,place-in-grid,fan-build,noise,profile-wall,carousel-spin) benötigen"images": "<ordner>".- Diagramme und Zähler (
liquid-glass-graph,over-the-shoulder-zoom) nur mit echten Zahlen.
- Schreibe daneben
brief.md: die Hook-Optionen, das Skript, wie sie es lesen werden, eine Shot-Notiz pro Effekt („Zeile 4: lasse Platz über deinem Kopf“) und die Drehregeln austemplates/shooting.md. - Tor: zeige das Skript und halte an. Fahre erst fort, wenn der Benutzer es genehmigt hat.
2. Dreh (Benutzer)
Sie legen die Dateien in <project>/raw/. Mehrere Dateien sind in Ordnung; sie werden in Namensreihenfolge verwendet.
3. Ausrichten
PY scripts/transcribe.py <project>(beim ersten Lauf wird das Whisper-Modell heruntergeladen). Viele Neustarts in der Aufnahme oder der Schnitt wiederholt trotzdem Wörter? Verwende stattdessen:PY scripts/burst_transcribe.py <project>: es transkribiert jeden Sprachstoß einzeln (large-v3-turbo), sodass ein Neustart nach einer Pause nie mit dem nächsten Take verschmilzt. Wenn Wörter immer noch Pausen verschlucken, führe vor dem AusrichtenPY scripts/snap_words.py <project>aus.PY scripts/align.py <project>. Lese den Bericht dem Benutzer in Kurzform vor: Zeilen, die FEHLEN oder keinen VOLLSTÄNDIGEN TAKE haben, und jede Ad-lib, die es wert ist, behalten zu werden. Halte nicht für sie an, es sei denn, eine Zeile fehlt; erwähne sie mit der Vorschau.
4. Schnitt
PY scripts/cut.py <project>
Nur-Stimme Reels (der Benutzer nimmt nur seine Stimme auf, das Bild besteht komplett aus Bewegungsgrafiken):
Verwende stattdessen PY scripts/cut_voice.py <project> -> work/voice.wav (sauber, -16 LUFS) und
work/prog_words.json (jedes behaltene Wort mit seiner Zeit in der Schnittspur). Baue die visuellen Elemente darauf auf
(HyperFrames, falls der Benutzer sie hat, oder ihren eigenen Editor). Der Effektschritt benötigt ein Gesicht, überspringe ihn also.
Hintergrundmusik ohne Lizenz: falls .venv-music/ existiert (python install.py --music), erstelle einen
Teppich mit .venv-music/<Scripts|bin>/python scripts/music_bed.py work/bed.wav --seconds 30 --seed 1 --prompt "<stimmung>, no vocals",
höre auf Lücken (versuche einen anderen Seed, falls ungleichmäßig) und setze "music": {"file": "<absoluter Pfad>/work/bed.wav", "db": -22}.
5. Effekte
PY scripts/effects.py <project> plan. Behebe jede Warnung, indem du die Cues inscript.jsonbearbeitest.PY scripts/effects.py <project> check, dann sieh dir JEDESwork/check/fx_*.pngan. Text über dem Gesicht, am Rand abgeschnitten, unleserlich: korrigiere Optionen (x,y, kürzerertext) und überprüfe erneut.PY scripts/effects.py <project> render. Dies ist der langsame Schritt (jeder Frame wird Gesichtsverfolgung unterzogen). Sag dem Benutzer, dass es läuft.
6. Vorschau
PY scripts/finish.py <project>->preview/preview_vN.mp4.PY scripts/finish.py <project> --check <t1,t2,...>in der Mitte jedes Effekts und zwei oder drei anderen Momenten. Sieh dir die PNGs an: Untertitel, die mit einem Effekt kollidieren, der Hook-Text unleserlich, alles über dem Gesicht. Behebe es vor dem Zeigen.- Tor: gib dem Benutzer den Vorschaupfad und eine kurze Editliste: verwendete Takes, was geschnitten wurde, Effekte und wo. Frage nach Notizen.
Notizen in Änderungen umsetzen
| Notiz | Änderung | Neu ab |
|---|---|---|
| „Nimm den anderen Take von Zeile 3“ | choices.json {"take": {"3": 1}} | ausrichten |
| „Behalte, was ich bei 0:14 gesagt habe“ | choices.json {"keep_unmatched": ["u3"]} | ausrichten |
| „Lasse Zeile 5 weg“ | choices.json {"drop_lines": [5]} | ausrichten |
| „Schnitt zu eng / zu locker“ | Stil cut.max_gap, cut.post_pad | ausrichten |
| „Kein Effekt dort“ / „Größeres Wort“ | script.json Effekte | effects plan |
| Untertitel-Look, Onscreen-Text | Stil captions / onscreen, oder Skript onscreen | finish |
| Musik | script.json "music": {"file": "...", "db": -22} | finish |
Das erneute Ausführen ab einer Stufe bedeutet, dass alle Stufen danach auch erneut ausgeführt werden. Das erneute Ausführen von Ausrichten oder Schnitt bedeutet, dass Effekte erneut gerendert werden (langsam), also sammele die Notizen zuerst.
7. Final
PY scripts/finish.py <project> --final->final/final.mp4undfinal/cover.jpg.- Schreibe
final/caption.md:- Die ersten ~125 Zeichen tragen den Hook; das ist alles, was der Feed vor „mehr“ zeigt.
- Ein Call-to-Action. Wenn es „Kommentiere SCHLÜSSELWORT“ ist, stimmt es mit dem Video überein.
- Maximal 5 Hashtags, spezifisch zum Thema, am Ende. In der Sprache und Stimme des Benutzers.
- Keine erfundenen Zahlen. Kein „Hör auf zu scrollen“, keine Hashtag-Wände.
- Erinnere sie in einem Satz: Trending-Audio wird in Instagram hinzugefügt, und sie posten es selbst.
Regeln
- Die .md des Stils ist der Geschmack. Wenn du unsicher bist, ob du etwas hinzufügen sollst, lasse es weg.
- Bedecke nie das Gesicht. Zoome nie über 2x hinaus.
- Sei direkt bezüglich der Grenzen: der Editor wählt Takes und Timings gut aus; er bewertet nicht ihre Darbietung. Wenn ein Take flach klingt, sage „Überprüfe die Energie in Zeile 3“, tu nicht so, als hättest du es gehört.
- Halte
projects/aus git heraus: Rohmaterial ist groß und persönlich.