Communitygithub.com

Keyword-Openers (Schlüsselwort-Öffnungen)

Erstellt aus einem fertigen Produktvideo pro Suchbegriff eine eigene Version, indem nur die ersten Sekunden durch eine passende Szene ersetzt und der Suchbegriff eingeblendet wird. Der Original-Ton bleibt unverändert, sodass alle Versionen gleich lang sind und wie ein einziger Clip wirken.

Was ist Keyword-Openers (Schlüsselwort-Öffnungen)?

Diese Fähigkeit erstellt aus einem einzigen fertigen Produktvideo mehrere Varianten, die jeweils auf einen bestimmten Suchbegriff (Keyword) zugeschnitten sind. Dazu wird nur die Bildsequenz der ersten 2–6 Sekunden durch eine neu generierte Szene ersetzt, die den Suchbegriff zeigt und gleich als Titel einblendet. Der Original-Ton und die restliche Videolänge bleiben unberührt, sodass jede Version nahtlos wirkt und für Amazon Sponsored Brands Video-Anzeigen optimiert ist – dort läuft der Ton nämlich erst nach Klick. Die Fähigkeit analysiert das Ausgangsvideo, generiert mit Seedance passende Szenen, tauscht sie ein, prüft jede Datei auf Korrektheit und erstellt eine Vorschauseite. Sie ist ideal, wenn ein Verkäufer pro Keyword eine eigene Videoanzeige schalten möchte, und funktioniert auch ohne Genrupt-MCP, indem fertige Clips manuell bereitgestellt werden.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/JayGPTPro/keyword-openers/tree/HEAD

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht Keyword-Openers (Schlüsselwort-Öffnungen)?

Ein Käufer, der nach „Hot Dog Röststäbe“ sucht, und ein Käufer, der nach „Gemüse-Röststäbe“ sucht, sehen heute dasselbe Video – und es beginnt mit einem Marshmallow. Diese Fähigkeit gibt jedem von ihnen einen Anfang, der zeigt, was sie eingegeben haben.

Was geändert wird: Das Bild der ersten 2 bis 6 Sekunden und ein Titel mit dem Suchbegriff. Was niemals geändert wird: Der Soundtrack, die Länge und alles nach dem ersten Schnitt.

Sponsored Brands-Video startet stumm, daher sind das erste Bild und die darauf eingeblendeten Wörter das Erste, was der Käufer tatsächlich sieht. Deshalb lohnt es sich, genau diesen Anfang anzupassen.

Was der Verkäufer mitbringt

  1. Ein fertiges Produktvideo (mp4 oder mov). 16:9 oder 9:16.
  2. Die Keywords, 3 bis 10. Wenn der Verkäufer keine Liste hat, biete an, welche auszuwählen: Lies die Produktbeschreibung und schlage Keywords vor, die eine andere VERWENDUNG, LEBENSMITTEL, PERSON oder ORT benennen (diese ändern das Bild). Überspringe Keywords, die nur dieselben Wörter umstellen; sie würden dieselbe Szene erhalten.
  3. Die ASIN, damit die Anfangsszenen das echte Produkt zeigen.

Fordere alle drei in EINER Nachricht an. Fehlt etwas, frage einmal nach und fahre dann fort.

Schritt 1: Video analysieren

python3 scripts/openers.py inspect "<video>" "<workdir>" --keywords "kw eins; kw zwei; kw drei"

<workdir> ist ein neuer Ordner neben dem Video, mit dem Namen keyword-openers. Dieser Befehl erstellt inspect.json, plan.json und zwei Kontaktabzüge. Unter Windows lautet der Befehl python (nicht python3), hier und in Schritt 4.

Öffne opening-sheet.jpg und sieh es dir an. Die mit REPLACED markierten Kacheln zeigen, was ersetzt wird. Wenn dort ein Logo, ein Preis, ein Werbespruch oder eingebrannter Text sitzt, informiere den Verkäufer, bevor du fortfährst, und biete den früheren Schnitt aus cuts_first_20s an (setze "window" in plan.json).

Öffne auch look-sheet.jpg. Du wirst gleich Szenen schreiben, die aussehen müssen, als wären sie für dieses Video gedreht: gleiche Tageszeit, gleiches Licht, gleiche Art von Personen, gleiches Objektivgefühl.

