CommunityBildgithub.com

shaharsha/image-generation

Erstelle Logos, Icons, UI-Mockups, Hero-Images, Produktaufnahmen und andere Design-Assets mit OpenAI GPT Image 2.5 (Sunburst, Flare) oder Google Gemini (Nano Banana 2, Nano Banana Pro, Nano Banana 2 Lite). Nutze es immer dann, wenn der Benutzer darum bittet, ein visuelles Asset zu erstellen, zu designen, zu generieren, zu mocken, zu rendern oder zu illustrieren, ein transparentes PNG benötigt oder nach Prompt-Engineering für Bilder fragt. Wählt das richtige Modell und die richtige Qualität für die Aufgabe aus und schreibt einen modellspezifischen Prompt nach den offiziellen Prompting-Regeln des jeweiligen Modells.

Was ist image-generation?

Diese Skill dient der professionellen Bilderzeugung für Design-Assets und nutzt dafür zwei Modellfamilien: OpenAI GPT Image 2.5 (Sunburst und Flare) sowie Google Gemini (Nano Banana Pro, Nano Banana 2 und Nano Banana 2 Lite). Sie führt drei Kernaufgaben aus: Auswahl des optimalen Modells und der Bildqualität, Erstellung eines modellspezifischen Prompts gemäß der offiziellen Regeln (OpenAI bevorzugt strukturierte Abschnitte, Gemini narrative Absätze) und Ausführung der API über bereitgestellte Skripte. Die Skill enthält einen detaillierten 'Qualitäts-Fallstrick', der erklärt, dass GPT Image 2.5 'high' nur etwa die Tokens von 2.0 'medium' liefert, und rät dringend davon ab, Entwürfe neu zu generieren – stattdessen sollen ausgewählte Entwürfe mit einer Bearbeitung (Edit) unter Angabe des Entwurfs als Referenz aufgewertet werden. Sie unterstützt transparente Hintergründe nativ auf GPT Image 2.5, bietet Vorlagen für Logo, Symbol-Sets, UI, Hero-Images und Produktaufnahmen, behandelt wiederkehrende Figuren und Story-Panels mit einem speziellen Workflow (Gesichter zuschneiden, Anime-Gesicht erstellen, in Kostümkarte einfügen) und definiert einen autonomen Iterations-Pfad: Generieren → Selbstkritik → Entscheidung (SHIP/EDIT/REWRITE) – nach max. 5 Iterationen oder $3 Kosten pro Asset anhalten. Die Skill interagiert über die CLI mit OpenAI- und Gemini-APIs unter Verwendung von Umgebungsvariablen für API-Schlüssel und unterstützt macOS mit dem Befehl `open` zum Anzeigen von Ergebnissen.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/shaharsha/claude-skills/tree/HEAD/skills/image-generation

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

Bilderzeugung

Zwei Modellfamilien, drei Aufgaben.

Abgedeckte Modelle

Modell-IDFamilieVerwendungKosten (1024×1536, gemessen am 02.10.2026)
gpt-image-2.5-sunburstOpenAI (Images 2.5, 08.09.2026)Standard. Alles, was ausgeliefert werden soll. Platz 1 in jeder großen Rangliste (Generierung, Bearbeitung, Textwiedergabe, Porträts)max ≈ $0,165, ~90 s · high ≈ $0,041, ~35 s
gpt-image-2.5-flareOpenAI (Images 2.5)Schnelle Entwürfe — Richtungen erkunden, Prompt testen. Gleiche Prompts wie Sunburst, ~2× schnellermedium ≈ $0,01, ~15 s
gemini-3-pro-imageGoogle (Nano Banana Pro)Nahaufnahmen natürlicher Haut/Haare, wenn Stimmen und Prüfer uneins sind; bis zu 14 Referenzen$0,134 (1K/2K) · $0,24 (4K)
gemini-3.1-flash-imageGoogle (Nano Banana 2)Extreme Seitenverhältnisse (1:4…8:1), Bildsuche-Grounding$0,067 (1K)
gemini-3.1-flash-lite-imageGoogle (Nano Banana 2 Lite)Günstigste Gemini-Erkundung; nur 1K, gibt JPEG aus$0,034

gpt-image-2 funktioniert noch (nicht veraltet), ist aber einen Schritt unter beiden 2.5-Modellen. Die Gemini *-preview-IDs und alle Imagen-Modelle sind abgeschaltet — die Skripte lehnen sie ab.

