editar-reel
Nimmt ein vertikales Video, in dem jemand in die Kamera spricht (bereits geschnitten: ohne Stille oder Fehlaufnahmen) und macht es fertig zum Hochladen. Greift nicht in den Inhalt ein: fügt die Bearbeitungsebene darüber hinzu.
Die Vorlage befindet sich in plantilla/ (Remotion). Alles, was auf dem Bildschirm passiert, wird in
plantilla/public/plan.json beschrieben; deine Aufgabe ist es, diesen Plan mit Augenmaß zu schreiben, nicht zu programmieren.
Voraussetzungen (vor Beginn prüfen)
ffmpegundwhisper-cli(whisper.cpp). Mac:brew install ffmpeg whisper-cpp. Windows:winget install Gyan.FFmpegund das ZIP von whisper.cpp von https://github.com/ggml-org/whisper.cpp/releases (entpacken,whisper-cli.exein den PATH legen).- Node 18 oder neuer (Windows:
winget install OpenJS.NodeJS), und Google Chrome installiert. - Falls etwas fehlt, installiere es mit Erlaubnis der Person; falls der Installer nach ihrem Passwort fragt, soll sie es selbst eingeben. Nicht mit halber Arbeit weitermachen.
- Unter Windows laufen
.sh-Skripte in Git Bash (Claude Code unter Windows verwendet das). Fallsbashnicht vorhanden ist, verwende die entsprechenden Befehle.
Schritte
1. Vorbereiten des Reel-Ordners
cp -R <diese-skill>/plantilla ~/reels/<name-des-reels>
cd ~/reels/<name-des-reels> && npm install
cp <ihr-video> public/video.mp4
Das Video muss vertikal 1080×1920 sein (falls es in 4K vertikal kommt, verkleinere es mit
ffmpeg -i in.mov -vf scale=1080:1920 -c:a copy public/video.mp4; schneide es niemals zu, um das Gesicht zu vergrößern: die Leute sehen sich lieber mit etwas Luft).
2. Transkribieren und Schnitte finden
bash <diese-skill>/scripts/transcribir.sh public/video.mp4 public
bash <diese-skill>/scripts/cortes.sh public/video.mp4
transcribir.sherzeugtpublic/palabras.json(jedes Wort mit seiner Sekunde) und gibt den Text aus. Lies ihn vollständig. Whisper irrt sich bei Eigennamen („Cloud“ statt „Claude“): korrigiere es mit einercorrecciones.jsonundpython3 <diese-skill>/scripts/palabras.py public/tokens.json public/palabras.json correcciones.json. Falls ein Wort nicht zu verstehen ist, frage die Person; rate nicht.cortes.shgibt die Sekunden aus, an denen sich die Einstellung ändert. Sie kommen incortes_sdes Plans.
3. Position des Gesichts ermitteln
Extrahiere 6-8 gleichmäßig verteilte Frames und prüfe, auf welcher Höhe sich das Gesicht befindet (in Pixeln, über 1920):
for t in 1 5 10 15 20 25; do ffmpeg -y -v error -ss $t -i public/video.mp4 -frames:v 1 /tmp/cara_$t.jpg; done
cara_y = die Höhe der Augen oder Nase (typisch: 700-900). Die Zooms zentrieren darauf, und die Titel
gehen oberhalb des Kopfes: notiere auch, wo der Scheitel im am weitesten oben liegenden Frame ist. Falls er bei y=450 liegt, passen keine Titel mehr darüber: verwende weniger Titel.
4. Den Plan schreiben
Kopiere die Form von plantilla/public/plan.json (es ist ein vollständiges Beispiel). Falls es kein anderes Video oder Screenshots gibt, entferne split und pantallazos: sie verweisen auf Beispieldateien, die nicht im Repository mitgeliefert werden. Die cortes_s sind geordnet und ohne Wiederholung. Regeln:
Rhythmus
- Ein Zoom pro Einstellung (
zooms, einer pro Abschnitt zwischen Schnitten), abwechselnde Ebenen: 1.0 → 1.16 → 1.0 → 1.26… Der Maßstabswechsel am Schnitt kaschiert den Sprung. Niemals über 1.3: das wirkt pixelig. - Alle 3-5 Sekunden etwas Neues auf dem Bildschirm, aber eine Idee nach der anderen: niemals Titel und Chat gleichzeitig.
Der Haken (die ersten 2 Sekunden entscheiden alles)
gancho.lineawird ab dem ersten Bild angezeigt, ohne Eingangsanimation: es ist auch das Cover.- Wiederholt nicht, was die Stimme sagt. Wenn die Stimme „3 Millionen haben das gesehen“ sagt, sagt der Text etwas anderes, das hängenbleibt („Meine KI hat es gemacht“). Bei Wiederholung ist es ein Untertitel und die Chance vertan.
- Das Beste für Bild 1 ist Bewegung: ein
splitmit dem Ergebnis (das virale Video, das Vorher/Nachher) oben und der Person unten, das sich schließt, wenn der erste Satz endet.
Jedes Element erscheint bei seinem Wort
- Suche in
palabras.jsondie exakte Sekunde des Wortes, das die Sache benennt, und lasse das Element 0,15-0,3 s früher beginnen. Ein Titel, der nach dem Wort erscheint, fühlt sich zu spät an. lista[].filas[].marcar_s= die Sekunde, in der die Person diese Zeile nennt.
Was wofür verwenden
| Was gesagt wird | Element |
|---|---|
| Eine Idee in wenigen Worten („Das Geheimnis: die Skills“) | titulos (kurzer Kicker in Großbuchstaben + Text; *Wort* wird hervorgehoben) |
| Hat etwas von einer KI verlangt | chat mit der wortwörtlichen Nachricht, die geschrieben wurde (frag nach, falls du sie nicht hast) |
| Konkrete Namen: Ordner, Dateien, Werkzeuge, Schritte | lista (maximal 7 Zeilen) |
| „Schau dir das Ergebnis an“ | pantallazos (bis zu 3 Screenshots des echten Ergebnisses) oder split mit dem Video |
| Abschluss „Folge mir“ | cierre mit dem Benutzernamen |
Ehrlichkeit (nicht verhandelbar): Auf dem Bildschirm erscheint nur, was wahr ist. Ein Chat zeigt die tatsächlich geschriebene Nachricht; eine Zahl, die tatsächliche Zahl. Wenn du es nicht weißt, frage nach oder lass es weg.
Sicherer Bereich: Die Vorlage platziert alles zwischen x 110-900 und y 250-1290, fern von den Buttons und der Bildunterschrift von Instagram. Verschiebe keine Elemente außerhalb.
5. Einzelne Frames vor dem vollständigen Rendern ansehen
npx remotion still Reel out/f0.png --frame=0
Extrahiere einen Frame pro Element (bei der Sekunde × 30) und sieh sie dir an. Überprüfe: das Gesicht wird nie verdeckt (außer Liste und Screenshots, die den Hintergrund absichtlich abdunkeln), Texte werden nicht abgeschnitten, der Haken ist in Frame 0 lesbar.
Falls das Rendern bei „Waiting for root component to load“ hängen bleibt, verwende das System-Chrome:
--browser-executable="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" (Mac) oder
--browser-executable="C:\Program Files\Google\Chrome\Application\chrome.exe" (Windows).
6. Rendern und finale Überprüfung
npx remotion render Reel out/reel.mp4
ffmpeg -v error -i out/reel.mp4 -f null - && echo "Die Datei ist in Ordnung"
ffmpeg -y -v error -i out/reel.mp4 -vf "fps=1,scale=216:384,tile=10x3" -frames:v 1 out/hoja.jpg
Betrachte out/hoja.jpg (ein Frame pro Sekunde). Falls ein Frame „mosaikartig“ oder schwarz ist (kommt gelegentlich bei
Videos innerhalb von Remotion vor), rendere diesen einzelnen Frame mit remotion still und füge ihn ein:
ffmpeg -i out/reel.mp4 -i fix.png -filter_complex "[0:v][1:v]overlay=enable='eq(n,N)'" -c:a copy out/reel_ok.mp4.
Anschließend übergib das Video an die Skill sonido-reel für Musik, Effekte und die endgültige Lautstärke.
Bekannte Fehler
- Untertitel mit zusammenhängenden Wörtern („Yesto“): Ein einzelnes Leerzeichen zwischen
<span>geht im Rendering verloren. Die Vorlage trennt bereits mit Abstand; wenn du Text Wort für Wort hinzufügst, mache dasselbe. - Nichts von
filter: blur()oderbackdropFilterüber dem Video: erzeugt schwarze oder mosaikartige Bilder. Zum Abdunkeln eine halbtransparente Farbschicht darüberlegen. - Das obere Video im Split bringt seinen eigenen Text mit: passe
recorte_yan, um den sauberen Bereich zu zeigen, oder wähle eine andere Sekunde mitbroll_desde_s.