Communitygithub.com

Launch-Video: URL einfügen, 25-Sekunden-Marken-Teaser erhalten

Verwandelt jede Website-URL in ein etwa 25 Sekunden langes Motion-Graphics-Launch- oder Promo-Video in 1920x1080, das das Design der Seite übernimmt: Hintergrund, Farben, Schriften, Logo, UI-Stil und echte Texte, mit lizenzfreier prozeduraler Musik in jedem Lauf neuem Stil und Whooshes bei Szenenwechseln. Gerendert per Code in der Higgsfield-Sandbox, daher ohne Video- oder Audio-Generierungs-Credits; auf Wunsch vertikal 9:16.

Was ist Launch-Video: URL einfügen, 25-Sekunden-Marken-Teaser erhalten?

Rezept Launch-Video, Schritt 3 (der Sofort-Teaser), von amitkushh/website-launch-video-skill. Benötigt Claude Code, den Higgsfield-Connector (kostenloses Konto genügt) und ein Browser-Tool. Der Agent liest die Seite (Text, Farben, Schriften, Logo), baut Szenen aus einer Motion-Graphics-Vorlage, erzeugt die Musik prozedural (6 Stile, zufällige Tonart) und gibt <brand>_launch.mp4 mit 30 fps, H.264 + AAC aus. Unterstützt Gutscheincodes, Musikstilwahl und Hochformat und erinnert bei bezahlter Promotion an #ad.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add amitkushh/website-launch-video-skill

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Website-Launch-Video

Antworte in der Sprache des Benutzers. Video-Text auf Englisch, sofern nicht anders gewünscht. Ausgabe: <Brand>_launch.mp4 im Arbeitsverzeichnis (1920×1080, 30fps, H.264 + AAC). Kosten: Keine Generierungsgutschriften. Rufe niemals generate_video / generate_audio für diesen Workflow auf – alles wird mit Code in der Higgsfield-Sandbox gerendert.

Voraussetzungen

  • Higgsfield MCP-Connector (bietet sandbox_exec, media_upload, media_confirm, get_workflow_instructions).
  • Ein Browser-Tool (eingebauter Browser oder Claude in Chrome), um die Website zu lesen.