Die drei Aufgaben dieser Skill

  1. Modell und Qualität auswählen für das Asset. Siehe reference/model-selection.md.
  2. Den Prompt schreiben gemäß den Hausregeln des Modells. Die beiden Anbieter wollen das Gegenteil:
    • OpenAI GPT Image 2.5 möchte beschriftete Abschnitte (Szene / Subjekt / Details / Einschränkungen), genauen Text in Anführungszeichen und akzeptiert Inline-Ausschlüsse („kein zusätzlicher Text, keine Wasserzeichen“). Lies reference/openai-gpt-image.md.
    • Gemini möchte narrative Absätze, negative Formulierungen schlagen fehl (schreibe „keine Personen“ um zu „leere Straße“), das Seitenverhältnis kommt in imageConfig. Lies reference/gemini-image.md.
  3. Die API aufrufen über die gebündelten Skripte. Siehe scripts/README.md.

Qualität bei 2.5 – die Falle

Die 2.5-Qualitätsleiter wurde neu geschnitten. Bei gleicher Größe kauft 2.5 high etwa die Ausgabe-Tokens von gpt-image-2 medium; 2.5 max kauft das, was gpt-image-2 high tat (gemessen: Sunburst 1024×1536 high = 1.372 Ausgabe-Tokens, max = 5.488). Das Kopieren von „quality=high“ aus alten Gewohnheiten liefert stillschweigend ein Bild mit mittleren Details.

Befördere Entwürfe mit einer Bearbeitung und nicht mit einer Neugenerierung. Jede frische Generierung erzeugt ein neues Bild, daher ergibt das erneute Ausführen des Prompts eines genehmigten Entwurfs mit max ein anderes Bild. Gib stattdessen den gewählten Entwurf als Referenz an eine Sunburst max-Bearbeitung weiter, die nur die Render-Qualität ändert und alles andere beibehält. Verifiziert am 02.10.2026: Ein auf diese Weise beförderter Flare medium-Poster behielt seine Komposition, Personen, Posen, Farben und hebräischen Text bei und gewann an Textur und Detail ($0,18, 85 s).

StufeModell + QualitätWarum
Richtungen erkunden, Prompt testenFlare medium (--draft)~1¢ und ~15 s, also kosten 6 Richtungen weniger als eine finale
Ausgewählten Entwurf befördernSunburst max-Bearbeitung mit --ref <Entwurf> und dem Beförderungs-Prompt in reference/openai-gpt-image.mdBehält das vom Benutzer gewählte Aussehen bei, fügt volle Details hinzu
Finale Version direkt aus einem festgelegten PromptSunburst max (Skript-Standard)Volle Details; ~90 s, ~$0,17
Sunburst, wenn Zeit wichtiger ist als feine DetailsSunburst highEin Viertel der Tokens, ~35 s

Verwende niemals auto — es landet bei identischen Aufrufen auf unterschiedlichen Budgets.

Standard-Modellauswahl – die 30-Sekunden-Regel

Richtungen erkunden / „ein paar schnelle Optionen“ / testen, ob ein Prompt funktioniert?
  JA → Flare medium (--draft). Befördere die Auswahl des Benutzers mit einer Sunburst max-Bearbeitung (--ref <Entwurf>).
  NEIN  ↓

Fotorealistisches menschliches Gesicht in Nahaufnahme, bei dem die Hauttextur entscheidend ist?
  JA → Sunburst max zuerst (führt bei Porträts); wenn die Haut beim Zoomen überschärft wirkt,
        vergleiche mit gemini-3-pro-image 4K und lass den Menschen wählen.
  NEIN  ↓

Ultrabreites/-hohes Banner jenseits von 3:1 (1:4, 4:1, 1:8, 8:1)?
  JA → gemini-3.1-flash-image (GPT Image ist bei 3:1 gedeckelt).
  NEIN  ↓

Alles andere → Sunburst mit Qualität=max.
  └── Transparentes PNG? Nativ: --background transparent (png/webp). Kein rembg nötig.

Vollständiger Entscheidungsbaum nach Asset-Typ: reference/model-selection.md.

