UGC Video Auto – Komplette Pipeline via Playwright
Diese Skill orchestriert die gesamte UGC-Werbevideopipeline auf Higgsfield: Generiere ein Charakterbild → wähle es für das Video aus → füge einen UGC-Videoprompt hinzu → generiere ein Seedance 2.0-Video. Vollständig automatisiert über Playwright.
Pipeline-Übersicht
Schritt 1: Charakterbild generieren → /image/soul-v2
Schritt 2: Zur Videoseite navigieren → /create/video?model=seedance_2_0
Schritt 3: Bild aus der Galerie auswählen → Upload-Dialog → Reiter „Image Generations“
Schritt 4: UGC-Videoprompt eingeben → Lexical-Editor (contenteditable)
Schritt 5: Konfigurieren & generieren → Auf „Generate“ klicken
Voraussetzungen
- Der Benutzer muss in der Playwright-Browser-Sitzung bei higgsfield.ai eingeloggt sein
- Das Playwright MCP-Plugin muss aktiviert sein
- Jedes Playwright-Tool vor der ersten Verwendung mit
ToolSearchladen
Eingabeanforderungen
Der Benutzer stellt bereit:
- Charakterbeschreibung ODER einen vorgefertigten Bild-Prompt (
/ugc-hot-girlaufrufen, um einen zu generieren) - Produkt-/Markenkontext – was das UGC-Video bewirbt
- Videostil – Testimonial, Produktvorstellung, Unboxing, Reaktion usw.
Optionale Überschreibungen:
- Bildmodell: Soul 2.0 (Standard, am besten für Porträts)
- Videomodell: Seedance 2.0 (Standard)
- Dauer: 5s, 8s (Standard), 10s
- Seitenverhältnis: Auto, 16:9, 9:16 (TikTok/Reels), 1:1
- Auflösung: 720p (Standard), 1080p
Vollständiger Automatisierungsablauf
Phase 1: Das Charakterbild generieren
Schritt 1.1: Zur Bildgenerierung navigieren
browser_navigate → url: "https://higgsfield.ai/image/soul-v2"
Ladevorgang der Seite abwarten, Snapshot erstellen.
Schritt 1.2: Den Bild-Prompt eingeben
Das Textfeld finden (Playwright-ID: hf:tour-image-prompt, Platzhalter: „Beschreibe die Szene, die du dir vorstellst“):
browser_click → ref: <textbox_ref>, element: "Textfeld für Bild-Prompt"
browser_type → ref: <textbox_ref>, text: "<Charakterbild-Prompt>"
Falls der Benutzer noch keinen Bild-Prompt angegeben hat, zuerst /ugc-hot-girl verwenden, um einen zu generieren.
Schritt 1.3: Das Bild generieren
Den „Generate“-Button finden (zeigt „Generate XXXX free gens left“ an):
BENUTZER UM BESTÄTIGUNG BITTEN – dies verbraucht Credits/kostenlose Generationen.
browser_click → ref: <generate_button_ref>, element: "Generate-Button"
Schritt 1.4: Auf die Generierung warten
browser_wait_for → time: 20
Einen Screenshot machen. Überprüfen, ob das neue Bild als erstes Element im History-Raster erscheint. Dies bestätigen, indem das innerHTML des ersten Raster-Elements überprüft wird – es muss ein <img>-Tag mit einer neuen Asset-URL enthalten.
Phase 2: Das Video aus dem generierten Bild erstellen
Schritt 2.1: Zur Seedance 2.0-Videoseite navigieren
browser_navigate → url: "https://higgsfield.ai/create/video?model=seedance_2_0"
Ladevorgang der Seite abwarten, Snapshot erstellen. Überprüfen, ob „Seedance 2.0“ im Modell-Button erscheint.
Schritt 2.2: Den Upload-Medien-Dialog öffnen
Den Upload-Bereich finden – nach generic [cursor=pointer] mit folgendem Inhalt suchen:
paragraph: Medien hochladenparagraph: Bild, Video oder Audio
browser_click → ref: <upload_area_ref>, element: "Upload-Medien-Bereich"
Dadurch öffnet sich ein Dialog mit Reitern: Uploads, Image Generations, Video Generations, Elements, Liked.
Schritt 2.3: Zum Reiter „Image Generations“ wechseln
browser_click → ref: <image_gen_tab_ref>, element: "Reiter Image Generations"
Nach dem Button button "Image Generations" in der Reiterleiste des Dialogs suchen.
Schritt 2.4: Das generierte Bild auswählen
Das zuletzt generierte Bild ist das erste Element im Raster.
Es erscheint zunächst als button "Check eligibility". Darauf klicken:
browser_click → ref: <first_image_ref>, element: "Erstes Bild (neueste Generierung)"
Nach dem Klicken verwandelt sich der Button in ein generic [cursor=pointer] mit einer Bildvorschau und einem grünen Häkchen – es ist ausgewählt und berechtigt.
Wichtig: Der erste „Check eligibility“-Button in der Liste ist immer das aktuellste Bild. Nach dem Anklicken verschwindet sein Ref aus dem Snapshot und wird durch ein neues generisches Element ersetzt.
Schritt 2.5: Den Dialog schließen
browser_press_key → key: "Escape"
Einen Snapshot erstellen. Überprüfen:
- Der Upload-Bereich zeigt nicht mehr den Text „Medien hochladen“ an
- Stattdessen wird ein
generic [cursor=pointer]mit verschachtelten Bildelementen (48px-Thumbnails) angezeigt - Der alte
paragraph: Medien hochladenundparagraph: Bild, Video oder Audiosind verschwunden
Schritt 2.6: Vorhandenen Prompt löschen
Die Videoseite verwendet einen Lexical Rich-Text-Editor (contenteditable-div), KEIN Standard-Textfeld. Zum Leeren:
browser_evaluate → function: "() => { const el = document.querySelector('[data-lexical-editor]'); el.focus(); el.click(); }"
browser_press_key → key: "Control+a"
browser_press_key → key: "Backspace"
Einen Snapshot erstellen. Das Textfeld sollte jetzt den Platzhalter anzeigen: „Beschreibe deine Szene im Detail. Verwende @, um Assets zu referenzieren“
Schritt 2.7: Den UGC-Videoprompt eingeben
Nach dem Leeren einen Snapshot erstellen, um den aktuellen Textfeld-Ref zu erhalten. Dann langsam tippen (erforderlich für den Lexical-Editor):
browser_type → ref: <textbox_ref>, text: "<UGC-Videoprompt>", slowly: true
UGC-Videoprompt-Vorlagen (je nach Stil auswählen):
Testimonial / Talking Head:
Die Frau von @image1 spricht direkt in die Kamera mit natürlichen Handgesten, warmer golden-hour-Beleuchtung, lässiger authentischer Ausstrahlung. Sie spricht begeistert, lehnt sich zur Betonung leicht nach vorne. Weicher Bokeh-Hintergrund, geringe Schärfentiefe. Natürliche Hautstruktur, realistische Lippenbewegungen, TikTok-UGC-Testimonial-Stil. Sanfte Handkamera, 24fps.
Produktvorstellung:
Die Frau von @image1 hält ein Produkt zur Kamera hin, dreht es, um verschiedene Winkel zu zeigen. Aufgeregter echter Gesichtsausdruck, große Augen. Ringlicht-Beleuchtung, sauberer Hintergrund. Sie zeigt auf die Produktmerkmale, nickt begeistert. Nahaufnahme-Selfie-Rahmung, iPhone-Qualitätsvideo, authentischer UGC-Look.
Reaktion / Unboxing:
Die Frau von @image1 öffnet ein Paket mit aufgeregter Vorfreude, holt ein Produkt heraus und reagiert mit echter Freude. Überraschter Gesichtsausdruck, offener Mund, dann ein breites Lächeln. Natürliche Schlafzimmerbeleuchtung, lässiges Umfeld. Handkamera-Feeling, authentische Unboxing-Energie, TikTok-Stil.
Vorher/Nachher:
Die Frau von @image1 sieht zunächst skeptisch aus, berührt zweifelnd ihr Gesicht. Dann trägt sie ein Produkt auf, und ihr Gesichtsausdruck verwandelt sich in Erstaunen, sie berührt ungläubig ihre Haut. Weiches Ringlicht, Badezimmerspiegel-Setting. Split-Feel-Transformationsmoment, echte Reaktion, UGC-Testimonial.
Lifestyle / Tag-im-Leben:
Die Frau von @image1 geht durch einen hellen modernen Raum und interagiert beiläufig mit einem Produkt als Teil ihrer Routine. Natürliches Morgenlicht, entspannte Bewegung, authentische spontane Energie. Die Kamera folgt mit sanftem Tracking, geringe Schärfentiefe. Aspirationaler aber nachvollziehbarer Lifestyle-Content.
Schritt 2.8: Videoeinstellungen konfigurieren (optional)
Die Standardeinstellungen eignen sich gut für die meisten UGC:
- Dauer: 8s (gut für Kurzformate)
- Seitenverhältnis: Auto (oder 9:16 für TikTok/Reels)
- Auflösung: 720p
So ändern Sie das Seitenverhältnis für TikTok vertikal:
browser_click → ref: <ratio_button_ref>, element: "Seitenverhältnis-Auswahl"
Dann „9:16“ aus dem Dropdown auswählen.
Schritt 2.9: Das Video generieren
Einen Screenshot machen, der den endgültigen Formularzustand zeigt.
BENUTZER UM BESTÄTIGUNG BITTEN – Videogenerierung verbraucht mehr Credits als Bilder.
Der „Generate“-Button zeigt die Credit-Kosten an (z. B. „Generate 30 20“):
browser_click → ref: <generate_button_ref>, element: "Generate-Video-Button"
Schritt 2.10: Die Generierung überwachen
Nach dem Klicken auf „Generate“:
- Das Video wird in die Generierungswarteschlange eingereiht
- Den Reiter „History“ auf Fortschritt prüfen
- Regelmäßig Screenshots machen, um den Status zu zeigen
- Seedance 2.0-Videos dauern typischerweise 1–3 Minuten
Referenz der wichtigsten Element-Muster
Bildgenerierungsseite (/image/soul-v2)
| Element | Muster |
|---|---|
| Prompt-Textfeld | textbox mit ID hf:tour-image-prompt |
| Modell-Auswahl | group > button mit „Soul 2.0“ |
| Seitenverhältnis | button mit „3:4“ |
| Auflösung | button mit „2k“ |
| Generate-Button | button „Generate XXXX free gens left“ |
| Erstes Ergebnis | Erstes generic-Kind im History-Raster |
Videoerstellungsseite (/create/video)
| Element | Muster |
|---|---|
| Upload-Bereich (leer) | generic [cursor=pointer] mit paragraph: Medien hochladen |
| Upload-Bereich (gefüllt) | generic [cursor=pointer] mit verschachtelten Bild-Thumbnails, kein „Medien hochladen“-Text |
| Upload-Dialog | dialog mit Reiterleiste: Uploads, Image Generations usw. |
| Reiter „Image Generations“ | button „Image Generations“ im Dialog |
| Erstes Bild in der Galerie | Erster button „Check eligibility“ im Dialog-Raster |
| Ausgewähltes Bild | generic [cursor=pointer] mit verschachteltem img (ersetzt „Check eligibility“-Button) |
| Prompt-Editor | [data-lexical-editor] contenteditable-div |
| Prompt-Textfeld (im Snapshot) | textbox [active] nach Fokussieren des Lexical-Editors |
| Modell-Button | button „Model“ mit „Seedance 2.0“ |
| Dauer-Button | button „Duration“ |
| Seitenverhältnis-Button | button „Auto Ratio“ |
| Auflösungs-Button | button „720p Resolution“ |
| Generate-Button | button „Generate XX XX“ mit Credit-Kosten |
Fehlerbehandlung
- Nicht eingeloggt: Benutzer bitten, sich einzuloggen (
! open https://higgsfield.ai) - Bild-Prompt-Leiste fehlt: Seite aktualisieren – dies ist ein gelegentlicher Plattformfehler
- „Check eligibility“ verwandelt sich nicht: Das Bild ist möglicherweise nicht mit Seedance 2.0 kompatibel. Ein anderes Bild versuchen oder neu generieren
- Lexical-Editor lässt sich nicht leeren: Dreifachklicken, um alles auszuwählen, dann Backspace. Oder
browser_evaluateverwenden, um innerHTML zu leeren - Dialog schließt nicht mit Escape: Außerhalb des Dialogbereichs klicken
- Nicht genügend Credits: Den Benutzer vor der Generierung warnen. Video kostet mehr als Bilder
- Veraltete Refs: Vor jeder Interaktion einen neuen Snapshot erstellen. Refs ändern sich nach jeder Statusänderung der Seite
Beispiel für einen End-to-End-Workflow
Benutzer: „Erstelle ein UGC-Werbevideo mit einer heißen Frau, die mein neues Hautpflege-Serum bewirbt“
1. /ugc-hot-girl aufrufen → generiert Beauty-/Hautpflege-Bild-Prompt:
„Attraktive junge Frau, Anfang 20, klare feuchte Haut, dunkelbraune Haare im
unordentlichen Dutt... Ringlicht-Beleuchtung... fotorealistisch, 4K...“
2. Phase 1 – Bildgenerierung:
→ Zu /image/soul-v2 navigieren
→ Den Bild-Prompt eingeben
→ Mit Benutzer bestätigen → Auf „Generate“ klicken
→ 15-20s warten → Bild erscheint im Raster ✓
3. Phase 2 – Videoerstellung:
→ Zu /create/video?model=seedance_2_0 navigieren
→ Auf Upload-Bereich klicken → Reiter „Image Generations“
→ Auf erstes Bild klicken (Check eligibility) → Escape
→ Bild in das Formular geladen ✓
→ Alten Prompt löschen → UGC-Testimonial-Prompt eingeben:
„Die Frau von @image1 hält ein kleines Serum-Fläschchen hoch, betrachtet es
mit echter Neugier. Sie gibt einen Tropfen auf ihre Fingerspitze, berührt
ihre Wange, und ihr Gesichtsausdruck erhellt sich vor Freude...“
→ Seitenverhältnis auf 9:16 für TikTok einstellen
→ Mit Benutzer bestätigen → Auf „Generate“ klicken
→ Video wird generiert... fertig ✓
4. Bericht: „Dein UGC-Video ist fertig! Überprüfe den Reiter History.“
Referenz der Pipeline-Skills
| Schritt | Skill | Was es tut |
|---|---|---|
| 1 | /ugc-hot-girl | Generiert den Charakterbild-Prompt |
| 2 | /higgsfield-image-auto | Automatisiert nur den Schritt der Bildgenerierung |
| 3 | /seedance-auto-generate | Automatisiert nur den Schritt der Videogenerierung (aus lokaler Datei) |
| Vollständig | /ugc-video-auto | Diese Skill – führt die gesamte Pipeline von Anfang bis Ende aus |
Du kannst die einzelnen Skills separat verwenden oder /ugc-video-auto aufrufen, um alles auf einmal auszuführen.