Communitygithub.com

Vertical Reels Video Studio (pro)

Vollständige Produktionsanleitung für erzählte vertikale (9:16) Bildungs-/Erklär-Reels für Instagram, Threads und TikTok mit Remotion + ElevenLabs: Markenkonfiguration, faktengeprüfter Entwurf mit Haken-Optionen, Sprachaufnahme mit Aussprachekarte, wortgetimte kinetische Bewegungen, optionaler Lippen-synchronisierter Moderator, Reels-sicherer Export, obligatorische Qualitätssicherung, 4 Cover-Optionen und Plattform-Untertitel. Verwenden Sie dies für jedes erzählte Bildungs- oder Erklär-Reel, sobald die grundlegende Fähigkeit nicht mehr ausreicht.

Was ist Vertical Reels Video Studio (pro)?

Dieses Skill konfiguriert eine vollständige, automatisierte Produktionspipeline für vertikale 9:16 Erklär-Videos (Reels) für soziale Plattformen wie Instagram, Threads und TikTok. Es baut auf der grundlegenden `vertical-reels-video-studio` Fähigkeit auf und erweitert sie mit professionellen Funktionen: einer obligatorischen, faktenbasierten Recherche- und Entwurfsphase, einer hochgradig anpassbaren Markenkonfiguration (die einmalig vom Benutzer abgefragt wird), der Integration von ElevenLabs für die Sprachsynthese mit Aussprachesteuerung, und der Erstellung von kinetischer Typografie und animierten Szenen mit Remotion. Der Workflow umfasst die Erstellung eines faktengeprüften Skripts mit verschiedenen Haken-Optionen, die Generierung einer wortgenauen Zeitsteuerung, einen optionalen Lippen-synchronisierten animierten Moderator, und einen mehrstufigen Export, der die technischen Anforderungen der Plattformen (H.264, 30 fps, 10 Mbps, -14 LUFS) erfüllt. Eine obligatorische Qualitätssicherung (QA) prüft auf Aussprachefehler, Anzeigeprobleme und technische Spezifikationen, bevor das endgültige Paket mit plattformspezifischen Untertiteln, vier Cover-Optionen und einer Quelldokumentation ausgeliefert wird. Das Skill verwendet den Namen `vertical-reels-video-studio-pro` und wird typischerweise in AI-Coding-Umgebungen wie Claude Code oder Codex eingesetzt.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ahmadaryanto/vertical-reels-video-studio/tree/HEAD/skills/vertical-reels-video-studio-pro

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht Vertical Reels Video Studio (pro)?

Komplett von Anfang bis Ende: (erster Durchlauf: Benutzer nach seinen Handles/Watermark/CTA/Stimme fragen) → Thema → Recherche → Entwurf → Genehmigung → Sprachaufnahme → Timing → Remotion-Szenen → Rendern → Reels-Export → Qualitätssicherung → Covers + Untertitel → Auslieferung. Dies ist die erweiterte Version von vertical-reels-video-studio (einfach). Die Markenkonfiguration befindet sich in brand.config.json (gelesen von src/brand.ts und als Prop brand an Kompositionen übergeben).

0a. Erster Durchlauf: Benutzer nach SEINEN Einstellungen fragen (niemals Standardwerte verwenden)

Vor dem ersten Video, falls brand.config.json fehlt, "configured": false enthält oder noch @yourhandle enthält, den Benutzer fragen (eine Frage nach der anderen) und die Antworten in brand.config.json speichern:

  1. Social-Media-Handles: Instagram, Threads, TikTok, X (welche er verwendet).
  2. Watermark-Text (genau so, wie er erscheinen soll, z.B. @yourhandle oder @ig / @x) und Position (bottom-center, bottom-left, top-left, top-right).
  3. CTA-Text und das Handle, das darin erwähnt wird.
  4. Stimme: ElevenLabs-Stimmen-ID + Modell + Sprache, oder "Ich nehme meine eigene Stimme auf". Der API-Schlüssel wird nur als Secret ELEVENLABS_API_KEY angefordert.
  5. Sprache und Ton; wie die Stimme ihren Namen/Ihr Handle aussprechen soll.

Dann setze "configured": true. Erfinde niemals ein Handle, verwende niemals ein fremdes Handle (auch nicht das des Autors dieses Kits) und rendere niemals ein Watermark, das noch @yourhandle lautet.