Arbeitsablauf pro Anfrage

  1. Umfang bestätigen. Asset-Typ, Markenkontext, Farb-/Stilrichtung, Ziel-Seitenverhältnis + Größe, Speicherort. Wenn die Anfrage bereits alles enthält, fortfahren.
  2. Modell und Qualität auswählen. Die obige Regel verwenden; die Wahl in einem Satz erklären.
  3. Die modellspezifische Referenz lesen — reference/openai-gpt-image.md oder reference/gemini-image.md. Nicht aus dem Gedächtnis schreiben: Die beiden Anbieter wollen gegensätzliche Prompt-Strukturen, und die 2.5-Anleitung hat mehrere gpt-image-2-Gewohnheiten geändert.
  4. Transparenter Hintergrund? Bei GPT Image 2.5 nativ. Lies reference/transparent-backgrounds.md nur für Gemini-Ausgaben oder zum Freistellen eines vorhandenen Bildes.
  5. Die passende Vorlage öffnen in templates/ und die Platzhalter ausfüllen.
  6. Hebräischer oder RTL-Text im Bild? Lies zuerst reference/hebrew-rtl.md.
  7. Dem Benutzer den Prompt vor dem API-Aufruf zeigen, es sei denn, er sagte „mach einfach“. Eine Prompt-Überprüfung verhindert die meisten teuren Neugenerierungen.
  8. Das Skript ausführen. Speichern unter ./generated-images/<beschreibender-name>.png im aktuellen Arbeitsverzeichnis, sofern nicht anders angegeben. Das OpenAI-Skript gibt Latenz, Ausgabe-Tokens und Kosten pro Aufruf aus – die laufende Summe notieren.
  9. Das gespeicherte Bild mit dem Read-Tool lesen – Claude ist multimodal und sieht die Pixel tatsächlich. Gegen die Vorgaben prüfen: Komposition, Text genau wie zitiert und einmal vorkommend, Farben, Mängel (verunstaltete Buchstaben, zusätzliche Finger, kaputte Geometrie, Körnung in glatten Flächen). Probleme erkennen, bevor der Benutzer es muss.
  10. Dem Benutzer zeigen. open <Pfad>, zusammenfassen, was zu sehen ist (gut und schlecht), und vorschlagen: ausliefern / mit einer bestimmten Änderung iterieren / neu schreiben.

Vorlagen nach Asset-Typ

AssetVorlage
Markenlogo / Zeichen / Wortmarketemplates/logo.md
Symbol-Set (einheitlicher Stil über Symbole hinweg)templates/icon-set.md
Mobile App UI-Bildschirmtemplates/ui-mobile.md
Web-Dashboard / SaaS-UItemplates/ui-dashboard.md
Marketing-Hero-Image / Bannertemplates/hero-image.md
Produktfotografie / Hero-Shottemplates/product-shot.md

Für wortgetreue ausgearbeitete Beispiele siehe examples.md.

Wiederkehrende Figuren und Story-Panels

Für Comics, Storyboards und animierte Episoden, in denen dieselben Personen in vielen Bildern vorkommen:

  • Figuren aus Fotos. Niemals ganze Fotos als Referenzen übergeben: Der Bearbeitungs-Endpunkt gestaltet das Foto um (kopiert Pose, Kleidung und Hintergrund, fügt Bildunterschriftentext hinzu) anstatt die Person zu zeichnen. Die funktionierende Pipeline:

    1. Zuerst die Gesichter zuschneiden: python3 <this-skill-dir>/scripts/crop_faces.py photos/ faces/ --sheet faces/_sheet.jpg.
    2. Aus den Zuschnitten ein Anime-Gesicht erstellen.
    3. Dieses Gesicht in eine Halbkörper-Kostümkarte einfügen, wobei der Körpertyp angegeben wird.
    4. Menschliche Genehmigung einholen, dann befördern.

    Prompts und der Prüfungsablauf: reference/characters-from-photos.md.

  • Szenen mit 2+ Figuren.

    • Entwurf mit Sunburst high, nicht mit Flare: Flare zeichnete nur Bild 1, draußen, mit Untertiteln.
    • Jeden Namen bei der ersten Erwähnung an seine Karte binden: „Dana (die Frau aus Bild 1)“.
    • Untertitel in jeder Sprache verbieten.
    • Telefon- und Tablet-Bildschirme von hinten rendern: Den Bildschirminhalt als eigenes Bild generieren und compositen.

    Rezept: reference/multi-character-scenes.md.

  • Stapelabrechnung. credit_balance_exhausted bedeutet, dass das OpenAI-Konto kein Guthaben mehr hat, keine fehlerhafte Anfrage. Anhalten, auflisten, welche Aufnahmen fertig sind, und nach der Aufladung nur die fehlenden erneut ausführen.

