3D-Erklärvideo
Komplette Lieferung, ohne Benutzernachfrage: out/<slug>.mp4 (endet mit Markenschluss) +
thumbs/<slug>-1.png und -2.png + out/<slug>-legenda.txt (Post-Text mit Quellen und Hashtags).
Auf dem Rechner des Benutzers kopiert npm run explicar alles auch auf Google Drive
(G:\Mein Laufwerk\Scientia\Posts\<Datum> · <slug> · <Titel>\: video.mp4, thumb-1/2.png, legenda.txt, fontes.txt).
Falls „Laufwerk nicht gefunden“ erscheint, zeige dem Benutzer die vom Skript ausgegebenen Mount-Befehle.
Der Benutzer gibt nur das Thema ein; unterbreche nicht für Entscheidungen, die du selbst treffen kannst.
QUALITÄTSREFERENZ (Entscheidung des Benutzers, 16.10.2026): das Video über kontaktloses Bezahlen.
videos/aproximacao/roteiro.json + src/explicativo/videos/Aproximacao.tsx. LIES BEIDE, BEVOR du
anfängst, und kopiere das Rezept aus references/referencia.md. Die Videos im „Ludificando“-Stil
(grauer Hintergrund mit Regalen, Unschärfe, vielen Figuren, 80–90 s) wurden ABGELEHNT – verwende sie nicht.
Lies dann references/ganchos.md (vor dem Skript) und references/estilo.md + references/biblioteca.md
(vor den Szenen). references/ludificando.md ist nur eine Ideenquelle, keine Regel.
1. Recherchieren (obligatorisch)
- Alles Aktuelle (Gesetz, Zahl, Amt, Frist) stammt aus einer JETZT durchgeführten Websuche, mit 2+ vertrauenswürdigen Quellen (Agência Brasil, Senat/Abgeordnetenhaus, IBGE, g1, Folha …). Keine Zahlen aus dem Gedächtnis.
- Notiere die Quellen in
fontesim Skript. Falls Quellen widersprechen, verwende die offiziellere und weise darauf hin. - Trenne Fakten von Prognosen/Meinungen („Das DIEESE berechnet …“, „Der CNI sagt …“).
2. Skript → videos/<slug>/roteiro.json
Rezept der Annäherung: ca. 60 s, 7 Szenen, 18–30 Wörter pro Szene (insg. ~170–190 Wörter),
EINE Idee pro Szene, logische Erklärungsabfolge (jede Szene führt zur nächsten: „Deshalb …“, „Dann …“,
„Wenn jemand …“). chip = Kurzname des Kapitels in GROSSBUCHSTABEN („DIE ENERGIE“, „GANZ NAH“, „UND WENN ES JEMAND KOPIERT?“).
- Hook = starke Zahl + Frage („Drei von vier Käufen … Aber wie kann eine Karte ohne Batterie etwas bezahlen?“). Letzte Szene = die praktische Information, die der Zuschauer mitnimmt (z. B. das Limit ohne PIN).
- „Die beiden Seiten“ und „Vorsicht/Betrug“ kommen nur, wenn das Thema es VERLANGT (echte Kontroverse, echter Betrug) – sie sind nicht obligatorisch.
-
- Satz = der Hook, immer eine Frage (Benutzerregel), auf die die Person eine Antwort sehen will, mit dem starken Fakt darin oder direkt danach. Z. B.: „Wie kann eine Karte ohne Batterie bezahlen?“ Kein „Hallo“.
- Kurze Sätze, wie mit einem Freund reden. Zahlen mit Ziffern schreiben („75 Stimmen“).
pronunciafür Wörter, die die Stimme falsch lesen könnte (Abkürzungen, „6x1“, Dezimalzahlen wie „26,8“).- Letzte Szene: ABSCHLUSS – die abschließende praktische Information / Antwort auf die Hook-Frage. Verboten (Benutzerregel): Kommentar, Like, „Speichern“, „Folgen“, „Kommentiere X, dann schicke ich dir …“ – weder im Text noch auf dem Bildschirm. Die Quellen stehen nur in der Post-Beschreibung. Nach dem letzten Satz kommt nur noch die Markenschlusssequenz (automatisch).
- Sätze mit 6–14 Wörtern, ruhig gesprochen (die Sprachausgabe erfolgt Satz für Satz, mit Pause bei jedem Komma und Punkt).
- Es gibt KEIN
ctamehr im Skript: der Abschluss zeigt nur die Marke. sons: Standardmäßig erzeugt es einen Impact im 1. Frame, Swoosh/Whoosh bei Szenenwechseln, „Pop“ bei Zahlenkarten, „Tick“ bei Notizen/Pillen und einen Anstieg beim Eintritt in den Abschluss. Keine Hintergrundmusik (die Referenz hat keine; füge nur"musica": "sfx/bed-scientia.mp3"hinzu, wenn der Benutzer darum bittet). Schreibe 2–3acentoszu Schlüsselwörtern (in Maßen):"sons": {"acentos": [{"palavra": "75", "cena": "aprovado", "som": "sfx/ding.wav", "volume": 0.5}, {"palavra": "ausschalten", "cena": "liga", "som": "sfx/boom.wav", "volume": 0.5}, {"palavra": "Uhr", "cena": "agora", "som": "sfx/riser.wav", "pico": 1.49, "volume": 0.35}]}. Fertige Sounds inpublic/sfx/: boom (Schock), ding (Zahl/Enthüllung), pop (Knall), riser (Spannung, verwendepico), whoosh/swoosh. Das Wort ist das in derfalageschriebene (nicht das inpronuncia). Du kannst jeden Sound durch einen aus der Benutzerbibliothek ersetzen (public/soundeffects/catalog.md) –musica,transicao(Liste wechselt),aparecer,dado,abertura,final;nullschaltet aus.composicao= Name der Komponente (z. B.Escala6x1).marca="SCIENTIA · <Kurzes Thema>"(der Kanal heißt Scientia).voz={ "principal": "masculina", "alternar": "nao" }– Setze KEINEvelocidadeim Skript (kommt ausvoz.json, aktuell 1.08).post= Instagram/TikTok-Beschreibung (wird zuout/<slug>-legenda.txt):{ "gancho": "<starker Fakt + Frage> 📌", "pontos": [3 kurze Sätze, ohne Punkt, mit Zahlen], "fontes": ["Agência Senado", "IBGE", …nur die Namen], "hashtags": ["Thema", "Gegenstand", …bis 5, ohne #] }(#scientiawird automatisch hinzugefügt). Gleicher Ton wie das Video: was es für die Person ändert, ohne Meinung. Maximal ein Emoji.thumb= Video-Thumbnail (siehe Schritt 6):{ "titulos": [2 Optionen], "cena": "<Szenen-ID als Hintergrund>", "quadro": <Szenenframe>, "descer": 330, "zoom": 1.45 }.
3. Sprachausgabe
npm run narrar -- <slug> → public/explicativo/<slug>/narracao.wav + tempos.json (Zeit jedes
Wortes, von der Stimme selbst). Neuronale Stimme von edge-tts (Internet); ohne Internet wird auf die lokale Kokoro-Stimme zurückgegriffen.
Die KANAL-STIMME steht in voz.json (Engine, vom Benutzer gewählte Stimmen, Geschwindigkeit). Wähle oder tausche nie eigenmächtig Stimmen, Engine oder IDs aus – das ist Geschmackssache des Benutzers. Im Skript definiert das Feld voz nur:
"principal": "masculina"– immer. Die genehmigte Stimme des Kanals ist Antonio (Microsoft), die der 6x1- und Annäherungsvideos. Die weibliche Thalita Multilingual klang wie portugiesisches Portugiesisch (Urnen-Video) und wurde entfernt. Verwende nie „Multilingual“-Stimmen. Verwende nur eine weibliche Stimme, wenn der Benutzer es fordert."alternar": "cenas"– die Szenen wechseln sich zwischen den beiden Stimmen ab (Duo). Standard:"nao".- Falls der Benutzer sich über die Stimme beschwert: zeige
npm run vozes(Microsoft) /npm run vozes -- elevenundnpm run vozes -- usar <id> feminina|masculina. - Schreibe den Text fürs OHR – das verändert den Tonfall der synthetischen Stimme am meisten:
- kurze Sätze (6–14 Wörter), Kommas an Stellen, an denen man atmet, keine Klammern oder Abkürzungen ohne
pronuncia; - alle 2–3 Szenen eine rhetorische Frage („Und wer hat schon bezahlt?“) – die Stimme geht bei „?“ nach oben und gewinnt an Lebendigkeit;
- Kontrast und Wendung: „Nur dass …“, „Aber Achtung:“, „Und noch mehr:“;
- wichtige Zahl allein am Satzende („Das waren 75 zu 1 Stimmen.“) oder wiederholt („Elf Tage!“);
- vermeide lange Sätze mit vielen Kommas und Aufzählungen mit 4+ Elementen (die Stimme klingt monoton).
- kurze Sätze (6–14 Wörter), Kommas an Stellen, an denen man atmet, keine Klammern oder Abkürzungen ohne
- Die Standard-Sprachausgabe ist die der Referenz: Satz für Satz, Pause von 0,12 s am Komma und 0,32 s am Punkt,
0,45 s zwischen Szenen, Antonio bei 1.08. Ändere nicht auf
"estilo": "continuo"ohne Benutzerwunsch. - Zum Testen der ausdrucksstärkeren lokalen Stimme (Chatterbox auf der GPU des Benutzers):
npm run vozes -- comparar <slug>.
4. Szenen → src/explicativo/videos/<Name>.tsx
- Kopiere die Struktur von
Escala6x1.tsx: eine Komponente pro Szene,CENAS_<NAME>und am Ende der Dateiexport const VIDEO = { id: "<Name>", roteiro: roteiro as Roteiro, cenas: CENAS_<NAME> };(mitimport roteiro from "../../../videos/<slug>/roteiro.json"). Das Video registriert sich selbst: Bearbeite NICHTComposicoes.tsx(dessen Bearbeitung verursacht Konflikte beigit pull). - Speichere das Video nach Fertigstellung auf GitHub:
git add videos/<slug> src/explicativo/videos/<Name>.tsx+ commit + push (damit das nächstegit pulldes Benutzers nicht hängt). - Helden-Objekt (wie das Kartenlesegerät + Karte): EIN oder ZWEI Objekte des Themas, gut gemacht und GROSS, die in fast allen Szenen vorkommen; jede Szene zeigt einen Teil/Zustand von ihnen (Licht leuchtet auf, Code auf dem Bildschirm, Schlüssel kommt heraus). Figur nur als Nebenrolle (0–1 pro Szene, nie im Zentrum).
- Das Kit (
three/Kit.tsx,ui/Kit.tsx) ist optional: verwende nur ein Teil, wenn die Szene es verlangt (z. B.Hemicicloin einer Abstimmung). Fülle die Szene nicht mit Pillen/Linealen. - Wähle für jede Szene EINE visuelle Metapher für die Daten (siehe
references/estilo.md): Stimmen → Stühle leuchten auf; Stunden → verschwindende Würfel; Personen → Figuren (1 Figur = X); Geld → Münzen/Gehaltsabrechnung; Frist → Tafeln auf einer Zeitlinie; Regel/Gesetz → Papier + Checkliste. - Synchronisiere mit der Sprache:
w("Wort")gibt den Frame zurück, in dem das Wort gesprochen wird. Die visuelle Änderung erfolgt BEIM Wort (z. B. wechselt die Kartennummer, wenn die Stimme die Nummer sagt). - Kamera:
cam(pos, look)interpoliert Anfangsposition → Endposition während der Szene (ease(f, 0, dur)). - Szenerie: Die
Stagekommt bereits im dunklen Modus (schwarzer Hintergrund, Staub) – wie in der Referenz. Verwende NICHTcenario="estudio"nochacabamento(Unschärfe/Bloom) ohne Benutzerwunsch. - Kamera: Abstand 6–8 zum Objekt, Blick auf y ≈ 1; langsame Annäherung von 10–15 % in der Szene (wie in Aproximacao.tsx).
- Bildausschnitt: Das Hauptobjekt belegt 40–70 % der Breite. Nie leeres Bild, winziges Objekt (feine Linie) oder ein Block, der den ganzen Bildschirm ohne Referenz einnimmt. Maßstab immer mit menschlicher Referenz (Figur daneben) oder bekanntem Objekt.
- Baue Objekte des Themas aus einfachen Formen (Buch = dünne Kisten, Safe = Kiste + Zylinder, Handy = abgerundete Kiste mit dunklem Bildschirm, Waage = Zylinder) – konkreter Kontext fesselt mehr als abstrakte Blöcke.
- Inhalt im mittleren Bereich des Bildschirms (y ≈ 450–1250 px). Oben = Marke/Chip/Karte; 1300+ = Untertitel und TikTok-Buttons. Nichts Wichtiges am rechten Rand (App-Symbole).
- Notiere Quellen von Zahlen in
Callout(sub="QUELLE: …").
5. Frames prüfen
npm run quadros -- <slug> → out/quadros/<slug>/grade.jpg (ein Frame am Ende jeder Szene).
SCHAUE dir das Raster an. Prüfe: nichts abgeschnitten oder hinter dem Untertitel; lesbarer Text; Hauptobjekt groß
genug; nichts über dem Karten-Chip; das Bild passt zum Satz. Passe Kamera/Maßstab an und wiederhole.
6. Thumbnail (Titelbild)
Schreibe 2 Titel in thumb.titulos (Zeilen mit \n, Hervorhebung zwischen *Sternchen*):
- 3 Zeilen, maximal ~16 Zeichen pro Zeile; die letzte Zeile ist die hervorgehobene Frage/Neugier.
- Einer mit dem starken Fakt/Zahl („75 zu 1 Stimmen.“), der andere mit der Frage, die die Person hat („Wann ändert es sich?“).
- Wahrheitsgemäß: nichts versprechen, was das Video nicht zeigt.
- Hintergrund: die schönste/lesbarste Szene (
cena+quadro, in dem sie bereits aufgebaut ist).npm run thumb -- <slug>→thumbs/<slug>-1.png,-2.png. SCHAUE dir beide an, bevor du sie abgibst.
7. Rendern und ausliefern
npm run explicar -- <slug> → out/<slug>.mp4 + Thumbnails (3D-Rendering ohne GPU: ~6–10 min pro Minute Video
im Codespace). Sieh dir 3–4 Frames des finalen mp4 an, überprüfe das Ende des Audios und liefere mit den Quellen aus.
Zeige dem Benutzer: das Video, die 2 Thumbnails (sag, welches du posten würdest und warum) und füge die
Beschreibung aus out/<slug>-legenda.txt ein, bereit zum Kopieren. Frage nach der Meinung und notiere seine
Kommentare in notas-do-editor.md (Abschnitt „Explicativos“).