0b. Markenkonfiguration (brand.config.json, ausgefüllt mit den Antworten des Benutzers)

SchlüsselPlatzhalterNotizen
Handles{{IG_HANDLE}}, {{THREADS_HANDLE}}, {{TIKTOK_HANDLE}}, {{X_HANDLE}}handles.*, die eigenen des Benutzers
Watermark{{WATERMARK}} + Positionwatermark.text / watermark.position, genauer vom Benutzer angegebener Text; niemals fest in Szenen codieren
Sprache / Ton{{LANGUAGE}}, {{TONE}}z.B. lockeres Indonesisch gua/lu, sparsame Emojis
Gesprochener Name{{SPOKEN_NAME}}Wie die Stimme Ihr Handle ausspricht (z.B. "Jane Doe" für @janedoe_). Untertitel zeigen weiterhin das echte Handle
Haftungsausschluss{{DISCLAIMER}}Bei Finanzthemen, z.B. "Bildung, keine Finanzberatung"
Stimme{{VOICE_ID}}, {{TTS_MODEL}}, {{LANGUAGE_CODE}}voice.*, die Wahl des Benutzers (oder seine eigene Aufnahme)
API-Schlüsselenv ELEVENLABS_API_KEYNiemals ausdrucken, protokollieren oder committen
CTA{{CTA}}, {{CTA_HANDLE}}cta.text / cta.handle, vom Benutzer erfragt (z.B. "Folge {{CTA_HANDLE}} für mehr", "Kommentiere TUTORIAL")
Harte Regeln{{HARD_RULES}}Marken, die nie verspottet werden dürfen; Namen, die unkenntlich gemacht werden müssen; Wörter, die nie gesagt werden dürfen
Rendergerät{{RENDER_DEVICE}}GPU-Maschine oder CPU. Immer angeben, welches tatsächlich verwendet wurde

1. Recherche und Entwurf (kein Audio, kein Rendern)

  1. Überprüfe jede Behauptung mit Primärquellen: offizielle Dokumente/PRs, der eigene Beitrag des Autors, Register, datierte Screenshots. Beiträge von Führungskräften gelten als offizielle Aussagen. Kennzeichne Schätzungen (SCHÄTZUNG · nicht offiziell) und Behauptungen (BEHAUPTET). Verwerfe, was du nicht überprüfen kannst, anstatt es abzuschwächen.
  2. Eine Geschichte pro Video, alltägliche Wörter, langsames Tempo. Harte Produktnamen kommen auf den Bildschirm, nicht in die Sprachaufnahme.
  3. Biete 2–4 Haken-Optionen an (H1, H2, …): eine Warum/Wie-Frage oder einen kühnen Kontrast. Lass den Benutzer wählen.
  4. Zeitliche Tabelle: Zeit | Auf dem Bildschirm | VO. Ziel 45–65 s, hartes Maximum 90 s (ziel ≤ 88 s, damit eine Überarbeitung noch passt).
  5. Schreibe factcheck.md (Behauptung → Quelle → Status) und sources.md.
  6. Sende den Entwurf und warte auf Genehmigung. "Nicht rendern" vom Benutzer ist endgültig, bis er "los" sagt.

2. Sprachaufnahme (ElevenLabs)

  • Zwei Skripte: script-display.txt (was Untertitel zeigen) und script-tts.txt (für die Stimme buchstabiert). Behalte eine Display↔TTS-Zuordnungstabelle.
  • Aussprache (siehe docs/VOICEOVER.md): A.I. mit Punkten, damit es Englisch klingt; Ticker Buchstabe für Buchstabe in nicht-englischer VO (ETH → E, T, H); Zahlen als Wörter; englische Begriffe in einfacher englischer Schreibweise (keine Trennstriche); ein Komma nach einem finalen /t/ vor einem Vokal; Markennamen nur umschreiben, wenn Tests zeigen, dass es hilft.
  • Nachbearbeitung: atempo 1.05 (1.1 für schnelle Inhalte). Lautstärke −14 LUFS integriert, ≤ −1 dBTP.
  • Keine doppelten Zeilen. Wenn eine Zeile den Haken oder einen früheren Abschnitt wiederholt, schneide sie oder formuliere sie um.
  • Überprüfe zuerst das Zeichenkontingent. Vertone nur fehlschlagende Zeilen neu (übergebe previous_text für Kontinuität).