API-Schlüssel und Abhängigkeiten

API-Schlüssel stammen aus Umgebungsvariablen, die im eigenen Secret-Store in der Shell gesetzt werden, die das Skript ausführt (jede neue Shell benötigt sie erneut):

  • OPENAI_IMAGE_API_KEY für scripts/openai-image.sh
  • GEMINI_IMAGE_API_KEY (oder GEMINI_API_KEY) für scripts/gemini-image.sh; derselbe Google AI Studio-Schlüssel funktioniert auch für generating-video-clips

Diese Schlüssel sind auf Image-Gen beschränkt. Sie nicht für Chat oder Embeddings wiederverwenden und niemals ausgeben – in eine Variable laden, nicht echoen.

Lokale Tools (nur zum Freistellen von Gemini-Ausgaben oder vorhandenen Bildern): rembg (pip install "rembg[cli]" onnxruntime), optional ImageMagick.

Ausgabe-Konvention

  • Standard-Speicherort: ./generated-images/<beschreibender-name>.png im aktuellen Arbeitsverzeichnis.
  • Dateiname: beschreibend in kebab-case (logo-agentleh-monochrome-v1.png); Entwürfe erhalten -draft-N (logo-agentleh-draft-3.png).
  • Versionierung: -v1, -v2, … anhängen, wenn iteriert wird. Niemals eine vorherige Generation ohne Nachfrage überschreiben.
  • Transparente Ausgaben: -transparent nach der Version anhängen.
  • open <Pfad> unter macOS, um dem Benutzer das Bild direkt nach der Generierung zu zeigen.

Iterationsmuster – autonome „bis zur Perfektion iterieren“-Schleife

Die Aufgabe des Agenten ist es, das Bild in den Zustand „gut genug zum Ausliefern“ zu bringen, bevor der Benutzer gefragt wird:

1. Generieren (Skript-Aufruf)
2. Die gespeicherte Datei mit dem Read-Tool lesen – Claude sieht die Pixel
3. Selbstkritik gegen die Vorgaben:
   - Komposition getroffen? (Platzierung, Rahmung, Ausgewogenheit, Hierarchie, negativer Raum)
   - Text genau wie zitiert, jede Zeichenkette einmal vorkommend, lesbar?
   - Farben richtig? (Hex-Übereinstimmung, Palette eingehalten)
   - Mängel? (verunstaltete Buchstaben, zusätzliche Finger, kaputte Geometrie, Körnung in Himmeln/Hintergründen)
   - Vorgaben tatsächlich erfüllt?
4. Entscheiden:
   - SHIP (ausliefern) → erfüllt die Vorgaben; dem Benutzer zeigen
   - EDIT (bearbeiten) → eine lokalisierte Korrektur; bearbeiten mit --ref <vorheriges> und einem Prompt, der
               „nur X ändern“ sagt und jede frühere Korrektur und jedes beibehaltene Detail WIEDERHOLT
   - REWRITE (neu schreiben) → grundlegendes Prompt-Problem; von Grund auf neu schreiben, nicht optimieren
5. Anhalten, wenn: 5 Iterationen verwendet wurden, oder $3 für dieses Asset ausgegeben wurden (die Kostenzeilen des Skripts summieren),
   oder es auslieferbar ist.

Der Benutzer ist der endgültige Richter – aber Claude ist der erste Richter. Kein fehlerhaftes Ergebnis zeigen und fragen „ist das gut?“ Zeige es erst, nachdem du verifiziert hast, dass es die Vorgaben erfüllt, oder mit deiner Kritik versehen („Der Wortmarken-Laufweite ist falsch; wird im nächsten Schritt korrigiert“).