Wenn notes in inspect.json nicht leer ist, lies die Hinweise dem Verkäufer genau so vor. Wenn eine Notiz einen Neuexport verlangt (Bildrate über 30, variable Bildrate, 96 kHz Ton), biete an, die korrigierte Kopie selbst mit ffmpeg zu erstellen und inspect auf der Kopie auszuführen. Wenn aspect nicht 16:9 ist, sage vor dem Verbrauch von Credits, dass Sponsored Brands-Video nur 16:9 akzeptiert, und fahre nur fort, wenn der Verkäufer die Versionen für eine andere Platzierung wünscht.

Schritt 2: Eine Anfangsszene pro Keyword schreiben

Befolge references/prompt-recipe.md genau. Ein Prompt pro Keyword, jeweils eine einzelne Einstellung mit opener_seconds_to_generate Sekunden Länge. Zeige dem Verkäufer die Szenen als je eine kurze Zeile (z. B. „Hot Dog Röststäbe: ein Vater und sein Sohn halten zwei Hot Dogs über dasselbe Lagerfeuer“) und fahre fort, es sei denn, er widerspricht. Gib die vollständigen Prompts nur weiter, wenn danach gefragt wird.

Schritt 3: Preis nennen, dann generieren

Produkt-Referenzbilder: Rufe scrape_video_reference_images_from_asin mit der ASIN (und der domain des Marktplatzes, wenn es nicht amazon.com ist) auf und warte auf die Bild-URLs. Verwende die ersten vier.

Ein Keyword, das ein bewegliches Merkmal benennt (ausziehbar, klappbar, ein Deckel, der sich öffnet) benötigt eine Bewegungsreferenz, sonst erfindet das Modell den Mechanismus: Die erste ausziehbare Öffnung, die hier erstellt wurde, wuchs wie von selbst. Suche zuerst nach dem Merkmal im eigenen Video des Verkäufers und schneide diese Sekunden mit ffmpeg heraus. Nur wenn das Video es nicht zeigt, bitte den Verkäufer um einen kurzen Clip des Merkmals in Gebrauch (3 bis 8 Sekunden, mindestens 300 px Höhe; ein Handyclip ist in Ordnung). Lade ihn mit der create_reference_asset_upload-Funktion hoch (finde sie mit search_capabilities, sende die Datei per PUT an die zurückgegebene URL) und übergib die assetUrl in seedanceReferenceVideoUrls. Sage im Prompt, was aus dem Clip übernommen werden soll (die Bewegung) und was ignoriert werden soll (sein Tisch, sein Licht, andere Objekte). Ein Referenzvideo kostet zusätzlich Credits; berücksichtige dies bei der Preisangabe.

Preis nennen, bevor etwas läuft. Rufe get_credit_balance_and_costs mit einem video_generation-Preset auf (Modell seedance_2_5_reference, 720p, die Anfangssequenzlänge, videoCount = Anzahl der Keywords). 720p ist der Standard für jedes Video: Die Anfangssequenz läuft nur wenige Sekunden in einem kleinen Slot, und der Unterschied zu 1080p ist dort nicht sichtbar. Gib den Preis für 1080p nur dann zusätzlich an, wenn das Video des Verkäufers 1080p oder größer ist und er die schärfste Öffnung wünscht. Zitiere niemals einen Preis aus dem Gedächtnis. Sage dann eine Zeile und warte auf ein Ja:

„5 Öffnungen, 5 Sekunden jede, Seedance 2.5 bei 720p: [die vom Preisaufruf zurückgegebene Zahl] Credits. Loslegen?“

Wenn der Verkäufer es günstiger möchte, bepreise seedance_2_mini_reference und biete es an. Ein Entwurf in 480p reicht zum Beurteilen einer Szene, ist aber für eine Anzeige auf einem 1080p-Video zu weich.

Dann ein generate_video-Aufruf pro Keyword, alle zusammen gesendet:

  • modelType: "fal_seedance", seedanceModel, seedanceMode: "reference_to_video"
  • seedanceReferenceImageUrls: die Produktbilder
  • seedanceDuration: opener_seconds_to_generate
  • seedanceAspectRatio: aspect aus inspect.json
  • seedanceResolution: wie bepreist
  • asin: die ASIN (das Projekt wird daraus erstellt oder wiederverwendet)
  • promptEnhancement: "skip" (das Rezept hat bereits den endgültigen Prompt geschrieben)
  • sceneTitle: das Keyword

Warte mit wait_for_operation / get_video_generation_result. Lade jeden fertigen Clip in den Pfad herunter, den seine Zeile in plan.json angibt:

