App Promo Video Studio
Erstelle ein fertiges, ehrliches App-Promo-Video aus Emulator-Aufnahmen und veröffentliche es auf YouTube, deiner Facebook-Seite, Instagram und TikTok. Bewahre die echte App-Oberfläche; erfinde niemals Funktionen, Zahlen oder Behauptungen.
Dieses Skill ist app-agnostisch. Es funktioniert für jede App. Alles ist
spezifikationsgetrieben: Eine neue App bedeutet eine neue JSON-Spezifikation plus eigene Screenshots, Demoaufnahmen, CTA, Offenlegungshinweise
und Voice-Over-Zeilen – keine Code-Änderungen. Das Astra Phone Directory-Promo (10. Okt. 2026) ist die
Referenz in examples/; kopiere es und tausche den Inhalt der App aus. Bestätige für jede neue App
das eine Marketingversprechen, den realen Funktionsumfang, die sicheren Demodaten, den Play Store-Link und die
ehrlichen Offenlegungshinweise, bevor du mit der Produktion beginnst. Veröffentliche auf dem eigenen YouTube-Kanal der Marke, der Facebook-Seite,
Instagram und TikTok; nur die app-spezifische YouTube-Playlist unterscheidet sich zwischen den Apps.
Verwende das geladene Skill innerhalb einer Sitzung wieder. Erkenne Tool-Pfade zur Laufzeit (which ffmpeg,
emulator -list-avds); kodiere keine Maschinenpfade und halte pfade im Repository relativ.
Strenge Regeln (nicht verletzen)
- Nur sichere Demodaten in einem öffentlichen Video. Erfundene Demoaufzeichnungen (zufällige Namen/Avatare, gefälschte CNICs) sind in Ordnung; NIEMALS eine echte private Telefonnummer oder die des Besitzers. Bestätige den Demo-Datensatz mit dem Benutzer, wenn die App echte Daten von Drittanbietern zurückgibt.
- Jedes Datenfeld anzeigen. Jede Kartenszene zeigt die gesamte Karte; schneide kein Feld ab.
- Ehrlicher Text. Keine erfundenen Funktionen, Zahlen, Auszeichnungen oder Bewertungen. Führe den Drittanbieter-Verzeichnis- und Nummernentfernungs-Hinweis im CTA und in den Untertiteln auf.
- Keine Gedankenstriche irgendwo (Szenen, Untertitel, Titel, Beschreibungen, Commit-Nachrichten). Verwende "-" oder teile den Satz.
- Immer ein eigenes Thumbnail. Lasse niemals eine Plattform automatisch einen Frame auswählen. Für ein Reel / Short / TikTok
(vertikal) verwende das 9:16
thumb_9x16.png; nur ein horizontales YouTube-Upload verwendetthumb_16x9.png. Ein YouTube Short zentriert ein 16:9-Thumbnail auf einen schmalen ~9:16-Streifen, daher halte den Schlüsselinhalt in der zentralen ~405px-Spalte und überprüfe dies durch Zuschneiden der 9:16-Mitte vor dem Upload. - Urdu-Untertitel/-Titel in ROMAN URDU (Latein), nicht in Urdu-Schrift. Das gesprochene VO bleibt Urdu; der schriftliche Untertitel/Titel/die Beschreibung für den Urdu-Schnitt ist Roman Urdu.
- KI-Offenlegung: genau, niemals automatisch. Lese die aktuelle Definition jeder Plattform für KI-generierte, veränderte oder synthetische Inhalte und beantworte sie wahrheitsgemäß. Die Sprachausgabe ist eine neuronale (synthetische) Stimme, also lege sie offen, wo immer die Regeln der Plattform synthetisches Audio abdecken.
- YouTube „Für Kinder gemacht“: immer Nein. Diese Promos sind für Erwachsene.
- Zuerst Entwurf, Veröffentlichung nur bei explizitem Ja pro Plattform. Veröffentlichung ist nach außen gerichtet und unumkehrbar; bereite alles privat vor und warte dann auf die Freigabe. Markiere den Play-Build und zeichne danach jede Post-URL + Ergebnis auf.
Workflow (sechs Phasen)
Ausführliche Details in references/pipeline.md. Skripte befinden sich in scripts/,
eine Beispielspezifikation in examples/ (füge zuerst eigene Screenshots hinzu).
- Erfassen (Emulator). Saubere Statusleiste mit
scripts/set_demo_statusbar.sh; Screenshot mitadb exec-out screencap -p(präfix für/sdcard/-Befehle mitMSYS_NO_PATHCONV=1). Bevorzuge Standbilder gegenüberscreenrecord(es ist ruckelig). Lösche aktuelle Suchvorgänge, damit der Bildausschnitt konsistent ist; schneide jede Ergebniskarte auf die gesamte weiße Karte zu. - Szenen komponieren.
python scripts/make_scenes.py <spec.json> <assets_dir> <out_dir>->s1.png..sN.png. Aufbau: Hook -> Startbildschirm-Screenshot -> eine Karte pro Demo-Datensatz -> Funktionserklärung -> CTA. Siehe references/pipeline.md für die Gestaltungsregeln. - Voice-Over (EN + UR).
python scripts/gen_vo.py <vo_spec.json> <out_dir>. Englischen-US-AvaNeural, Urduur-PK-UzmaNeural. Das Skript enthält den Windows SelectorEventLoop-Fix und den 403-Wiederholungsversuch. Schreibe natürliches Urdu, keine wörtliche Übersetzung. - Musik.
FFMPEG=<ffmpeg> scripts/build_music.sh <out.wav> <seconds>- durchgehendes Akkordpad, auf -16 LUFS lauter gemacht (loudnorm), damit es unter der Stimme hörbar ist. Gib ein paar Sekunden mehr an als die Szene insgesamt. Überprüfe mitvolumedetect. - Zusammenbau.
python scripts/build_video.py --scenes <dir> --vo <dir> --music <wav> --out <mp4> --ffmpeg <ffmpeg>. Timing jeder Szene automatisch zur jeweiligen VO-Zeile (damit EN und UR beide passen), Überblendung von Szenen, Musik unter der Stimme. Überprüfe Dauer, Pegel und Frames. - Thumbnail + Veröffentlichung.
python scripts/make_thumbnail.py <spec.json> <assets_dir> <out_dir>dann folge references/publishing.md für die vier Kanäle (eigenes Thumbnail, ehrliche KI-Offenlegung, zuerst Entwurf, bestätige den Zielkanal vor dem Upload).
Schnellstart (aus dem Beispiel)
SK=<skills-dir>/app-promo-video-studio # wo das Skill installiert ist
FF=$(which ffmpeg); W=<scratch_dir>
python "$SK/scripts/make_scenes.py" "$SK/examples/video_spec.example.json" "$SK/examples/assets" "$W/scenes"
python "$SK/scripts/gen_vo.py" "$SK/examples/vo_en.json" "$W/vo_en"
FFMPEG="$FF" bash "$SK/scripts/build_music.sh" "$W/music_en.wav" 33
python "$SK/scripts/build_video.py" --scenes "$W/scenes" --vo "$W/vo_en" --music "$W/music_en.wav" --out "$W/promo_en.mp4" --ffmpeg "$FF"
python "$SK/scripts/make_thumbnail.py" "$SK/examples/video_spec.example.json" "$SK/examples/assets" "$W/thumb"
Wechsle zu Urdu, indem du gen_vo.py mit examples/vo_ur.json in vo_ur ausführst, die Musik ein paar
Sekunden länger neu erstellst (Urdu-Zeilen dauern länger) und gegen vo_ur zusammenbaust.
Robust und intelligent machen
- Automatisches Timing (
build_video.py) passt die Größe jeder Szene an ihre VO-Zeile an, sodass dieselben Szenen saubere EN- und UR-Schnitte ohne manuelle Offset-Anpassung rendern. - Spezifikationsgetrieben (
make_scenes.py,make_thumbnail.pylesen ein JSON), sodass eine neue App eine neue Spezifikation plus frische Screenshots bedeutet, nicht neuen Code. - Jede Phase überprüfen: Erfassung mit dem Auge (richtige Aufnahme, alle Felder), Musik
volumedetect(~-15 dB Mittelwert = wirklich im Mix), endgültiges Rendering (Dauer + Pegel + Frames von Hook/Karte/Erklärung/CTA). - Ehrlich scheitern: Wenn edge-tts netzwerkblockiert ist, sende Szenen + Musik + zeitcodierte Skripte und nenne die Stimme als den einzigen blockierten Teil. Erfinde niemals Stimme, Daten oder Behauptungen.
Referenzen
- references/pipeline.md - Erfassung, Szenen, VO, Musik, Zusammenbau im Detail.
- references/publishing.md - Die vier Kanäle, eigenes Thumbnail, keine-KI- Regel, Konten/Profile, Checkliste pro Plattform, Entwurf-erst-Tor.
- references/gotchas.md - Jede Falle, die Zeit gekostet hat (stille Musik, maskierte
Musik, edge-tts Windows-Fix,
/sdcard-Pfadverstümmelung, Kartenrahmen-Drift, Upload-Root-Verzeichnisse). - examples/ - Die Referenzspezifikation und EN/UR-Voice-Over-Zeilen; Screenshots sind nicht enthalten.