3. Timing

  • Wort-Zeitstempel aus dem TTS-Alignment (dividiert durch den Tempo-Faktor) oder faster-whisper → timing.json {duration, phrases:[{s,e,words:[{w,s,e}]}], scenes:[{id,start}]} (scripts/build-timing.py).
  • Führe umschriebene Token zurück zu Anzeigewörtern zusammen (A.I.→AI, E, T, H→ETH), sonst beginnen Untertitel zu spät.
  • Szenen orientieren sich an gesprochenen Wörtern: wt(scene, word) → Frame, in dem dieses Wort beginnt.

4. Bewegungsstil (Remotion, 1080x1920, 30 fps)

Look: Basis #0A1016, Creme #EFE6D2, Bernstein #FFB000, Rot #E2553F, Grün #7BD88F. Schriftarten via @remotion/google-fonts: Big Shoulders 800 (Überschriften), Plus Jakarta Sans (Fließtext/Untertitel), JetBrains Mono (Chips/Code). Layout: Wichtiger Inhalt y 200–1500. Fußzeilen-Cluster: Karaoke-Untertitel ~y 1310–1353, Watermark (falls der Benutzer unten gewählt hat) ~y 1427–1446, Fortschritt ~y 1474, alle links von x 960 (Reels zeichnet seine Schaltflächen rechts). Keine leeren Frames: Der Haken ist bei Frame 0 lesbar; der Anfang und das Ende sind genauso voll wie die Mitte (ein Heldenbild, der Moderator, ein Chip), niemals eine einzelne Zeile auf einem leeren Hintergrund.

Easing-Helfer (src/motion/ease.ts):

const clamp01=(x:number)=>Math.max(0,Math.min(1,x));
const P=(t:number,a:number,b:number)=>clamp01((t-a)/(b-a));
const eOut=(x:number)=>1-Math.pow(1-x,3);
const eIn=(x:number)=>x*x*x;
const backOut=(x:number,s=1.70158)=>1+(s+1)*Math.pow(x-1,3)+s*Math.pow(x-1,2);
const sec=(f:number,at:number)=>(f-at)/30;
const ap=(f:number,at:number,d=0.3)=>eOut(P(sec(f,at),0,d));
const pop=(f:number,at:number)=>Math.max(0,backOut(P(sec(f,at),0,0.35),2.2));
const punch=(f:number,at:number)=>{const t=sec(f,at);if(t<0)return 1;return 1+0.12*eOut(P(t,0,0.2))-0.06*eOut(P(t,0.2,2.5));};
const shake=(f:number,at:number)=>{const t=sec(f,at);return t<0||t>0.4?0:14*Math.exp(-t*10)*Math.sin(t*70);};

Bewegungen: Kinetische Schrift (Wort landet zu seiner VO-Zeit, scale(0.6+0.4*pop), ±4° Setzungsbewegung über 0.25 s, betonte Wörter größer + bernsteinfarben/rot), Zoom-Stoß bei Schlüsselbildern, Kreis-Masken-Enthüllung, Zoom-Durchgangs-Übergänge (Skala 1→4.2 über ~9 Frames, nächste Szene 1.3→1), gedrehte Stempel und Mono-Chips, rote Hervorhebungsboxen auf Screenshots, Schrittzähler, Karaoke-Untertitel (aktuelles Wort bernsteinfarben + 1.08×), CTA-Pop mit Shake, Whoosch/Pop-SFX unter der VO. Ungefähr ein Beat alle 1.5–3 s.

Videoclips: Jedes <OffthreadVideo> in ein <Sequence from={at}> packen und startFrom relativ dazu setzen; sonst klammert der Clip an seinem letzten Frame und sieht eingefroren aus. Kurze Clips für lange Beats loopen. Clips beginnen mit dem ersten brauchbaren Frame.

Audio-Übergänge: Wenn eine Eröffnung Live-Audio (ein Lied, ein Clip) vor der Erzählung verwendet, blende es in die Stille und lasse ~0.3–0.5 s (einen Blitz/Whoosch-Übergang) vor dem ersten VO-Wort, damit es niemals überdeckt wird.