curl -L -s -o "<workdir>/openers/<slug>.mp4" "<video url>"

Eine fehlgeschlagene oder abgelehnte Generierung: Melde sie in einer Zeile und fahre mit den restlichen fort. Wiederhole sie ohne Nachfrage höchstens einmal; ein erneuter Versuch kostet wieder Credits. Eine neu generierte Szene wird mit eigenem "label" und Dateinamen als neuer Take gespeichert, niemals über den bereits bezahlten Clip.

Kein Genrupt? Die Fähigkeit funktioniert trotzdem. Der Verkäufer legt einen beliebigen Clip (gedreht, Stockmaterial, ein anderes Tool) an den in plan.json angegebenen Pfad und du gehst direkt zu Schritt 4.

Schritt 4: Jede Version erstellen

python3 scripts/openers.py build "<workdir>/plan.json"

Keine Credits. Eine Version dauert etwa 4 Sekunden bei 720p, 10 bei 1080p und 25 bei 4K, und jede gibt eine Zeile aus, sobald sie fertig ist. Führe den Befehl mit einem Timeout von 10 Minuten aus: Das übliche 2-Minuten-Limit schneidet eine lange Liste ab. Für jedes Keyword wird das Anfangsbild ausgetauscht, der Titel eingeblendet und die geschriebene Datei geprüft: gleiche Länge wie das Original, Soundtrack bitweise identisch, der Rest des Bildes unberührt, der Anfang tatsächlich neu, der Titel innerhalb des Rahmens.

Um nach einer Korrektur nur ein Keyword neu zu erstellen und die restlichen unverändert zu lassen, füge --only "Hot Dog Röststäbe" hinzu (mehrere: "kw eins; kw zwei").

Dann sieh dir jedes out/check/<slug>-seam.jpg an. Du prüfst drei Dinge, die das Skript nicht kann:

  1. Das Produkt in der neuen Szene ist das Produkt des Verkäufers (Form, Farbe, Anzahl).
  2. Der Titel ist lesbar und sitzt nicht auf einem Gesicht oder auf der Sache, die das Keyword benennt. Vergleiche die Kachel „title held“ mit der daneben, „under the title“: derselbe Moment ohne Worte. auto rät nur anhand von Helligkeit und Details; es kann kein Gesicht erkennen, und bei Feuerlicht liegt der ruhige Band oft dort, wo die Gesichter sind.
  3. Der Sprung von „letztem neuem Frame“ zu „erstem Original-Frame“ wirkt wie ein normaler Schnitt.

Ein Titel an einer schlechten Stelle kann kostenlos korrigiert werden, also behebe ihn, bevor der Verkäufer ihn sieht: Gib dieser Variante einen place (top, bottom, top-left, top-right, bottom-left, bottom-right) und, wenn kein Platz in voller Größe frei ist, eine title_scale (0,5 bis 1). Erstelle neu und sieh noch einmal nach. Eine Szene, die beim Produkt durchfällt, wird mit einem korrigierten Prompt neu generiert (frage vorher, es kostet Credits).

Schritt 5: Übergabe

Öffne out/index.html für den Verkäufer. Sage ihm in dieser Reihenfolge:

  1. Wie viele Versionen fertig sind und dass die hochzuladenden Dateien in out/upload/ liegen: eine Datei pro Keyword, benannt nach dem Keyword.
  2. Alles, was du auf einem Nahtbogen gesehen hast und das sie sich ansehen sollten.
  3. Wie sie verwendet werden: references/amazon-upload.md (eine Anzeigengruppe pro Keyword, jede mit ihrer eigenen Version). Die Seite enthält dieselben Schritte.

Ein Keyword mit mehreren Takes hat keine Datei in out/upload/, bis einer ausgewählt ist. Frage den Verkäufer, welcher Take, setze "pick": true bei dieser Variante und erstelle neu.

plan.json

