Was macht Vibe Knowledge Video?
Verwandle ein Thema in ein quellenbasiertes Remotion-Projekt und ein exportierbares Video. Optimiere für Klarheit, visuelle Erklärung und Reproduzierbarkeit, anstatt die Identität eines bestimmten Creators zu kopieren.
Kernworkflow
- Bestätige oder erschließe das Thema, die Zielgruppe, das Seitenverhältnis, die gewünschte Dauer, die Sprache und ob eine Erzählung erforderlich ist. Wenn Details fehlen, verwende als Standard: Chinesisch, allgemeines erwachsenes Publikum, 16:9, 60–120 Sekunden, 30 fps, mit Erzählskript und eingebrannten chinesischen Untertiteln.
- Recherchiere das Thema vor dem Schreiben. Bevorzuge Primärquellen, Papers, Standards, offizielle Statistiken und seriöse Institutionen. Halte jede sachliche Behauptung in
research/sources.mdmit URL, Titel, Datum und der Behauptung, die sie stützt, fest. - Trenne überprüfte Fakten, Interpretation und Analogie. Entferne unbelegte Behauptungen. Erfinde keine Zitate, Studien, Zahlen, Daten oder Kausalzusammenhänge.
- Erstelle
video-brief.jsonmit references/brief-schema.md. Führenode scripts/validate-brief.mjs video-brief.jsonaus, bevor du Szenen programmierst. - Erstelle einen Szenenplan mit einer starken Frage in den ersten 3 Sekunden, einer Idee pro Szene, einer visuellen Belohnung alle 5–8 Sekunden und einem prägnanten Ende. Bewahre einen klaren narrativen Strang. Entferne historische Vergleiche, Nebenfakten oder zusätzliche Zeitleisten, wenn sie die angeforderte Erklärung unterbrechen, anstatt sie voranzubringen. Verwende references/storyboard-guide.md.
- Wenn kein Remotion-Projekt existiert, führe
bash scripts/bootstrap-remotion.sh <projekt-verzeichnis>aus. Dies erstellt das offizielle leere Template und installiert die offiziellen Remotion Agent Skills. Überschreibe niemals ein bestehendes, nicht leeres Verzeichnis. - Implementiere das Video in Remotion. Lies die offiziellen Remotion Skills, die im Projekt installiert sind, bevor du Änderungen vornimmst. Verwende framegetriebene Animation mit
useCurrentFrame(),interpolate(),spring(),SequenceundSeries; verwende keine CSS-Animationen, Zufallswerte oder Echtzeit. - Bevorzuge natives HTML, SVG, Canvas, Gleichungen, Diagramme, Zeitleisten, Karten und zweckmäßige Illustrationen. Verwende für ein erkennbares reales Motiv wie ein Fahrzeug, eine Maschine, ein Tier, eine Person oder ein Produkt keine groben Strichmännchen oder generischen geometrischen Umrisse als finale Darstellung. Bewahre die Silhouette, Proportionen, definierenden Komponenten und die funktionale Struktur des Motivs. Wenn der Benutzer Referenzbilder bereitstellt, überprüfe sie zuerst und erstelle eine originelle detaillierte Darstellung, anstatt die Quelle zu kopieren. Lies für bewegte Motive references/motion-direction-prompt.md und definiere Kontaktgeometrie, Proportionen, Bewegungskopplung, Überdeckung und Szenenkontinuität vor der Implementierung. Verwende externe Bilder oder Clips nur, wenn sie das Verständnis wesentlich verbessern und ihre Lizenz/Quelle dokumentiert ist.
- Füge Narration nur aus benutzerbereitgestellten Audiodateien oder einem verfügbaren autorisierten TTS-Dienst hinzu. Lade private Texte nicht stillschweigend auf einen externen Sprachdienst hoch. Lege Medien in
public/ab und lade sie mitstaticFile(). - Wenn Hintergrundmusik gewünscht wird, verwende lizenzierte Musik mit dokumentierter Quellenangabe oder generiere einen originären deterministischen Track. Baue Musik aus Akkorden, Rhythmus, Melodie und Hüllkurven auf; verwende kein weißes, rosa oder braunes Rauschen als hörbare Musikuntermalung. Halte die Musik unter der Erzählung und teste sie auf gewöhnlichen Telefon- oder Laptop-Lautsprechern. Verwende
scripts/generate-light-science-music.pyals neutralen originären Ausgangspunkt. - Generiere Untertitel aus dem endgültigen Timing der Erzählung. Maximal zwei Zeilen, sorge für sichere Ränder und erhalte einen lesbaren Kontrast. Verwende für Wort-für-Wort-Timing
@remotion/captions. - Überprüfe repräsentative Einzelbilder vor dem endgültigen Rendern. Überprüfe die Eröffnung, die Mitte jeder Szene, Übergänge und das letzte Bild auf Textüberlauf, sachliche Richtigkeit, Layout, Musiknutzung und Quellenangabe. Rendere oder lade keine 10-Sekunden-Vorschau hoch, es sei denn, der Benutzer fordert dies explizit an; vermeide doppelte Render- und Speicherkosten.
- Exportiere das vollständige MP4 und normalisiere es dann mit
scripts/finalize-video.sh <eingabe.mp4> <ausgabe.mp4>. Dies erzeugt H.264 High/yuv420p-Video, AAC-LC-Stereo-Audio, einavc1-Tag und einen Fast-Start-MP4-Index. Veröffentliche niemals ein ungeprüftes Stream-Kopier-Ergebnis. - Liefere das Projektverzeichnis, das endgültige Video,
video-brief.jsonundresearch/sources.md. Füge eine Vorschau nur auf explizite Anfrage hinzu. Gib alle Behauptungen oder Medien an, die noch manuell überprüft werden müssen.
Projektstandards
- Registriere eine
FullVideo-Komposition. Füge eine separate Vorschaukomposition nur hinzu, wenn der Benutzer explizit Vorschau-Rendering anfordert oder dies die Entwicklung wesentlich vereinfacht. - Lege bearbeitbare Inhalte in Datendateien ab, anstatt Kopien über Komponenten zu verteilen.
- Baue wiederverwendbare Komponenten für Titel, Untertitel, Diagramm, Zeitleiste und Szenenübergang. Behalte Quellmetadaten im Projekt, aber zeige Quellennamen, Daten oder Referenzbezeichnungen standardmäßig nicht im Video an. Zeige eine Quellenangabe auf dem Bildschirm nur, wenn der Benutzer sie anfordert, ein Zitat eine Quellenangabe erfordert oder die Behauptung sonst irreführend wäre.
- Verwende deterministische Animation und stabile Seeds, wenn prozedurale Grafiken benötigt werden.
- Verwende sichere Typografie: System-Chinesisch-Schriften zuerst, es sei denn, eine weiterverteilbare lokale Schriftart ist gebündelt.
- Überprüfe die Portrait-Ausgabe separat; schneide nicht einfach eine Landscape-Komposition zu.
- Bevorzuge kontinuierliche erklärende Aktion gegenüber statischen Stickern: Halte das Hauptmotiv in Bewegung, während Beschriftungen, Pfeile, Diagramme und die Erzählung erklären, was passiert. Kopple Übersetzung, rotierende Teile, Aufhängungs- oder Karosseriebewegung, Spritzer oder Staub und Hintergrundparallaxe an dasselbe framegetriebene Geschwindigkeitssignal.
- Wenn die Erklärung einer Reise, einem Prozess, einem Wachstumspfad oder einem Countdown folgt, erstelle einen persistenten Fortschrittshinweis von Anfang bis Ende. Das Motiv sollte in der Nähe des Anfangs eintreten, während der Erklärung von Konzepten kontinuierlich Fortschritte machen und am Ende sichtbar das Ziel oder den Endzustand erreichen.
- Leite sekundäre physikalische Effekte aus der zugrunde liegenden Aktion ab: Geschwindigkeit steuert die Länge von Spritzern, die Radrotation, Kielwasser, Staub, Unschärfe oder Vibration; die Richtung steuert, wohin diese Effekte wandern. Füge keine generischen Dekorationen hinzu, die die Bewegung des Motivs ignorieren.
- Lege einen numerischen physikalischen Kontaktanker fest, bevor du zeichnest, und verwende seine Formel in jeder Szene wieder: Räder, Skier, Füße, Rümpfe, Straßen und Wasserlinien müssen plausibel aufeinandertreffen. Schätze nicht manuell eine andere vertikale Position pro Einstellung. Platziere das gesamte Motiv nicht unter der Oberfläche oder lasse es nicht über dem Boden schweben, es sei denn, die Erklärung erfordert diesen Zustand explizit.
- Behalte Transform-Mathematik und Platzierungsmathematik im selben Koordinatensystem. Wenn Kontaktpositionen von der oberen linken Ecke des Motivs aus berechnet werden, skaliere und rotiere ausgehend von diesem selben Ursprung oder kompensiere explizit den Transform-Ursprung. Teste die kleinsten und größten Motive-Skalierungen, da eine Zentrum-Ursprung-Skalierung ein Motiv stillschweigend unter seine Kontaktlinie verschieben kann.
- Erstelle für eine echte Maschine ein Inventar der asymmetrischen Funktionsteile aus Referenzbildern, bevor du zeichnest. Verwende nicht ein generisches Rad, einen Flügel, eine Stütze oder ein Werkzeugkomponente wieder, wenn sich die vorderen und hinteren oder linken und rechten Teile des Originals unterscheiden. Bewahre, welches Teil lenkt, stützt, antreibt oder Kontakt mit der Umgebung hat.
- Extrahiere für Personen ein Posen-Skelett aus der Referenz, bevor du stylest: Kopf, Hals, Schulter, Ellbogen, Hand, Hüfte, Knie, Knöchel und Fuß. Überprüfe, dass die Hände die Bedienelemente erreichen, die Hüften auf dem Sitz treffen, die Knie sich um den Körper beugen und die Füße die Pedale oder den Boden erreichen. Ein gefüllter Rumpf plus gerade Gliedmaßenstriche ist kein fertiger Fahrer.
- Halte Branding standardmäßig deaktiviert. Füge keinen öffentlichen Kontonamen, Videokanalnamen, Creator-Handle, kein Logo, Wasserzeichen oder wiederkehrendes Kontolabel hinzu, es sei denn, der Benutzer fordert dies explizit an oder stellt genehmigte Marken-Assets bereit.
- Verwende bei der Übergabe von Projekt- oder Skill-Änderungen für einen chinesischsprachigen Benutzer prägnante chinesische Git-Commit-Nachrichten, es sei denn, der Benutzer wünscht eine andere Sprache.
- Imitiere niemals den exakten gebrandeten Stil, die Stimme, den Avatar, das Logo oder die charakteristischen Übergänge eines lebenden Creators. Übersetze übergeordnete Merkmale wie filmisches Tempo oder datengesteuerte Bewegung in ein originelles visuelles System.
Standardmäßige visuelle Ausrichtung
Verwende einen dunklen editorials Hintergrund, eine helle Akzentfarbe, zurückhaltendes Leuchten, große chinesische Typografie, dünne Gitterlinien und zweckmäßige Bewegung. Vermeide übermäßige Partikel, Kartenraster, zufällige Verläufe, falsches 3D und ständige Kamerabewegung. Lass das Konzept die Animation bestimmen.
Befehle
npm run dev
npx remotion render FullVideo out/review-frames --frames=0,450,900,1350,1800,2250,2699 --image-format=png
npx remotion render FullVideo out/final.mp4
python3 scripts/generate-light-science-music.py --duration 90 --output public/audio/light-science-music.wav
bash scripts/finalize-video.sh out/final.mp4 out/final-compatible.mp4
Unter Windows übergibst du Kompositions-Props mit einer JSON-Datei anstelle von Inline-Shell-JSON.
Fertigstellungsbedingungen
Rufe das Video erst dann als fertig ab, wenn:
- jede sachliche Behauptung eine Quelle hat oder eindeutig als Interpretation gekennzeichnet ist;
- der Brief-Validator bestanden wurde;
- repräsentative Einzelbilder aus der Eröffnung, den Szenenmitten, Übergängen und dem Ende überprüft wurden;
- jede Szene, die das Hauptmotiv enthält, mindestens einmal überprüft wurde; genehmige die Motivgeometrie nicht nur anhand des letzten Bildes;
- erklärender Text, Beschriftungen, Pfeile und Fortschrittsanzeiger sich in keinem überprüften Bild mit dem Hauptmotiv oder den Untertiteln überschneiden;
- kein Text bei 16:9 oder dem angeforderten Format abgeschnitten wird;
- erkennbare reale Motive visuell glaubwürdig sind und nicht auf Platzhalter-Level-Strichzeichnungen reduziert wurden;
- menschliche Proportionen nicht sichtbar gestaucht oder gestreckt sind, gegliederte Teile natürlich verbunden sind und der Maßstab des Motivs szenenübergreifend konsistent bleibt;
- physischer Kontakt und Überdeckung glaubwürdig sind: das Motiv sinkt nicht unbeabsichtigt unter Wasser, durchschneidet den Boden oder passiert andere Objekte;
- die Darstellung im kleinsten und größten Maßstab nach Transformationen denselben Kontaktanker bewahrt;
- asymmetrische reale Komponenten den Referenzen entsprechen und nicht aus einer generischen wiederverwendbaren Form dupliziert wurden;
- die erwartete mechanische Bewegung sichtbar und synchronisiert ist, wie z. B. Rad- oder Propellerrotation, die der Reisegeschwindigkeit entspricht, mit sekundärer Bewegung wie Spritzer, Aufhängung oder Nickbewegung;
- die Haupterklärungssequenz kontinuierliche Aktion verwendet, wenn das Thema Bewegung beinhaltet, anstatt sich nur auf statische Diagramme zu verlassen;
- jede Reise oder jeder Prozess einen kohärenten visuellen Start, laufenden Fortschritt und sichtbaren Abschluss hat;
- kein nicht angeforderter Kontoname, Kanalname, kein Logo oder Wasserzeichen im Video erscheint;
- die Untertitel mit der Erzählung übereinstimmen;
- Hintergrundaudio musikalisch klingt und nicht wie Zischen, Brummen oder Rauschen;
- Medienlizenzen und Quellenangaben dokumentiert sind;
- der vollständige Render-Befehl erfolgreich ausgeführt wird;
- die gelieferte MP4 einen vollständigen FFmpeg-Dekodierungstest besteht und
ffprobeH.264/yuv420p plus AAC-LC bestätigt, wann immer Audio vorhanden ist; - wenn die Datei hochgeladen wird, dieses hochgeladene Artefakt heruntergeladen oder materialisiert wird und seine Größe, sein Hash und seine Dekodierbarkeit überprüft werden, anstatt anzunehmen, dass der Upload-Erfolg Medienintegrität bedeutet.