Optionaler Moderator (Maskottchen) mit Lippen-Synchronisation

  • Eine konsistente Charakteridentität in jedem Video. Separate Ebenen: Körper (geschlossener Mund ausgemalt), Arm auf einem Schulterdrehpunkt unter dem Mantelrand, eine statische Schulterkappe, Mund-Sprites closed/half/open/wide/round.
  • Treibe den Mund über die VO-WAV-Datei an, nicht über eine Schleife: scripts/build-mouth-track.py → Zustände pro Frame (geschlossen in Stille und Endhaltung, mindestens 2 Frame Haltezeit). Beschränke den Arm auf den Bereich des Riggs; ein Ganzkörper-Wackeln allein reicht nicht aus.
  • Setze den Moderator nur ein, während er auf dem Bildschirm ist; Covers verwenden den statischen Körper mit geschlossenem Mund.

5. Rendern

  • Bevorzuge eine GPU-Maschine, falls vorhanden (Remotion --hardware-acceleration, eine Konfiguration ohne encodingBufferSize/encodingMaxRate, die benötigtes NVENC zerstören); falle nur auf CPU zurück, wenn erlaubt. Gib immer an, welches Gerät gerendert hat.
  • Rohrender: yuv420p + bt709 in remotion.config.ts, dann der Reels-Durchgang.

6. Reels-sicherer Export (scripts/reels-export.sh, Details in docs/REELS_SAFE_EXPORT.md)

1080x1920 SAR 1, H.264 High Level 4.1, yuv420p TV-Bereich, BT.709-Tags, CFR 30, GOP 60 geschlossen, 10 Mbps (min 8, max 12), Two-Pass loudnorm −14 LUFS / −1.5 dBTP, AAC 192k 48 kHz stereo, +faststart, < 90 s. Auch eine kleine Vorschau < 40 MB (scripts/make-preview.sh).

7. Qualitätssicherung (obligatorisch, vor der Auslieferung)

  • Whisper das finale MP4 (scripts/whisper-check.py): falsche Aussprachen, Stocker, störende Geräusche, doppelte Zeilen, erstes Wort jeder Szene hörbar.
  • Kontaktabzug an jeder Szenengrenze (scripts/contact-sheet.sh): Ruckler, Überlappungen, abgeschnittener Text, Sicherheitszone, eingefrorene Clips, leere Eröffnung/Ende, vorhandenes Watermark, passend zu brand.config.json und exakt buchstabiert.
  • scripts/qa-check.sh: Codec/Profil/Level, pix_fmt, Bereich, Farb-Tags, CFR, AAC 48k, moov vor mdat, Dauer < 90 s, −14 LUFS.
  • Korrigieren und neu rendern. Behalte die vorherige Version, wenn du überarbeitest.

8. Immer mit dem Video ausliefern

  1. Untertitel für IG (Haken, Körper, CTA, leichte Hashtags), Threads (kürzer, keine Hashtags), TikTok, plus eine .srt.
  2. Vier Covers A–D: 1080x1920 + 1080x1350 Raster, Schlüsseltext im Zentrum 1080x1080; ein Haken, ein Hauptfoto, max. 2–3 Zahlenkarten; Kontaktabzug + Benutzer wählen lassen.
  3. Quellennachweise und die Faktenprüfdatei.
  4. Eine Zeile in videos-log.md: Titel, Dateien, Dauer, Lautstärke, Gerät, Quellen, Status "nicht gepostet".

Regeln

  • Niemals posten, DM, hochladen oder kaufen. Liefere Dateien aus.
  • Keine erfundenen Fakten, Stars, Preise oder Ergebnisse. Gib Open-Source-Autoren auf dem Bildschirm Anerkennung.
  • Nur echte Fotos, Logos und Clips; keine KI-generierten Gesichter echter Personen. Kennzeichne Mock-ups als illustration.
  • Verwende nur Medien, für die du die Rechte hast; informiere den Benutzer, wenn Musik oder Clips urheberrechtlich geschützt sind (Stummschalt-/Anspruchsrisiko).
  • Keine Geheimnisse in Dateien. Stelle jede Frage zuletzt, in einer eigenen Nachricht.

Individual skills in this repo

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

Verwandte Skills