{
  "video": "/pfad/zu/video.mp4",
  "window": 3.875,
  "style": "pop",
  "font": "bold",
  "accent": "CD763C",
  "title": true,
  "opener_audio": "off",
  "variants": [
    {"keyword": "Hot Dog Röststäbe", "opener": "openers/hot-dog-roasting-sticks.mp4"}
  ]
}
  • window: Sekunden Bild, die ersetzt werden. inspect wählt den dem Video eigenen, auf 4 Sekunden nächstgelegenen Schnitt aus. Ändere es nur auf einen anderen Wert aus cuts_first_20s.
  • style: Wie das Keyword auf dem Bildschirm dargestellt wird.
    • pop (Standard): Große Großbuchstaben. Die Wörter, die dieses Keyword von den anderen unterscheiden, landen auf einem Markierbalken, der einblendet; der Rest poppt Wort für Wort ein. Entwickelt für eine kleine, stille Kachel in den Suchergebnissen.
    • sticker: Das Keyword auf einem geneigten weißen Suchaufkleber, der aufstempelt, die unterschiedlichen Wörter markiert.
    • kinetic, line, search: Ruhige Titel unten im Bild, für eine Marke, die Gelassenheit ausstrahlen möchte.
  • punch: Bei pop und sticker schneidet das Bild im Takt des Titels auf einen 1,08x engeren Rahmen. false schaltet es aus; punch_zoom setzt eine andere Größe.
  • place (nur pop und sticker): auto (Standard) errät den ruhigeren Band der Einstellung, oben oder unten, und eine Seite davon, wenn diese Seite eindeutig ruhiger ist. top, bottom, top-left, top-right, bottom-left oder bottom-right erzwingt eine Position. Die drei ruhigen Stile sitzen immer unten.
  • title_scale (nur pop und sticker): 0,5 bis 1. Ein kleinerer Titel, für eine Einstellung ohne freie Stelle in voller Größe. Für alle Versionen am Anfang der Datei oder für eine einzelne Variante.
  • font: bold, round, serif, clean. Passe die Schriftart an das Video an.
  • accent: Aus den eigenen Farben des Videos übernommen. Überschreibe mit der Markenfarbe, falls bekannt.
  • title: false für keine Wörter auf dem Bildschirm.
  • opener_audio: "off" behält den Soundtrack unverändert bei. Eine Zahl wie -18 mischt den Ton der neuen Szene darunter mit dieser Lautstärke in dB.
  • take: Eine Öffnung ist normalerweise etwas länger als das Fenster. end (Standard) behält ihre letzten Sekunden, in denen sich die Szene beruhigt hat. start behält ihre ersten Sekunden, für eine Szene, deren Handlung sofort beginnt (ein ausfahrender Stab, ein sich öffnender Deckel).
  • Mehrere Takes eines Keywords: Wiederhole die Variante mit demselben keyword, einem anderen opener und einem "label" ("A", "B"). Jeder wird in eine eigene Datei und Karte erstellt, sodass der Verkäufer durch Ansehen auswählt. Biete einen zweiten Take an, wenn ein Keyword wichtig ist; sage, was er kostet. "pick": true beim ausgewählten Take kopiert ihn nach out/upload/<keyword>.mp4.
  • Eine Variante kann "title_text" enthalten, wenn der Text auf dem Bildschirm vom Keyword abweichen soll, sowie "take", "emphasis" (die zu markierenden Wörter; standardmäßig die Wörter, die die Keywords nicht gemeinsam haben, also „Hot Dog“ in „Hot Dog Röststäbe“), "place", "title_scale", "pick" und ein eigenes "window".

Wenn etwas nicht stimmt

build prüft zuerst plan.json und sagt in Worten, was zu korrigieren ist. Ein Keyword in Buchstaben, die die eingebauten Schriftarten nicht darstellen können (Hebräisch, Chinesisch, Arabisch), schlägt mit diesem Satz fehl: Gib der Variante einen "title_text" in lateinischen Buchstaben oder setze "title": false. Emojis werden aus dem Titel entfernt. Ein Keyword mit mehr als 5 Wörtern wird klein dargestellt; gib ihm einen kürzeren "title_text". Ein Video ohne Schnitt zwischen 2 und 6 Sekunden erhält eine kurze Überblendung anstelle eines Schnitts.

Regeln

  • Verlängere niemals das Video und greife niemals in seinen Soundtrack ein. Wenn eine Anfrage eines von beidem erfordert, handelt es sich um einen anderen Auftrag; sage das.
  • Erfinde niemals ein Produktmerkmal in einer Szene. Die Szene zeigt die Verwendung des Keywords mit dem Produkt, so wie es ist.
  • Personen in einer neuen Szene sollten den Personen im Video entsprechen, wenn das Video Personen enthält.
  • Eine bezahlte Erzeugung pro Keyword, es sei denn, der Verkäufer genehmigt eine weitere.

Verwandte Skills