Abzufragende Eingaben (nur fragen, wenn fehlend)

  • Website-URL (erforderlich).
  • Optional: Coupon / Rabatt, ob es sich um das eigene Produkt des Benutzers oder eine bezahlte Werbung handelt (Werbung → daran erinnern, beim Posten #ad hinzuzufügen), Musikstil, vertikales 9:16-Format.

Schritt 1 – Website auslesen

  • Navigiere zur URL, führe dann JS document.body.innerText aus (warte ~2s für SPAs). Sammle: H1, Unterüberschrift, 4-6 Feature-Überschriften, Preise, Angebots-/Coupon-Text, Garantie-/Vertrauenszeile, CTA-Beschriftung.
  • Screenshot und 2-3 Mal scrollen, um den visuellen Stil zu sehen (Karten, Pills, Eyebrows, Buttons, Akzent-Wortfarben).
  • Ermittele berechnete Stile: fontFamily, color, backgroundColor, letterSpacing, fontWeight von body/h1/h2/button, plus eine Häufigkeitszählung aller Hintergrund- und Textfarben.
  • Wenn die Seite ohne CSS gerendert wird (CSS blockiert), hole das CSS stattdessen in der Sandbox: curl -sL -A "Mozilla/5.0" URL -o index.html; grep -o '/_next/static/[^"]*\.css' index.html (oder jedes <link rel=stylesheet>), curl sie in all.css, dann grep -oE -- '--(background|foreground|brand|primary|accent|muted|border|card|surface|ink)[a-z-]*:[^;}]*' all.css | sort -u und grep -o 'font-family:[^;}]*' all.css | sort -u.
  • Logo: <img> im Header (z. B. /logo.png) oder /android-chrome-512x512.png / /apple-touch-icon.png. Partnerlogos als SVG → convert -background none -density 1200 x.svg -resize 400x400 x.png.

Schritt 2 – Design-Token

Bilde die Website auf die Vorlagen-Token ab: BG, INK (Überschrift), MUTED (grauer Text), BRAND (Akzent), BRAND_SOFT (Akzent-Tönung für Chips), PANEL (grauer Kartenhintergrund), WHITE (Karte). Dunkle Website → dunkles BG, helles INK, kein weicher Schatten. Spiegele die Muster der Website: zweizeilige Überschriften mit Akzent in Zeile 2, falls die Website das macht, Eyebrow-/Label-Chips, Pill-Buttons mit Pfeil, graues Panel mit weißen Karten.

Schritt 3 – Schriftarten

Statische TTF pro Gewicht von Fontsource (beliebige Google-Schriftart): curl -sf -o font-800.ttf https://cdn.jsdelivr.net/fontsource/fonts/<font-slug>@latest/latin-800-normal.ttf (Slug = Kleinbuchstaben, Leerzeichen→Bindestriche, z. B. bricolage-grotesque, urbanist). Verwende via typography={{fontAssetId: handle.id}} nach await p.add("font-800.ttf"). Das lateinische Subset enthält keine → ✓ ★-Glyphen – verwende stattdessen icon("arrow-right") usw. Eingebaute Schriftfamilien (Inter, DM Sans, Montserrat…) können higgsedit fonts add . Inter:400 Inter:700 + fontFamily nutzen.

Schritt 4 – Video skripten

Lade den Higgsfield-Workflow video-editing einmal pro Sitzung (get_workflow_instructions {workflow:"video-editing"}) vor Higgsedit-Arbeiten. Starte von reference/template.jsx. Standardstruktur, ~25s:

#SzeneZeitInhalt
1Hook0-3.3Der Schmerz in 2 Zeilen, Eyebrow "Für "
2Meet3.3-7Logo + Marke, Website-H1, Unterüberschrift, CTA-Button-Pop
3-6Features~3,7s pro StückEyebrow = Website-Abschnittsbezeichnung, Überschrift = eigene Feature-Überschrift der Website, eine native UI-Mock (Stat-Karten mit Zählern, Zeilen mit Tags, Heatmap-Raster, Warteschlangenliste, Bewertungskarte, Tages-Pills…)
7CTAletzte ~4,3sLogo + Domain, Preis-/Angebotskarte, Coupon-Pill + Button, Garantiezeile

Regeln:

  • Verwende die echten Texte und Zahlenbeispiele der Website. Teile dem Benutzer mit, welche Demo-Werte illustrativ sind. Erfinde niemals Benutzerzahlen oder Testimonials.
  • Baue UI nativ nach (Frames/Text/Icons). Verwende keine niedrig aufgelösten Website-Screenshots oder KI-generierte UI.
  • Behalte die Startzeiten der Szenen bei – die Musik benötigt sie (cuts = Start von Szenen 2..7).

Schritt 5 – Sandbox-Build & Vorschau

Sandbox-Fakten: Dateien verschwinden beim Zurücksetzen (Assets erneut herunterladen, falls cd fehlschlägt); ein Befehl ≤ 16.000 Zeichen (Upload-URLs in Dateien in einem separaten Aufruf vom langen cat > edit.jsx-Heredoc speichern); lange Renderings → background:true, dann abfragen.

  1. media_upload der Ausgaben im Voraus (ein Vorschaubild sheet.png und die finale .mp4) und speichere jede upload_url in einer .txt-Datei in der Sandbox. Presigned-URLs sind einmal verwendbar: Ein zweites PUT gibt 412 zurück – eine neue anfordern.
  2. Build + Kontaktblatt + Upload in einem Aufruf: higgsedit build edit.jsx 2>&1 | grep -iE "error|missing"; higgsedit sheet . --times <Mitte jeder Szene + CTA-Ende> --cols 3 --out renders/sheet.png; curl -s -o /dev/null -w "%{http_code}" -X PUT -H "Content-Type: image/png" --upload-file renders/sheet.png "$(cat sheet_url.txt)"
  3. media_confirm, lade die zurückgegebene öffentliche URL lokal herunter und betrachte sie. Behebe Layout-Probleme vor dem finalen Rendering.

Higgsedit-Fallstricke:

  • padding ist eine Zahl oder {left,right,top,bottom}, niemals ein Array.
  • Token motion={{by:"word"|"character"}} bei zentriertem Text führt zu Umbrüchen (Text springt von links). Verwende animate={pop} für zentrierten Text; Token-Motion nur für linksbündigen "Tipp"-Text.
  • Ein Timeline-target muss ein unmittelbar benannter Child-Frame sein, nicht self – animiere self mit animate-Keyframes (delayPop).
  • Zähler: layout="none"-Frame mit fester Größe und einem statischen Text; keine Tausendertrennzeichen.
  • animate ist immer ein Array; Frame-motion ist ein Objekt.

Schritt 6 – Rendern

higgsedit render . --out renders/promo.mp4 --quality final (≈1 Min. für 25s).

Schritt 7 – Musik (jedes Mal anders)

scripts/music.py = Numpy-prozedurale Musik, lizenzfrei. Stile: pop (120 BPM, hell), lofi (82 BPM, entspannt jazzig), synthwave (105 BPM, Retro), house (124 BPM, Offbeat), cinematic (90 BPM, episch), marimba (110 BPM, freundlich). Jeder Track: ein Whoosh vor jedem Cut, ein Impact beim CTA, 1,6s Ausblendung.

Wähle den Stil – wiederhole niemals die letzten zwei:

  1. Lese music-history.log in diesem Skill-Ordner (erzeuge ihn, falls fehlend).
  2. Passe die Stimmung an: Dev/AI/Tech → Synthwave oder House; Creator/Writing/Productivity → Lofi oder Marimba; große/Premium-Launches → Cinematic; Consumer/Spaß → Pop. Überspringe Stile, die in den letzten 2 Einträgen verwendet wurden, es sei denn, der Benutzer fragt nach einem.
  3. Zufälliger --seed → zufällige Tonart und Progression, sodass selbst der gleiche Stil anders klingt.
  4. Hänge YYYY-MM-DD <Site> <Stil> seed=<n> an music-history.log an.

music.py in die Sandbox bekommen (erster Durchlauf): media_upload mit Dateiname music.py → von der lokalen Maschine curl -X PUT -H "Content-Type: application/octet-stream" --data-binary @scripts/music.py '<upload_url>' → media_confirm type:file → speichere die zurückgegebene öffentliche URL in music_url.txt in diesem Skill-Ordner. Spätere Durchläufe: curl -sf -o music.py "$(cat music_url.txt)" in der Sandbox (erneut hochladen, falls 404 oder music.py geändert).

Mux:

python3 music.py --style <Stil> --duration <Video-Sekunden> --cuts <c2,c3,...,c7> --seed <n> --out music.wav
ffmpeg -y -v error -i renders/promo.mp4 -i music.wav -filter:a "loudnorm=I=-15:TP=-1.5:LRA=11" -c:v copy -c:a aac -b:a 192k -map 0:v -map 1:a -shortest final.mp4

Dauer: ffprobe -v error -show_entries format=duration -of csv=p=0 renders/promo.mp4.

Schritt 8 – Ausliefern

Lade final.mp4 (frische URL) hoch → media_confirm type:video → lade es lokal als <Brand>_launch.mp4 herunter → übergebe die Datei dem Benutzer. Berichte: was der Website entspricht (Hintergrund/Farben/Schrift/Logo), die Szenenliste, den Musikstil, welche Werte illustrativ sind. Biete eine 9:16-Version oder einen anderen Musikstil an.

9:16-Variante

size: "1080x1920", W=1080 / H=1920, Reihen vertikal stapeln (Karten in einer Spalte), Überschriftgrößen ×0,75, gleiche Timings und Musik.

Verwandte Skills