Bildgenerierungs-Skill
Erzeugt oder bearbeitet Bilder für das aktuelle Projekt (z. B. Website-Assets, Spiel-Assets, UI-Mockups, Produkt-Mockups, Wireframes, Logo-Design, fotorealistische Bilder oder Infografiken).
Top-Level-Modi und Regeln
Diese Skill hat genau zwei Top-Level-Modi:
- Standardmäßiger eingebauter Tool-Modus (bevorzugt): Eingebautes
image_gen-Werkzeug für normale Bildgenerierung, -bearbeitung und einfache transparente Bildanfragen. Erfordert keinenOPENAI_API_KEY. - CLI-Fallback-Modus:
scripts/image_gen.pyCLI. Verwenden, wenn der Benutzer explizit nach dem CLI/API/Modell-Pfad fragt, oder nachdem der Benutzer einen echten modellnativen Transparenz-Fallback mitgpt-image-1.5explizit bestätigt hat. ErfordertOPENAI_API_KEY.
Im CLI-Fallback bietet die CLI drei Unterbefehle:
generateeditgenerate-batch
Regeln:
- Verwenden Sie standardmäßig das eingebaute
image_gen-Werkzeug für normale Bildgenerierungs- und Bearbeitungsanfragen. - Wechseln Sie nicht für gewöhnliche Qualitäts-, Größen- oder Dateipfadsteuerung zum CLI-Fallback.
- Wenn der Benutzer explizit nach einem transparenten Bild/Hintergrund fragt, bleiben Sie zunächst beim eingebauten
image_gen: Fordern Sie einen flachen entfernbaren Chroma-Key-Hintergrund an, entfernen Sie ihn dann lokal mit dem installierten Helfer unter$CODEX_HOME/skills/.system/imagegen/scripts/remove_chroma_key.py. - Wechseln Sie niemals stillschweigend vom eingebauten
image_genoder CLIgpt-image-2zu CLIgpt-image-1.5. Behandeln Sie dies als Modell/Pfad-Downgrade und fragen Sie den Benutzer vorher, es sei denn, der Benutzer hat bereits explizitgpt-image-1.5,scripts/image_gen.pyoder CLI-Fallback angefordert. - Wenn eine transparente Anfrage für eine saubere Chroma-Key-Entfernung zu komplex erscheint, nach echter/nativer Transparenz fragt oder die lokale Entfernung die Validierung nicht besteht, erklären Sie, dass echte Transparenz CLI
gpt-image-1.5 --background transparent --output-format pngerfordert, dagpt-image-2background=transparentnicht unterstützt, und fragen Sie dann, ob fortgefahren werden soll. Führen Sie den CLI-Fallback nur aus, nachdem der Benutzer bestätigt hat. - Das Wort
batchallein bedeutet keinen CLI-Fallback. Wenn der Benutzer nach vielen Assets fragt oder sagt, Assets stapelweise zu generieren, ohne explizit nach CLI/API/Modell-Steuerung zu fragen, bleiben Sie beim eingebauten Pfad und geben Sie einen eingebauten Aufruf pro angefordertem Asset oder Variante aus. - Wenn das eingebaute Werkzeug fehlschlägt oder nicht verfügbar ist, teilen Sie dem Benutzer mit, dass der CLI-Fallback existiert und dass er
OPENAI_API_KEYerfordert. Fahren Sie nur fort, wenn der Benutzer explizit nach diesem Fallback fragt. - Wenn der Benutzer explizit nach dem CLI-Modus fragt, verwenden Sie den gebündelten
scripts/image_gen.py-Workflow. Erstellen Sie keine einmaligen SDK-Läufer. - Ändern Sie niemals
scripts/image_gen.py. Wenn etwas fehlt, fragen Sie den Benutzer, bevor Sie etwas anderes tun.
Eingebaute Speicherpfad-Richtlinie:
- Im eingebauten Tool-Modus speichert Codex generierte Bilder standardmäßig unter
$CODEX_HOME/*. - Beschreiben oder verlassen Sie sich nicht auf das OS-Temp als standardmäßiges eingebautes Ziel.
- Beschreiben oder verlassen Sie sich nicht auf ein Zielpfad-Argument (falls vorhanden) des eingebauten
image_gen-Werkzeugs. Wenn ein bestimmter Speicherort benötigt wird, generieren Sie zuerst und verschieben oder kopieren Sie dann die ausgewählte Ausgabe aus$CODEX_HOME/generated_images/.... - Speicherpfad-Priorität im eingebauten Modus:
- Wenn der Benutzer ein Ziel benennt, verschieben oder kopieren Sie die ausgewählte Ausgabe dorthin.
- Wenn das Bild für das aktuelle Projekt bestimmt ist, verschieben oder kopieren Sie das endgültig ausgewählte Bild vor dem Abschluss in den Arbeitsbereich.
- Wenn das Bild nur für die Vorschau oder zum Brainstorming dient, rendern Sie es inline; die zugrunde liegende Datei kann unter dem standardmäßigen
$CODEX_HOME/*-Pfad verbleiben.
- Lassen Sie ein projektreferenziertes Asset niemals nur unter dem standardmäßigen
$CODEX_HOME/*-Pfad. - Überschreiben Sie ein vorhandenes Asset nicht, es sei denn, der Benutzer hat explizit um Ersatz gebeten; erstellen Sie andernfalls einen versionierten Dateinamen wie
hero-v2.pngoderitem-icon-edited.png.
Geteilte Prompt-Anleitung für beide Modi befinden sich in references/prompting.md und references/sample-prompts.md.
Nur-Fallback-Dokumente/Ressourcen für den CLI-Modus:
references/cli.mdreferences/image-api.mdreferences/codex-network.mdscripts/image_gen.py
Lokale Nachbearbeitungs-Hilfe:
$CODEX_HOME/skills/.system/imagegen/scripts/remove_chroma_key.py: Entfernt einen flachen Chroma-Key-Hintergrund aus einem generierten Bild und schreibt ein PNG/WebP mit Alpha. Bevorzugen Sie automatische Key-Abtastung, weiche Matte und Despill für antialiased Kanten.
Wann verwenden
- Ein neues Bild generieren (Konzeptkunst, Produktaufnahme, Cover, Website-Hero)
- Ein neues Bild unter Verwendung eines oder mehrerer Referenzbilder für Stil, Komposition oder Stimmung generieren
- Ein vorhandenes Bild bearbeiten (Inpainting, Beleuchtungs- oder Wettertransformationen, Hintergrundersatz, Objektentfernung, Compositing, transparenter Hintergrund)
- Viele Assets oder Varianten für eine Aufgabe produzieren
Wann nicht verwenden
- Erweitern oder Anpassen einer vorhandenen SVG/Vektor-Icon-Sammlung, eines Logo-Systems oder einer Illustrationsbibliothek im Repository
- Erstellen einfacher Formen, Diagramme, Wireframes oder Icons, die besser direkt in SVG, HTML/CSS oder Canvas erstellt werden können
- Kleine projektlokale Asset-Bearbeitung, wenn die Quelldatei bereits in einem editierbaren nativen Format vorliegt
- Jede Aufgabe, bei der der Benutzer eindeutig deterministische code-native Ausgabe anstelle eines generierten Bitmaps wünscht
Entscheidungsbaum
Denken Sie über zwei getrennte Fragen nach:
- Absicht: Ist dies ein neues Bild oder eine Bearbeitung eines vorhandenen Bildes?
- Ausführungsstrategie: Ist dies ein Asset oder viele Assets/Varianten?
Absicht:
- Wenn der Benutzer ein vorhandenes Bild modifizieren möchte, während Teile davon erhalten bleiben, behandeln Sie die Anfrage als Bearbeitung.
- Wenn der Benutzer Bilder nur als Referenzen für Stil, Komposition, Stimmung oder Motivvorgabe bereitstellt, behandeln Sie die Anfrage als Generierung.
- Wenn der Benutzer keine Bilder bereitstellt, behandeln Sie die Anfrage als Generierung.
Eingebaute Bearbeitungssemantik:
- Der eingebaute Bearbeitungsmodus ist für Bilder, die bereits im Gesprächskontext sichtbar sind, wie angehängte Bilder oder zuvor im Thread generierte Bilder.
- Wenn der Benutzer ein lokales Bild mit dem eingebauten Werkzeug bearbeiten möchte, laden Sie es zuerst mit dem eingebauten
view_image-Werkzeug, damit das Bild im Gesprächskontext sichtbar ist, und fahren Sie dann mit dem eingebauten Bearbeitungsablauf fort. - Versprechen Sie keine willkürliche Dateisystempfad-Bearbeitung durch das eingebaute Werkzeug.
- Wenn eine lokale Datei immer noch direkte Dateipfadsteuerung, Masken oder andere explizite CLI-only-Parameter benötigt, verwenden Sie den expliziten CLI-Fallback nur, wenn der Benutzer danach fragt.
- Bewahren Sie bei Bearbeitungen Invarianten aggressiv und speichern Sie standardmäßig nicht-destruktiv.
Ausführungsstrategie:
- Im eingebauten Standardpfad produzieren Sie viele Assets oder Varianten, indem Sie einen
image_gen-Aufruf pro angefordertem Asset oder Variante ausgeben. - Im CLI-Fallback-Pfad verwenden Sie den CLI
generate-batch-Unterbefehl nur, wenn der Benutzer explizit den CLI-Modus gewählt hat und viele Prompts/Assets benötigt. - Verwenden Sie für viele verschiedene Assets nicht
nals Ersatz für separate Prompts.nist für Varianten eines Prompts; verschiedene Assets erfordern separate eingebaute Aufrufe oder separate CLIgenerate-batch-Aufträge.
Gehen Sie davon aus, dass der Benutzer ein neues Bild wünscht, es sei denn, er bittet eindeutig darum, ein vorhandenes zu ändern.
Arbeitsablauf
- Entscheiden Sie den Top-Level-Modus: standardmäßig eingebaut, einschließlich einfacher transparenter Ausgabeanfragen; Fallback-CLI nur, wenn explizit angefordert oder nachdem der Benutzer einen transparenten Ausgabe-Fallback explizit bestätigt hat.
- Entscheiden Sie die Absicht:
generateoderedit. - Entscheiden Sie, ob die Ausgabe nur für die Vorschau ist oder vom aktuellen Projekt konsumiert werden soll.
- Entscheiden Sie die Ausführungsstrategie: einzelnes Asset vs. wiederholte eingebaute Aufrufe vs. CLI
generate-batch. - Sammeln Sie Eingaben im Voraus: Prompt(s), exakter Text (wörtlich), Einschränkungen/Vermeidungsliste und alle Eingabebilder.
- Kennzeichnen Sie für jedes Eingabebild seine Rolle explizit:
- Referenzbild
- Bearbeitungsziel
- unterstützende Einfüge-/Stil-/Compositing-Eingabe
- Wenn sich das Bearbeitungsziel nur im lokalen Dateisystem befindet und Sie auf dem eingebauten Pfad bleiben, inspizieren Sie es zuerst mit
view_image, damit das Bild im Gesprächskontext verfügbar ist. - Wenn der Benutzer nach einem Foto, einer Illustration, einem Sprite, einem Produktbild, einem Banner oder einem anderen explizit rasterartigen Asset gefragt hat, verwenden Sie
image_gen, anstatt SVG/HTML/CSS-Platzhalter zu verwenden. Wenn die Anfrage für ein Icon, Logo oder UI-Grafik ist, das zu vorhandenen repository-nativen SVG/Vektor/Code-Assets passen sollte, bevorzugen Sie stattdessen die direkte Bearbeitung dieser. - Erweitern Sie den Prompt basierend auf Spezifität:
- Wenn der Prompt des Benutzers bereits spezifisch und detailliert ist, normalisieren Sie ihn zu einer klaren Spezifikation, ohne kreative Anforderungen hinzuzufügen.
- Wenn der Prompt des Benutzers generisch ist, fügen Sie nur dann geschmackvolle Erweiterungen hinzu, wenn dies die Ausgabequalität wesentlich verbessert.
- Verwenden Sie standardmäßig das eingebaute
image_gen-Werkzeug. - Befolgen Sie bei transparenten Ausgabeanfragen die folgende Transparenz-Bildanleitung: Generieren Sie mit dem eingebauten
image_genauf einem flachen Chroma-Key-Hintergrund, kopieren Sie die ausgewählte Ausgabe in den Arbeitsbereich odertmp/imagegen/, führen Sie den installierten$CODEX_HOME/skills/.system/imagegen/scripts/remove_chroma_key.py-Helfer aus und validieren Sie das Alpha-Ergebnis, bevor Sie es verwenden. Wenn dieser Pfad ungeeignet erscheint oder fehlschlägt, fragen Sie vor dem Wechsel zu CLIgpt-image-1.5. - Inspizieren Sie Ausgaben und validieren Sie: Motiv, Stil, Komposition, Textgenauigkeit und Invarianten/Vermeidungsliste-Elemente.
- Iterieren Sie mit einer einzigen gezielten Änderung und überprüfen Sie erneut.
- Rendern Sie das Bild für reine Vorschauarbeit inline; die zugrunde liegende Datei kann unter dem standardmäßigen
$CODEX_HOME/generated_images/...-Pfad verbleiben. - Verschieben oder kopieren Sie bei projektbezogener Arbeit das ausgewählte Artefakt in den Arbeitsbereich und aktualisieren Sie allen konsumierenden Code oder Referenzen. Lassen Sie ein projektreferenziertes Asset niemals nur unter dem standardmäßigen
$CODEX_HOME/generated_images/...-Pfad. - Persistieren Sie bei Stapel- oder Multi-Asset-Anfragen jedes angeforderte Endergebnis im Arbeitsbereich, es sei denn, der Benutzer hat explizit darum gebeten, die Ausgaben nur für die Vorschau zu behalten. Verworfene Varianten müssen nicht aufbewahrt werden, es sei denn, sie wurden angefordert.
- Wenn der Benutzer den CLI-Fallback explizit wählt oder bestätigt, verwenden Sie die nur-Fallback-Dokumente für Modell, Qualität, Größe,
input_fidelity, Masken, Ausgabeformat, Ausgabepfade und Netzwerkeinrichtung. - Melden Sie immer den/die endgültigen Speicherpfad(e) für alle arbeitsbereichsgebundenen Assets sowie den endgültigen Prompt oder die Prompts und ob der eingebaute Tool- oder der Fallback-CLI-Modus verwendet wurde.
Transparente Bildanfragen
Transparente Bildanfragen verwenden dennoch zuerst das eingebaute image_gen. Da das eingebaute Werkzeug keine echte transparente Hintergrundsteuerung bietet, erstellen Sie ein entfernbares Chroma-Key-Quellbild und konvertieren Sie dann die Key-Farbe lokal in Alpha.
Standardsequenz:
- Verwenden Sie das eingebaute
image_gen, um das angeforderte Motiv auf einem perfekt flachen, einfarbigen Chroma-Key-Hintergrund zu generieren. - Wählen Sie eine Key-Farbe, die wahrscheinlich nicht im Motiv vorkommt: Standard
#00ff00, verwenden Sie#ff00fffür grüne Motive und vermeiden Sie#0000fffür blaue Motive. - Verschieben oder kopieren Sie nach der Generierung das ausgewählte Quellbild aus
$CODEX_HOME/generated_images/...in den Arbeitsbereich odertmp/imagegen/. - Führen Sie den installierten Helferpfad aus, keinen projektrelativen Skriptpfad:
python "${CODEX_HOME:-$HOME/.codex}/skills/.system/imagegen/scripts/remove_chroma_key.py" \ --input <source> \ --out <final.png> \ --auto-key border \ --soft-matte \ --transparent-threshold 12 \ --opaque-threshold 220 \ --despill - Validieren Sie, dass die Ausgabe einen Alphakanal, transparente Ecken, plausible Motivabdeckung und keinen offensichtlichen Key-Farb-Saum hat. Wenn ein dünner Saum verbleibt, wiederholen Sie einmal mit
--edge-contract 1; verwenden Sie--edge-feather 0.25nur, wenn die Kante sichtbar treppenförmig ist und das Motiv nicht glänzend oder reflektierend ist. - Speichern Sie das endgültige Alpha-PNG/WebP im Projekt, wenn das Asset projektgebunden ist. Lassen Sie ein projektreferenziertes transparentes Asset niemals nur unter
$CODEX_HOME/*.
Formulieren Sie transparente Anfragen wie folgt:
Erstelle das angeforderte Motiv auf einem perfekt flachen, einfarbigen #00ff00 Chroma-Key-Hintergrund zur Hintergrundentfernung.
Der Hintergrund muss eine gleichmäßige Farbe ohne Schatten, Verläufe, Textur, Reflexionen, Bodenebene oder Lichtvariation sein.
Halten Sie das Motiv vollständig vom Hintergrund getrennt mit scharfen Kanten und großzügigem Randabstand.
Verwenden Sie #00ff00 nirgendwo im Motiv.
Kein Schlagschatten, kein Kontaktschatten, keine Reflexion, kein Wasserzeichen und kein Text, es sei denn, explizit angefordert.
Verwenden Sie nicht automatisch CLI gpt-image-1.5 --background transparent --output-format png anstelle von Chroma-Keying. Fragen Sie den Benutzer, wenn dieser nach echter/nativer Transparenz fragt, wenn die lokale Entfernung die Validierung nicht besteht oder wenn das angeforderte Bild komplex ist: Haare, Fell, Federn, Rauch, Glas, Flüssigkeiten, durchscheinende Materialien, reflektierende Objekte, weiche Schatten, realistische Produktbodenstand oder Motivfarben, die mit allen praktischen Key-Farben kollidieren.
Verwenden Sie eine kurze Bestätigung wie:
Dies erfordert wahrscheinlich echte native Transparenz. Der standardmäßige eingebaute Pfad verwendet einen Chroma-Key-Hintergrund plus lokale Entfernung, aber echte Transparenz erfordert den CLI-Fallback mit gpt-image-1.5, da gpt-image-2 background=transparent nicht unterstützt. Es erfordert auch OPENAI_API_KEY. Soll ich mit diesem CLI-Fallback fortfahren?
Prompt-Erweiterung
Formatieren Sie Benutzer-Prompts in eine strukturierte, produktionsorientierte Spezifikation um. Machen Sie das Ziel des Benutzers klarer und handlungsorientierter, aber fügen Sie nicht blind Details hinzu.
Behandeln Sie dies als Prompt-Shaping-Anleitung, nicht als geschlossenes Schema. Verwenden Sie nur die Zeilen, die helfen, und fügen Sie eine kurze zusätzliche beschriftete Zeile hinzu, wenn dies die Klarheit wesentlich verbessert.
Spezifitätsrichtlinie
Verwenden Sie die Prompt-Spezifität des Benutzers, um zu entscheiden, wie viel Erweiterung angemessen ist:
- Wenn der Prompt bereits spezifisch und detailliert ist, bewahren Sie diese Spezifität und normalisieren/strukturieren Sie ihn nur.
- Wenn der Prompt generisch ist, können Sie geschmackvolle Erweiterungen hinzufügen, wenn dies das Ergebnis wesentlich verbessert.
Erlaubte Erweiterungen:
- Kompositions- oder Bildausschnittshinweise
- Ausarbeitungsgrad oder beabsichtigte Nutzungshinweise
- Praktische Layout-Anleitung
- Angemessene Szenenkonkretheit, die die angegebene Anfrage unterstützt
Nicht erlaubte Erweiterungen:
- Zusätzliche Charaktere oder Objekte, die nicht von der Anfrage impliziert werden
- Markennamen, Slogans, Paletten oder narrative Elemente, die nicht impliziert werden
- Willkürliche seitenspezifische Platzierung, es sei denn, das umgebende Layout unterstützt dies
Verwendungshinweise
...