Reel Studio – Wie ein Video erstellt wird
Der Ablauf ist für jeden Stil gleich. Wie ein Video aussieht und klingt, wird durch seinen Stil bestimmt; für wen es ist, welches Format, die Stimme und woher Bilder kommen können, wird durch die Einstellungen des Studios festgelegt. Der allgemeine animated-video Skill beschreibt die breitere Methode (Brainstorming, Board, Stummtest, Review); wo er abweicht, gewinnen dieser Skill und der Stil. Frage mit einer Empfehlung, sodass „Ja“ eine vollständige Antwort ist. Ideen zu entwickeln und sie auf dem Board des Projekts zu speichern, liegt im Verantwortungsbereich des content-ideas Skills, bevor dieser Prozess beginnt.
Der Workspace
projects/<id>/– ein Projekt: ein Kanal, für den der Ersteller Videos macht (die Projektauswahl des Studios; die Eingabeaufforderung gibt an, welcher geöffnet ist). Seinconfig/enthält seine Einstellungen (Ajustes):profile.json,voice.jsonundaccount.json(sein Instagram, Mi cuenta);account/speichert das, was von diesem Konto heruntergeladen wurde. Greife nicht in den Ordner eines anderen Projekts ein, es sei denn, du wirst darum gebeten.projects/<id>/videos/<slug>/– ein Video: ein Remotion-Projekt, das aus der Vorlage seines Stils kopiert wurde.title.txt(sein Name im Studio),style.txt(eine Stil-ID),audio/vo.txt(der Erzähltext, genau wie er an die Stimme geht),audio/beats.json(die Struktur des Drehbuchs),src/format.json(Größe, fps, Lautstärke),CREDITS.md,caption.md,out/(Renderversionen, Boards; nicht versioniert).formats/<id>/format.json– ein Format: die Art des Videos (vollständige Animation über einer generierten Stimme oder über der aufgenommenen Stimme des Erstellers; der Ersteller spricht vor der Kamera mit Animationen …), was auf dem Bildschirm zu sehen ist und wie es geschnitten wird. Ein Video benennt sein Format informat.txt(keines: der Standard,animated).skillverweist auf seine eigenen Anweisungen,overlayauf Dateien, die es über die Vorlage des Stils legt;"footage": truebedeutet, dass das Video mit seiner Aufnahme infootage/beginnt ("voiceOnly": true: nur sein Ton – Audios – wird verwendet).styles/<id>/style.json– ein Stil: Palette und Bedeutung jeder Farbe, Schriftarten, Aussehen, Bewegung, Bilder, was zu vermeiden ist.skillverweist auf seine eigenen Anweisungen,templateauf das Remotion-Projekt, das neue Videos kopieren.config/(im Stammverzeichnis) – Einstellungen, die jedes Projekt gemeinsam nutzt:images.json(Bildquellen),social.json(Scraper).tools/– gemeinsame Skripte.LESSONS.md– Erkenntnisse aus früheren Videos.projects/<id>/inspiration/<account>/– Reels anderer Konten, die auf der Inspiración-Seite des Projekts untersucht wurden:account.json(analysis.text: was für diesen Account funktioniert) und pro Reelreel.json(Metriken, Bildunterschrift),transcript.json,analysis.json(Hook, Struktur, Visuals, CTA, was mitzunehmen ist),hook.jpg(erste 3 s) undsheet_NN.jpg(1 Frame/s). Verwende sie für Blickwinkel und Hooks, wenn du danach gefragt wirst; passe sie an das Profil des Erstellers an, kopiere niemals ein Drehbuch.
Einstellungen kommen aus dem Studio
Reel Studio fügt das Profil (Sprache, Plattform, Zielgruppe, Länge, Caption-Regeln), das Format des Videos, die Stimme und die Bildquellen bei jeder Runde in deine Eingabeaufforderung ein. Sie haben Vorrang vor diesem Skill und dem Stil. Gib niemals eine Stimmen-ID oder Einstellungen, eine Größe, eine Bildrate oder einen Lautstärke-Zielwert fest vor.
API-Schlüssel befinden sich im .env-Verzeichnis des Workspace (festgelegt unter Ajustes, neben der Angabe, wofür sie bestimmt sind: Voz, Extracción de datos). Die Werkzeuge lesen sie; gib niemals einen Schlüssel aus oder frage in einem Chat danach – wenn einer fehlt, bitte den Ersteller, ihn unter Ajustes hinzuzufügen.
Python: Werkzeuge, die nur die Standardbibliothek verwenden, werden mit python3 ausgeführt (python unter Windows): tts.py, el_words.py, standin_words.py, commons.py, openverse.py, pexels.py, pixabay.py, unsplash.py, generate_image.py. Werkzeuge, die Pakete benötigen, werden mit der virtuellen Umgebung des Workspace ausgeführt:../../../../.venv/bin/python (Windows: ../../../../.venv/Scripts/python.exe): cutout.py, audio/mix.py und sheet.py (snap.sh verwendet es, oder ffmpeg, wenn keine venv vorhanden ist). Stile, die Cutouts benötigen, brauchen die venv (Ajustes → Requisitos installiert sie). Pfade unten sind relativ zum Video-Ordner.
Bevor du beginnst
Lies das Format des Videos: formats/<id from format.txt>/format.json und, falls vorhanden, seinen Skill – er beschreibt, wie diese Art von Video erstellt wird und hat Vorrang vor den folgenden Schritten, wo sie abweichen (z. B. bei seiner Aufnahme gibt es kein Drehbuch zu schreiben oder keine Stimme zu generieren: der Schnitt liefert beides). Lies den Stil des Videos: styles/<id from style.txt>/style.json und, falls vorhanden, seinen Skill. Das Format bestimmt niemals Farben, Schriftart oder Rahmen: das ist Sache des Stils. Lies LESSONS.md (den allgemeinen Teil und den des Stils). Ein Stil ohne Skill oder Vorlage wird auf der Vorlage des Standardstils (template/) aufgebaut, wobei das Aussehen auf sein style.json geändert wird; sage das zu Beginn.
Schritte
- Neues Video – das Studio erstellt es aus der ersten Nachricht (Ordner, Titel, Stil, Format, Größe). Über ein Terminal oder die allgemeine Konversation:
scripts/new-video.sh <slug> [style] [format]. - Drehbuch – mit dem
video-scriptSkill (Hook, Halten der Antwort, Timing, Checkliste), beginnend mit den Notizen der Idee, wenn sie vom Board kommt. Plattform, Sprache, Zielgruppe und Länge aus dem Profil; Wörter ≈ das gemessene Tempo der Stimme × die Zielsekunden. Ziel: Reichweite, sofern nicht anders angegeben. Zahlen inaudio/vo.txtausschreiben („mil cuarenta y dos“) und insrc/captions.tsDISPLAYwieder in Ziffern umwandeln. Genehmigung einholen.audio/vo.txtundaudio/beats.jsonschreiben. - Bilder – Mit einem neuen Agenten ein Bild pro Beat brainstormen (animated-video → find the pictures). Bevorzuge ein wiederkehrendes physisches Motiv, das das System über den gesamten Film spielt (ein Karteikartenschrank = der Server, Schubladen = Datensätze). Die Bilder halten die Frage des Drehbuchs offen: Der erste Frame wirft sie auf, und kein Bild oder Titel auf dem Bildschirm zeigt die Antwort, bevor der Erzähler dort ankommt. Das Konzept genehmigen lassen.
- Stimme –
python3 ../../../../tools/tts.py audio/vo.txt audio/vo.mp3, dannffmpeg -y -i audio/vo.mp3 -ar 48000 public/vo.wavundpython3 ../../../../tools/el_words.py audio/vo.alignment.json public/vo.wav(ergibtsrc/words.json,src/vo_env.json). Bevor die Stimme existiert:python3 ../../../../tools/standin_words.py audio/vo.txt src/words.json(zeitlich abgestimmt auf das Tempo der Stimme; nenne es einen Platzhalter). Erstelle zuerst eine kurze Probe, wenn sich etwas an der Stimme ändert. Verwende das Audio so, wie es zurückkommt (kürze keine Pausen, es sei denn, du wirst darum gebeten). Jede Erzeugung kostet Zeichen: generiere nicht ohne Grund neu. - Bilder – Suche frei im Web mit verfügbaren Such- und Browser-Werkzeugen; jede Website kann eine Quelle sein. Die Eingabeaufforderung listet optionale API-Integrationen auf, keine erlaubte Liste oder verbindliche Reihenfolge. Verwende diese APIs nur, wenn sie aktiviert und konfiguriert sind; die freie Websuche benötigt keine Quelleinstellungen. Downloads gehen nach
assets/src/(nicht versioniert); notiere jedes Bild inCREDITS.md(Titel, Autor, Lizenz, wenn bekannt, Original-Link; erfinde niemals eine Lizenz). Wenn Stockmaterial nicht ausreicht, bitte um ein Handyfoto der genauen Geste (einfacher Hintergrund, gutes Licht). Wie Bilder behandelt werden, ist Sache des Stils. - Aufbau – Arbeitet in
src/lib.tsACTS(Schnitt ~0,08 s vor dem ersten Wort jeder Handlung), Untertitel als Sinneinheiten insrc/captions.ts(Wort für Wort gegen das Transkript geprüft), eine Szene pro Handlung insrc/film/scenes.tsx. Jedes Timing stammt von einem Cue (cue('phrase'),at('phrase')), sodass eine neue Stimme den Film neu timet. Größen und Frames aussrc/lib.ts(W,H,FPS,f()), niemals Literalzahlen. Die Komponenten sind die des Stils. - Board –
./snap.sh out/board <sec> …rendert Standbilder undsheet.png. Zeige einen Schlüsselframe pro Beat; hol dir die Zustimmung. Gib die Zeiten wörtlich an (in zsh teilt eine durch Leerzeichen getrennte Liste in einer Variable nicht auf). - Sound – Das Cue-Blatt in
audio/mix.py, mit Zeiten von denselben Cues, die die Szenen verwenden;../../../../.venv/bin/python audio/mix.py→public/mix.wav; setzeaudio: trueinsrc/Root.tsx. Welche Sounds: die des Stils. Sage bei der Auslieferung, welche Sounds synthetisch sind. - Stummtest – vor dem ersten vollständigen Schnitt:
ffmpeg -i out/<name>.mp4 -vf "fps=2,scale=270:-1,tile=8x5" out/mute/sheet_%02d.pngund gib diese Blätter nur an einen neuen Agenten weiter (ignoriere Untertitel; erzähle neu; liste Verwirrungen und Brüche auf). Korrigieren, Standbilder erneut prüfen. - Render – Unter macOS und Linux zuerst verwaiste Renderer beseitigen:
ps -A -o pid=,ppid=,command= | awk '$2==1 && /chrome-headless-shell/ {print $1}' | xargs kill. DannCONCURRENCY=3 ./render.sh <name>→out/<name>.mp4, normalisiert auf die Lautstärke des Formats. Überprüfe Dauer, Lautstärke, ersten und letzten Frame. Schreibecaption.mdmit den Caption-Regeln des Profils und den Credits; seine Eröffnung wirft die Frage des Hooks auf, anstatt sie zu beantworten. Wenn das Video oder die Caption die Leute auffordert, ein Wort zu kommentieren, um etwas zu erhalten, schreibeautomatizacion.json(Reel Studio → Instrucciones automatización) mit dem, was in ManyChat oder InstantDM eingefügt wird, als Zeichenfolgen:keyword(das genaue Wort),reply(die öffentliche Antwort auf den Kommentar),dm(die direkte Nachricht) undlink. Jedes wird so kopiert, wie es ist, also keine Notizen darin; lasse leere Felder aus und erfinde niemals einen Link. Melde den Pfad, offene Probleme, übersprungene Prüfungen, was synthetisch oder erfunden ist, und die Credits.
Nach einem Video
Kundenprojekte, Videos, Präferenzen, benutzerdefinierte Stile und persönliche Lektionen bleiben lokal und werden vom Repository der Anwendung ignoriert. Committe oder pushe sie nicht dorthin, auch nicht nach einem Render; füge niemals ignorierte Daten mit force hinzu. Ein separates Repository für Kundeninhalte erfordert die ausdrückliche Aufforderung des Erstellers.
Füge hinzu, was eine Überarbeitung gekostet hat, zu LESSONS.md, eine Zeile pro Grund mit dem Grund, unter dem allgemeinen Teil oder dem des Stils.
Wenn die Zahlen des veröffentlichten Videos zurückkommen, lies sie mit video-script → Review. Es ist wichtig, schnell von der Idee zum veröffentlichten Video zu gelangen, weil viele Videos floppen werden und jedes etwas lehrt, also ändert eine neue Version so wenig wie möglich: Behalte, was genehmigt wurde, ändere nur, was getestet wird (ein neuer Hook, ein Schnitt, wo die Leute gegangen sind), und generiere die Stimme nur für den Erzähltext neu, der sich geändert hat. Füge keine Verbesserungen hinzu, um die niemand gebeten hat.