Stil Celular (Handy-Stil)
Die einzige Regel: Wer zuschaut, muss das Gefühl haben, dass die Creatorin selbst im Instagram-Editor auf dem Handy geschnitten hat. Es darf nie nach Agentur oder KI aussehen. Im Zweifel: weniger, roher, kleiner. Hübsche Motion Graphics sind hier ein Fehler.
Bevor du beginnst, lies ../perfil-criadora.md und lade (oder erstelle) das perfil.json im Stammverzeichnis.
Visuelles – nicht verhandelbar
| Element | Regel |
|---|---|
| Screenshots | Echte Screenshots aus dem Ordner „Meine Screenshots“ der Creatorin (Profilkopfbereich, Insights, Likes/Kommentare/Speicherungen, Aufrufe, DMs, Kommentare, Beiträge). Roher Zuschnitt: rechteckig, kein Rahmen, kein Schatten, keine Umrandung, keine abgerundete Karte. Über dem Kopf. |
| Text über dem Kopf | Titel-Schriftart (.tit), weiß, klein – Titel 48–70 px, Labels 40–48 px bei 1080 Breite. Linksbündig am linken Rand des Screenshots ausgerichtet. Akzentfarbe (.y) nur bei einem gelegentlichen Wort. Sans (.sans) nur für Labels wie „Schlecht / Gut / Viral“. |
| Schatten | Nur wenn die Wand dahinter hell ist (.sh). Niemals ein Kasten, Hintergrund oder Glas hinter dem Text. |
| Bewegung | Keine. Elemente erscheinen und verschwinden durch harten Schnitt (show()/hide()). Kein Fade, kein Slide, kein Zoom, kein Hüpfer. |
| Emojis | Echte Zeichen in der Vorlage (✅ ❌ 🔥 ❤️ 👇 🚨 …); montar.mjs ersetzt sie durch Twemoji-Grafiken. Niemals Icons zeichnen. |
| Untertitel | Ein Wort nach dem anderen, 54 px, weiß mit weichem Schatten (niemals Kontur). Auf Brusthöhe zentriert, direkt unter dem Kinn (capTop in reel.json). Harter Schnitt Wort für Wort. |
| Dauerhafter Titel | Ein Thema-Titel kann über längere Abschnitte auf dem Bildschirm bleiben, während die Screenshots darüber wechseln. |
| Listen | Emoji + Wort-Checklisten (✅ Untertitel / ❌ Titel), Element für Element beim gesprochenen Wort eingeblendet. |
| Mockups | Vermeiden. Echten Screenshot verwenden. Nur dann ein Mockup zeichnen, wenn kein Screenshot existiert UND die Creatorin darum bittet. |
Schnittregeln
- Kein Atmen und keine Pause: Alles unter −30 dB für ≥ 0,15 s wird entfernt (
cortar.mjsmacht das automatisch). - Entferne alle Wiederholungen, Fehlstarts und Neuansätze. Behalte die letzte, sauberste Version.
- Der Transkriptor versteckt Wiederholungen und vertuscht Zeitpunkte. Nach dem Schnitt IMMER das
clean.mp4neu transkribieren und von Anfang bis Ende nach doppelten Sätzen, abgeschnittenen Wörtern und fehlenden Verben durchsuchen. So oft nachschneiden, bis es sauber ist. - Maximal 90 s, es sei denn, die Creatorin wünscht etwas anderes. Gib bei der Auslieferung an, was weggelassen wurde.
- J/L-Cuts standardmäßig aktiviert (
--jl 6sanfter,--no-jldeaktiviert).
Geschwindigkeitsregeln (der PC der Creatorin kann langsam sein – sie gelten zusätzlich zu den obigen Schritten)
- Die Transkription von
novo-projeto.mjserfolgt bereits mit--rapido(leichtes Modell, nur für die Schnittauswahl). Die Neotranskription vonclean.mp4(die für die Untertitel) verwendet das genaue Modell – führe sie einmal pro Schnittversion aus, nicht nach jeder Anpassung. - Überprüfe alle Schnittstellen in EINEM Aufruf (eine Modellladung):
$K --em video-projects/<slug> node ../../$M/transcrever.mjs assets/clean.mp4 --janelas t1,t2,…(Zeiten auf der Timeline von clean). Niemals ein Fenster nach dem anderen. - Rendere keinen gesamten Entwurf nur, um Einzelbilder anzusehen. Verwende
$K --em video-projects/<slug> hyperframes snapshot --at t1,t2,… -o snapshots(einmal pro Elementwechsel) und betrachte die PNGs. Rendere das Video EIN Mal, wenn die Snapshots stimmen. Nur auf Wunsch erneut rendern. - Der Encoder von raw.mp4 / clean.mp4 wird automatisch gewählt (NVIDIA / Intel / AMD / Apple, sonst CPU). Nicht ändern.
- Vor jedem langsamen Schritt gibt eine kurze Zeile auf Portugiesisch an, was läuft und dass es einige Minuten dauern kann („Transcrevendo o vídeo — no seu PC pode levar uns minutos.“), damit die Wartezeit nie wie ein Absturz wirkt.
Ablauf (alle Befehle über den Launcher $K)
M=.claude/skills/_motor · K = der Launcher der Skill videos-opus: "<VO>\bin\node.exe" "<VO>\scripts\video.mjs" kit, wobei <VO> der Ordner der Skill videos-opus ist (der die SKILL.md enthält, die dich angewiesen hat, diese Anleitung zu lesen). Er fügt die portablen Programme zum Pfad hinzu und arbeitet im Arbeitsordner des Kits ($K pasta zeigt welcher; Projekte liegen in <pasta>\video-projects\<slug>). $K --em <unterordner> … führt innerhalb dieses Ordners aus. Kein npx, Python oder node direkt: alles läuft über $K.
- Projekt + schnelle Transkription:
$K node $M/novo-projeto.mjs "<video>" <slug> .claude/skills/estilo-celular→video-projects/<slug>/mitassets/raw.mp4(1080×1920, 30 fps),assets/raw.json,assets/palavras.txt, Schriftarten undsrc/index.template.html. Der Slug ist kurz, klein, mit Bindestrichen (promo-engrene). - Einrahmung: Erstelle einen Kontakt-Snapshot des raw (
$K --em video-projects/<slug> ffmpeg -i assets/raw.mp4 -vf "fps=1/4,scale=180:-1,tile=12x1" -frames:v 1 assets/contato.png) und SCHAU: Wo ist der obere Kopfrand und das Kinn. Elemente leben zwischen y≈100 und dem oberen Kopfrand; Untertitel unter dem Kinn → schreibereel.jsonim Stammverzeichnis des Projekts:{"capTop": <px>}(Standard 1380). - Schnittauswahl: Lese
assets/palavras.txtund schreibeassets/keeps.json({"fps":30,"keeps":[{"from":0,"to":9.38,"why":"…"}]}). Jedeswhyerklärt auf Portugiesisch, was drin blieb und warum. - Schnitt: Innerhalb von
assets/:$K --em video-projects/<slug>/assets node ../../../$M/cortar.mjs→clean.mp4+edit-decisions.json. - Überprüfung: Im Stammverzeichnis des Projekts:
$K --em video-projects/<slug> node ../../$M/transcrever.mjs assets/clean.mp4 assets/transcript.json --nomes "<Begriffe aus dem Profil>". Wiederholung oder abgeschnittenes Wort → zurück zu Schritt 3. Falsch erkanntes Wort →assets/caption-fixes.json({"cloud":"Claude"}).$K --em video-projects/<slug> ffmpeg -i assets/clean.mp4 -af silencedetect=noise=-30dB:d=0.25 -f null -→ es darf keine Pause übrig bleiben. - Screenshots: Liste die Bilder aus dem
pasta_printsdes Profils (neueste zuerst) und SIEH dir jede Kandidatin an, bevor du sie verwendest. Schneide mit ffmpeg inassets/prints/zu (-vf crop=w:h:x:y) und notiere die Herkunft inassets/prints/ORIGEM.md. Kein passender Screenshot → sag, welche Ansicht helfen würde, und arbeite OHNE Screenshot (sie kann später als Anpassung nachfordern). Erfinde niemals einen Screenshot. - Komposition: Bearbeite
src/index.template.html– Elemente im BlockELEMENTOSund Zeiten im BlockTEMPOS. Zeiten ermittelst du mit$K --em video-projects/<slug> node ../../$M/ancoras.mjs "Satz" "anderer Satz"(Stammverzeichnis des Projekts) beim gesprochenen Wort. Nur harter Schnitt. - Montage + Prüfung:
$K --em video-projects/<slug> node ../../$M/montar.mjs→$K --em video-projects/<slug> hyperframes lint→ Snapshots von jedem Elementwechsel ($K --em video-projects/<slug> hyperframes snapshot --at …) und SCHAU: Gesicht nie verdeckt, Text lesbar, Screenshot am Titel ausgerichtet. Dann rendern und ausliefern (über den Launcher, im Arbeitsordner des Kits):$K node $M/renderizar.mjs <slug>– prüft die Sperren, rendert im Hintergrund, validiert und kopiert bereits inprontos/. Ausgabe 3 = noch am Rendern: führe$K node $M/renderizar.mjs <slug> --esperaraus, bis FERTIG erscheint. Niemals$K --em video-projects/<slug> hyperframes renderdirekt oderprontos.mjsvon Hand ausführen. - Auslieferung: Antworte auf Portugiesisch, kurz: wo das Video liegt, was geschnitten wurde, verwendete Screenshots, was unklar blieb. Niemals veröffentlichen oder versenden.
Anpassungen nach der Auslieferung
„Nimm den Preisteil raus“ → bearbeite keeps.json, wiederhole Schritt 4–5, berechne mit ancoras.mjs alle ZEITEN von allem, was nach dem Abschnitt kommt, und wiederhole Schritt 8. „Untertitel weiter nach unten“ → reel.json und wiederhole Schritt 8.
„Screenshot austauschen“ → nur Schritt 6–8. Niemals von Grund auf neu machen, was die Creatorin nicht geändert haben möchte.