CommunityBildgithub.com

Banner-Kompositor

Erstellt breite Header- und Bannerbilder (Subreddit, Discord, YouTube-Kanal, Forum, Wiki, Fan-Seite, Event- oder Teamseite) durch Compositing echter Fotos, Standbilder, Poster und Logos in einem Streifen mit weichen Übergängen, wobei Logos und Titel-Wortmarken exakt so belassen werden, wie sie veröffentlicht wurden.

Was ist Banner-Kompositor?

Der Banner-Kompositor ist ein KI-Agenten-Skill, der speziell für die Erstellung von Community-Bannern entwickelt wurde, bei denen die identitätsstiftenden Elemente – reale Gesichter und offizielle Titel-Wortmarken – originalgetreu erhalten bleiben müssen. Im Gegensatz zu generativen Bild-KI-Modellen, die diese Elemente oft verfälschen oder neu zeichnen, verwendet der Skill echtes Bildmaterial (Fotos, Poster, Logos), ordnet es in einem JSON-Spezifikationslayout an und komponiert es mit Python-Skripten zu einem nahtlosen Bannerstreifen. Der Workflow umfasst eine gründliche Briefing-Phase, die Beschaffung offizieller Assets aus vertrauenswürdigen Quellen, das gewissenhafte Freistellen von Logos (z. B. mit dem integrierten `cutout_logo.py`-Skript), die Erstellung eines detaillierten Layout-JSONs sowie den Bau und die Inspektion der finalen Ausgabe. Der Skill ist plattformunabhängig und validiert die Bannerabmessungen anhand aktueller Plattformrichtlinien. Er eignet sich ideal für Entwickler und Community-Manager, die regelmäßig Banner für Plattformen wie Reddit, Discord, YouTube, Foren, Wikis, Fan-Seiten, Events oder Teams aktualisieren müssen, ohne auf irreführende oder ungenaue KI-generierte Inhalte zurückzugreifen. Der Skill betont die Einhaltung von Urheberrechten und Fair Use, indem er nur offizielle Quellen verwendet und den Benutzer über die Grenzen des Generierens von Bannern informiert.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/sivarajd/banner-compositor/tree/HEAD

Installed? Explore more Bild skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht Banner-Kompositor?

Erstelle einen Banner, indem du echte Bilder nebeneinander anordnest, die Übergänge weich verblendest und Logos oben drauflegst. Nichts wird neu gezeichnet: Gesichter bleiben wie fotografiert und Titel bleiben wie designt.

Warum komponieren und nicht generieren

Oft wird für diese Aufgabe ein Prompt für eine Bild-KI gewünscht. Die Generierung versagt an genau den beiden Punkten, die ein Community-Banner richtig machen muss:

  • Titel-Wortmarken. Ein Generator buchstabiert ein Logo neu. Es kommt nah ran, aber falsch, und Fans merken es sofort.
  • Echte Menschen. Ein Generator zeichnet Gesichter neu. Das Ergebnis ist ein Doppelgänger, den viele Communities als manipulierten Inhalt verbieten und der die Person falsch darstellt.

Wenn also nach einem Generierungs-Prompt gefragt wird, erkläre dies in zwei bis drei Sätzen und biete den Komposit an. Falls der Benutzer dennoch einen Generator einbinden möchte, beschränke ihn auf eine Hintergrundplatte ohne Text und ohne Personen und platziere die echten Assets mit diesem Skill darüber.

Arbeitsablauf

1. Das Briefing festlegen

Kläre diese Punkte aus der Anfrage und den Dateien, bevor du etwas fragst:

  • Größe. Plattformen ändern ihre Bannergrößen, verwende daher die aktuellsten verfügbaren Informationen, in dieser Reihenfolge: die vom Benutzer aus dem Upload-Dialog der Plattform genannte Größe; die aktuelle Hilfeseite der Plattform; references/platform-sizes.md (mit Datum und Quellen); die Pixelgröße des vorhandenen Banners, die älter als eine Änderung sein kann. Teile dem Benutzer mit, welche Größe du verwendet hast und woher sie stammt. Einige Plattformen verwenden separate Desktop- und Mobil-Banner: siehe „Mehr als eine Größe“ weiter unten.
  • Motive und Reihenfolge. Was kommt von links nach rechts hinein und ob ein Motiv mehr Platz bekommen soll.
  • Vorhandene Assets. Liste den Ordner auf. Öffne und betrachte jedes Bild selbst. Ein Dateiname oder Bildunterschrift sagt dir nicht, was ein Bild zeigt, wie scharf es ist oder welcher Text enthalten ist.
  • Hausregeln. Community-Regeln zu bearbeiteten Bildern und alles, was der Benutzer zum Ton gesagt hat. Lies sie, falls sie im Projekt vorhanden sind.

Frage nur, was du auf diese Weise nicht klären kannst, z. B. eine fehlende Motivliste.

2. Die Lücken füllen