Mechaniken nach Modell

  • GPT Image 2.5 Bearbeitungen erfolgen über /v1/images/edits via scripts/openai-image.sh --ref <Bild> (bis zu 16 Referenzen). Ohne Maske wird bei jedem Durchgang die gesamte Leinwand neu generiert, daher sammelt sich Drift an – jede frühere Änderung und jedes beibehaltene Detail bei jedem Durchgang wiederholen, nicht nur die neue Anfrage. Wenn eine Region pixelidentisch bleiben muss, das genehmigte Bild in das Original compositen, anstatt zu hoffen, dass der Prompt es hält.
  • Gemini Multi-Turn-Bearbeitung: scripts/gemini-image.sh --ref <vorherige-Ausgabe> --prompt "ändere X, behalte Y", immer endend mit „Behalte alles andere im Bild genau gleich – Komposition, Beleuchtung, Farben, alle anderen Elemente.“
  • Drift-Disziplin. Nach 3 erfolglosen Iterationen am selben Bild die Strategie wechseln: Den Basisprompt neu schreiben oder das Modell wechseln.

Preisgestaltung

GPT Image 2, 2.5 Flare und 2.5 Sunburst teilen sich Token-Raten ($30/1M Bildausgabe, $8/1M Bildeingabe, $5/1M Textingabe; Batch API halbiert sie), aber die Tokens pro Bild unterscheiden sich nach Qualität, Größe und Modell – also die Kosten lesen, die das Skript ausgibt, anstatt anzunehmen. Gemini wird pro Bild abgerechnet. Vollständige Tabelle und ausgearbeitete Szenarien: reference/pricing.md.

Hebräisch / RTL

Sunburst und Flare haben beide eine hebräische Überschrift in einem Test vom 02.10.2026 korrekt gerendert (richtige Buchstaben, richtige Reihenfolge, richtige Richtung, zusammen mit Englisch und einem Abzeichen). Zuerst die direkte Darstellung versuchen; bei langen hebräischen Zeilen oder einer erforderlichen lizenzierten Schriftart auf den Composite-Workflow ausweichen. Hebräisch steht nicht auf Googles Liste der Sprachen mit bester Leistung für Gemini-Bildmodelle – für hebräischen Text GPT Image bevorzugen. Siehe reference/hebrew-rtl.md.

Wann diese Skill NICHT verwendet werden soll

  • Der Benutzer möchte bearbeitbare Vektordateien (SVG mit Pfaden). Diese Modelle geben Raster aus; verwende die brand-assets-Skill oder Recraft V4.1 Vector (recraftv4_1_vector, natives SVG, nicht in diese Skripte eingebunden).
  • Der Benutzer möchte exakte Pixelmaße außerhalb der unterstützten Größen (z. B. 1200×630). Im nächstgelegenen unterstützten Seitenverhältnis generieren, dann zuschneiden/ skalieren.
  • Der Benutzer möchte ein echtes Foto einer bestimmten realen Person. Beide Anbieter lehnen ab oder produzieren ungenaue Ähnlichkeiten, und es gibt Richtlinienprobleme.
  • Der Benutzer möchte allgemeine „KI-Kunst“ ohne ein Design-Briefing – verweise ihn auf ChatGPT oder die Gemini-App; diese Skill ist für Designarbeit optimiert.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

shaharsha/deck-to-video

Use when turning a slide deck plus per-slide narration audio into an mp4 video — a self-playing/self-presenting deck video, "slides to video", "presentation to mp4", a shareable WhatsApp/Slack/Drive video of a narrated deck, or when a slide video needs a per-slide progress bar / countdown / slide counter. Also use when a slide video should highlight, glow or spotlight the element being talked about in time with the voice, or when narration and on-screen animation need syncing. Also use when...

shaharsha/generating-video-clips

Use when turning a still image, illustration, comic panel or character art into a short animated clip (image-to-video), choosing a video model or provider (Gemini Omni, Veo, Seedance, Kling, ElevenLabs Flows) or hitting their API gates, lip-syncing a character's mouth to existing dialogue audio (Sync, fal.ai, active speaker), or fixing a generated clip with artifacts - duplicated props, a door or a second figure appearing, hands through bodies, glowing eyes, a gesture repeated at the start,...

shaharsha/producing-animated-episodes

Use when making a narrated or voiced animated video with recurring characters - an anime, cartoon or comic episode, a short for a group chat, a story video about friends, family, a class or a team - from photos, a chat export, a story idea or a script, in any visual style, Hebrew/RTL or English. Also use when such a video has subtitles or cards too fast to read, music stopping early, the ending cut off, lines buried under music, mouths out of sync, a gesture before its line, or one face...

Verwandte Skills