Für jedes Motiv benötigst du ein Logo oder eine Wortmarke sowie ein oder mehrere Bilder. Fehlt etwas, suche nach offiziellem Material: die eigenen Beiträge und Kanäle des Rechteinhabers, Pressekits und Nachrichtenagenturen, die das offizielle Kunstwerk reproduzieren. references/asset-sourcing.md enthält die Suchtaktiken, eine Kurzanweisung zur Delegation der Suche an Unter-Agenten und das Format der Quellendatei. Delegiere, wenn der Benutzer nach Unter-Agenten fragt oder deine Umgebung dies begünstigt; andernfalls suche inline.

Drei Regeln gelten unabhängig davon, wie du suchst:

  • Nur offiziell, und sag, woher du es weißt. Fan-Bearbeitungen und KI-Renderings sind überall. Dokumentiere, woher jede Datei stammt. Wenn sich „offiziell“ auf eine Bildunterschrift und nicht auf den Originalbeitrag stützt, erwähne dies im Abschlussbericht.
  • Erfinde niemals ein Asset. Wenn kein Logo existiert, kommt der Banner ohne aus oder verwendet den weiter unten beschriebenen Poster-Zuschnitt. Entwirf keinen Ersatz.
  • Halte den Benutzer aus ausgehenden Anfragen heraus. Keine Namen, Projektnamen oder E-Mail-Adressen in URLs, Headern oder Suchanfragen.

Speichere Downloads in einem Arbeitsordner und betrachte jedes Bild, bevor du ihm vertraust. scripts/contact_sheet.py legt viele Kandidaten auf ein Blatt, was schneller geht, als sie einzeln zu öffnen.

3. Die Logos beschaffen, zuerst die originalgetreueste Methode

  1. Eine transparente Logodatei, die der Benutzer bereitgestellt hat. Verwende sie. Wenn ihre Ränder auf deinem Hintergrund einen farbigen Saum zeigen, führe cutout_logo.py --key alpha --defringe 2 aus.
  2. Das Poster mit seinem darauf verbliebenen Titel. Schneide das Poster so zu, dass der Titel dort sitzt, wo der Designer ihn platziert hat. Nichts wird ausgeschnitten, also ist der Stil exakt. Dies ist der beste Weg, wenn die einzige Quelle klein ist.
  3. Ein Ausschnitt aus dem Key Art. Verwende scripts/cutout_logo.py, um das Logo von seinem Hintergrund zu trennen. Wähle den Key basierend darauf, was das Logo vom Grund trennt: eine Kanaldifferenz wie r-b für warme Buchstaben auf kaltem Grund, luma für hell auf dunkel, inv-luma für dunkel auf hell, bg für eine flache Hintergrundfarbe. Übergib immer --test-sheet und betrachte das Ergebnis auf hellem und dunklem Grund.

Ein Ausschnitt ist der am wenigsten originalgetreue Weg. Dunkle oder schattige Teile eines Logos verschwinden, wenn sie nahe an der Hintergrundfarbe liegen. Platziere das Logo entweder auf einem Grund, der dem ähnelt, von dem es stammt, oder gib ihm einen backing in der Layout-Spezifikation (eine gefüllte Silhouette plus einen weichen Schatten) und weise den Benutzer darauf hin, dass das Logo ein Ausschnitt ist.

Buchstabiere niemals eine Wortmarke neu, ändere ihren Stil, ihre Farbe oder „säubere“ sie, indem du sie neu zeichnest.

4. In einer Spezifikationsdatei anordnen

Schreibe das Layout als JSON und baue es mit scripts/compose_banner.py. Die Spezifikation ist das, was aufbewahrt werden sollte: Wenn später bessere Bilder auftauchen, ändere einen Pfad und baue neu. references/spec-format.md dokumentiert jedes Feld, und assets/example-spec.json ist ein Startpunkt.

Das Modell ist eine Reihe von Kacheln (Fotos, jede skaliert und auf einen Slot zugeschnitten, jede in die links davon übergehend) und dann Überlagerungen (Logos, zuletzt gezeichnet, damit die Überblendungen sie nicht fressen können). Layout-Entscheidungen, die das Skript nicht für dich treffen kann:

  • Halte Gesichter von der Überblendung fern. Die linken feather-Pixel jeder Kachel nach der ersten sind halbtransparent. Ein Gesicht dort wird zu einem Geist über seinem Nachbarn. Verschiebe den Zuschnitt oder verbreitere den Slot.
  • Setze ein Logo über einen ruhigen Bereich der eigenen Motivkachel: unscharfen Hintergrund, Himmel, eine dunkle Wand. Lass es nicht in die Kachel des nächsten Motivs laufen.
  • Bringe die Motive ins Gleichgewicht. Ähnliche Logobreiten und ähnliche Gesichtsgrößen wirken wie ein Banner. Wenn ein Logo viel kleiner sein muss, erkläre dem Benutzer, warum.
  • Halte veränderliche Fakten heraus. Schneide Veröffentlichungsdaten, Preise und „Demnächst“-Zeilen heraus, die in Poster eingebrannt sind, es sei denn, der Benutzer möchte sie. Bannertext kann später nicht bearbeitet werden.
  • Nur skalieren und zuschneiden. Keine Retusche, Gesichtsbearbeitung oder Entfernung von Wasserzeichen oder Credits. Wenn die einzige Kopie ein Wasserzeichen eines Dritten trägt, finde eine andere Kopie oder lass sie weg.
  • Achte auf das Mobiliar der Plattform. Viele Websites überlagern einen Avatar oder Titel in einer Ecke und beschneiden die Seiten auf Mobilgeräten. Halte Gesichter und Logos aus diesen Zonen fern, wenn du sie kennst.

Mehr als eine Größe. Wenn eine Plattform mehrere Banner wünscht (Desktop und Mobil oder zwei Websites), schreibe eine Spezifikation pro Größe und verwende die Assets wieder. Verkleinere keinen fertigen Banner auf eine andere Form: Die Zuschnitte und Logopositionen, die bei einem Seitenverhältnis funktionieren, schneiden Gesichter bei einem anderen ab. Wenn sich die Größen nur um wenige Pixel unterscheiden, kopiere die Spezifikation und passe die letzte Kachel an.

Sehr schmale Streifen. Bei etwa 8:1 (z. B. 1072x128) ist ein Gesicht, das die Höhe ausfüllt, nur etwa 100 Pixel breit, sodass Platz für mehr Motive ist, aber weniger von jedem. Schneide eng um Gesichter herum zu, erwarte, dass du weniger Bilder pro Motiv verwendest als in einem höheren Banner, und überprüfe, dass jedes Logo in dieser Höhe noch lesbar ist. Eine gestapelte zweizeilige Wortmarke oder ein Slogan kann zu klein zum Lesen sein; sag es und lass den Benutzer entscheiden, was er dagegen tun möchte.

5. Bauen, prüfen, korrigieren

python scripts/compose_banner.py layout.json --preview preview/

Das Skript stoppt bei Problemen, die es nachweisen kann: einer fehlenden Datei, einem Zuschnitt, der ein leeres Band hinterlassen würde, einer Lücke zwischen Kacheln, einer Überblendung, die breiter als die Überlappung ist. Es warnt bei weicheren Problemen, wie starker Hochskalierung.

Betrachte dann das Ergebnis und betrachte es in voller Größe. Ein breiter Banner, der verkleinert in einem Betrachter angezeigt wird, verbirgt geisterhafte Übergänge und gebrochene Logoränder. --preview schreibt dafür Segmente in voller Auflösung, plus guides.png mit den eingezeichneten Übergängen und Überlagerungsrahmen. Überprüfe jedes Segment auf:

  • Gesichter, die von einem Übergang geschnitten oder in einen Nachbarn geisterhaft übergehen
  • Logoränder: Löcher, Lichthöfe, Säume, alles, was in dieser Größe unleserlich ist
  • leere Bänder, gestreckte Personen, sichtbare Kachelkanten
  • Text, den du nicht einfügen wolltest

Korrigiere die Spezifikation und baue neu. Korrigiere alles, was ein Blick zeigt, bevor du erneut hinsiehst.

6. Speichern und Berichten

  • Überschreibe niemals das vorhandene Banner des Benutzers. Schreibe einen neuen Dateinamen. Das Skript weigert sich zu überschreiben, es sei denn, es wird --force übergeben, was nur für deine eigenen Entwürfe gedacht ist.
  • Bewahre die Spezifikation, die darin verwendeten Assets und eine SOURCES.md zusammen in einem Ordner auf, der die Sitzung überdauert. Ein temporärer Ordner verliert die Downloads, und dann kann der Banner nicht neu erstellt werden.
  • Lade nichts hoch oder veröffentliche nichts. Das macht der Benutzer.

Berichte in dieser Reihenfolge: wo die Datei ist und ihre Größe; was darin ist, von links nach rechts; die Schwachstellen (unsichere Quellen, ausgeschnittene Logos, unleserliche Slogans, Kacheln, die eingeklebt wirken); und wie sicher du dir bist, dass jedes gefundene Asset offiziell ist. Sage klar, was du nicht überprüft hast, z. B. wie die Website das Banner auf Mobilgeräten zuschneidet.

Skripte

SkriptVerwendung
scripts/compose_banner.pyBaue den Banner aus einer JSON-Spezifikation; --preview DIR schreibt Inspektionssegmente und Hilfslinien.
scripts/cutout_logo.pyTrenne ein Logo von Key Art oder entferne den Saum eines vorhandenen transparenten Logos; --test-sheet zeigt es auf drei Gründen.
scripts/contact_sheet.pyOrdne Kandidatenbilder in einem beschrifteten Blatt für eine schnelle visuelle Überprüfung an.

Führe jedes mit --help für die Optionen aus.

Rechte und Fair Use

Standbilder, Poster und Logos gehören ihren Eigentümern. Ein Fan- oder Community-Banner, der offizielle Kunstwerke unverändert zeigt, ist gängige Praxis, aber der Benutzer entscheidet, ob seine Nutzung akzeptabel ist. Erwähne dies einmal, wenn du Assets aus dem Web beschaffst. Baue keinen Banner, der die Seite als das offizielle Konto des Rechteinhabers ausgeben würde.

Verwandte Skills