Was macht GPT Image 2 API Key?
Übersicht
Generieren oder bearbeiten Sie Bilder mit einem separat konfigurierten gpt-image-2-Provider, indem Sie scripts/generate_image.py ausführen. Verwenden Sie diese Fähigkeit, wenn die Bildgenerierung mit einem eigenen, isolierten API-Schlüssel abgerechnet, authentifiziert und gemanagt werden soll – anstatt mit den aktuellen OpenAI/Codex-Anmeldedaten von Codex.
Die Fähigkeit liest bewusst nicht OPENAI_API_KEY, Codex-Auth-Dateien oder ChatGPT/Codex-Sitzungsanmeldedaten. Sie liest ausschließlich die private Konfigurationsdatei, die mit --config ausgewählt wird, oder die unten dokumentierte Standard-Konfigurationsdatei.
Was dieses Problem löst
Diese Fähigkeit adressiert ein häufiges Codex-Workflow-Problem: Die aktuelle Codex-Sitzung ist möglicherweise bereits mit einem API-Schlüssel authentifiziert, während die Bildgenerierung einen anderen Schlüssel, ein anderes Konto, ein anderes Kontingent oder einen OpenAI-kompatiblen Proxy verwenden soll.
Verwenden Sie diese Fähigkeit zum:
- Trennen der Bildgenerierungs-Anmeldedaten von den eigenen Codex-Anmeldedaten.
- Aufrufen eines
gpt-image-2oder kompatiblen Bild-Endpunkts von Codex aus, ohne den Schlüssel in Prompts, Befehlen oder Repository-Dateien preiszugeben. - Generieren von Bildern über
/v1/images/generations. - Bearbeiten vorhandener Bilder über
/v1/images/editsmit Multipart-Upload. - Verwenden eines oder mehrerer Referenzbilder für Bearbeitungen, Restyles, Logo-Behandlungen, Produkt-Mockups und Image-to-Image-Transformationen.
- Optionales Bereitstellen eines Maskenbilds für bereichsbegrenzte Bearbeitungen.
- Speichern generierter Ausgaben in expliziten lokalen Pfaden, die Codex anzeigen, inspizieren oder an nachfolgende Schritte übergeben kann.
Anwendungsfälle
Verwenden Sie diese Fähigkeit für Anfragen wie:
- „Generiere ein Logo mit dem genauen Text
JunXxxxi.“ - „Verwende dieses Referenzbild und mache das Wortmarke kursiv.“
- „Ändere den Text dieses Logos in einen Silber-zu-Schwarz-Metallic-Verlauf.“
- „Erstelle ein Produktbild mit gpt-image-2, aber verwende meinen separaten Bild-API-Schlüssel.“
- „Bearbeite dieses Bild und behalte die ursprüngliche Komposition bei.“
- „Verwende einen OpenAI-kompatiblen Bildanbieter mit einer benutzerdefinierten Basis-URL.“
Bevorzugen Sie deterministische lokale Bildverarbeitung anstelle dieser Fähigkeit, wenn die gewünschte Änderung eine einfache Pixel-Transformation ist, die exakte Geometrie bewahren muss, wie Zuschneiden, Größenänderung, Alpha-Konvertierung oder eine vollständig deterministische Farbneuzuordnung. Bevorzugen Sie diese Fähigkeit, wenn der Benutzer eine modellbasierte visuelle Interpretation, Restyling oder Generierung wünscht.
Inhalt
gpt-image-2-apikey/
├── SKILL.md
├── agents/
│ └── openai.yaml
└── scripts/
└── generate_image.py
SKILL.md: Codex-seitige Workflow- und für Menschen lesbare Nutzungsdokumentation.agents/openai.yaml: optionale Codex-UI-Metadaten.scripts/generate_image.py: Python-3-Skript ohne Abhängigkeiten, das Generierungs- oder Bearbeitungsendpunkte aufruft.
Das Skript unterstützt sowohl b64_json als auch URL-basierte Bildantworten. URL-Antworten werden sofort heruntergeladen und in den angeforderten Ausgabepfad geschrieben.
Private Konfiguration
Standard-Konfigurationspfad:
~/.config/gpt-image-2-apikey/config.json
Die Konfiguration muss den Schlüssel des Bildanbieters enthalten, nicht den aktuellen Codex-API-Schlüssel:
{
"api_key": "Bild-Anbieter-Schlüssel-hier-einfügen",
"base_url": "https://api.openai.com/v1",
"model": "gpt-image-2"
}
Legen Sie nach dem Erstellen der Datei private Berechtigungen fest:
chmod 600 ~/.config/gpt-image-2-apikey/config.json
Verwenden Sie --config /pfad/zur/config.json nur, wenn der Benutzer explizit eine andere private Konfigurationsdatei wünscht.
Konfigurationsfelder
api_key: erforderlich. Der Schlüssel des Bildanbieters. Verwenden Sie nicht den aktuellen Codex-API-Schlüssel, es sei denn, dies ist ausdrücklich beabsichtigt.base_url: optional. Standardmäßighttps://api.openai.com/v1. Für OpenAI-kompatible Anbieter belassen Sie dies auf der API-Wurzel, z. B.https://example.com/v1.model: optional. Standardmäßiggpt-image-2.extra_body: optionales Objekt. Werte werden in den Anforderungskörper für anbieterspezifische Felder eingefügt.
Gute base_url-Beispiele:
{
"base_url": "https://api.openai.com/v1"
}
{
"base_url": "https://www.packyapi.com/v1"
}
Fügen Sie /images/generations oder /images/edits nicht in base_url ein, es sei denn, Sie möchten absichtlich genau einen Endpunkt festlegen. Das Skript hängt normalerweise den richtigen Endpunkt automatisch an.
Verwendung
Führen Sie das Skript aus dem Skill-Verzeichnis aus:
python3 scripts/generate_image.py \
--prompt "Ein sauberes Produktfoto einer matten schwarzen mechanischen Tastatur auf einem Walnuss-Schreibtisch" \
--out /absoluter/pfad/zum/output.png \
--size 1024x1024 \
--quality high
Wenn --edit-image weggelassen wird, ruft das Skript auf:
POST <base_url>/images/generations
Bearbeiten Sie ein oder mehrere Referenzbilder, indem Sie --edit-image hinzufügen:
python3 scripts/generate_image.py \
--prompt "Wandle dieses Logo in kursiven Silber-zu-Schwarz-Verlaufstext um, während die genaue Schreibweise erhalten bleibt" \
--edit-image /absoluter/pfad/zum/input.png \
--out /absoluter/pfad/zum/bearbeitet.png \
--size 1024x1024 \
--quality high
Wenn --edit-image vorhanden ist, ruft das Skript auf:
POST <base_url>/images/edits
Für maskierte Bearbeitungen fügen Sie --mask /absoluter/pfad/zur/maske.png hinzu:
python3 scripts/generate_image.py \
--prompt "Ändere nur den Hintergrund in ein sauberes Studio-Grau und behalte das Motiv bei" \
--edit-image /absoluter/pfad/zum/source.png \
--mask /absoluter/pfad/zur/maske.png \
--out /absoluter/pfad/zum/bearbeitet.png \
--quality high
Wiederholen Sie --edit-image für Mehrbild-Bearbeitungen:
python3 scripts/generate_image.py \
--prompt "Kombiniere das Produkt aus Bild 1 mit der Hintergrundstimmung aus Bild 2" \
--edit-image /absoluter/pfad/zum/produkt.png \
--edit-image /absoluter/pfad/zum/hintergrund-referenz.png \
--out /absoluter/pfad/zum/kombiniert.png
Geben Sie immer einen absoluten --out-Pfad an, wenn der Benutzer die Datei an einem bestimmten Ort benötigt. Wenn weggelassen, schreibt das Skript eine zeitgestempelte PNG in das aktuelle Arbeitsverzeichnis.
Befehlsreferenz
--prompt Erforderlicher Bild-Prompt oder Bearbeitungsanweisung.
--out Ausgabebildpfad. Zusätzliche Ausgaben verwenden -2, -3 usw. vor der Erweiterung.
--config Privater Konfigurationspfad. Standard: ~/.config/gpt-image-2-apikey/config.json.
--model Modell aus der Konfiguration überschreiben.
--size Vom Anbieter unterstützte Bildgröße. Standard: 1024x1024.
--quality low, medium, high oder auto. Standard: auto.
--n Anzahl der Bilder. Standard: 1.
--format png, jpeg oder webp. Standard: png.
--edit-image Eingabebildpfad für /v1/images/edits. Wiederholbar.
--mask Optionaler PNG-Maskenpfad für Bearbeitungen.
--timeout HTTP-Timeout in Sekunden. Standard: 600.
--dry-run Gibt redigierten Endpunkt, Körper und Dateiliste aus, ohne die API aufzurufen.
Verwenden Sie --dry-run vor einem echten Aufruf, wenn Sie die Konfiguration, das Endpunkt-Routing oder prüfen möchten, ob eine Bearbeitung die beabsichtigte Eingabedatei verwendet:
python3 scripts/generate_image.py \
--prompt "nur Testlauf" \
--edit-image /absoluter/pfad/zum/input.png \
--out /absoluter/pfad/zum/output.png \
--dry-run
Die Trockenlauf-Ausgabe redigiert die Autorisierung als Bearer ***redacted***.
Anleitung zur Prompt-Erstellung
Für die Generierung:
- Geben Sie den Asset-Typ, das Motiv, den Stil, das Layout und den erforderlichen Text explizit an.
- Setzen Sie den exakten sichtbaren Text in Anführungszeichen.
- Fügen Sie „kein zusätzlicher Text, kein Wasserzeichen“ hinzu, wenn Sie an Logos, Postern oder UI-Grafiken arbeiten.
- Verwenden Sie
quality highfür finale Logos, typografielastige Bilder, Produktaufnahmen und polierte Lieferobjekte. - Verwenden Sie
quality lowfür günstige Exploration und schnelle Entwürfe.
Für Bearbeitungen:
- Beschreiben Sie die Änderung, nicht das gesamte Bild, es sei denn, das gesamte Bild soll neu interpretiert werden.
- Nennen Sie explizit, was erhalten bleiben muss: Textschreibweise, Layout, Komposition, Gesichtsidentität, Produktform, Farben oder Hintergrund.
- Wiederholen Sie bei textlastigen Grafiken die genaue Schreibweise und Groß-/Kleinschreibung im Prompt.
- Verwenden Sie Masken für chirurgische Bearbeitungen, wenn der Anbieter dies unterstützt.
Beispiel-Bearbeitungsprompt:
Bearbeite das bereitgestellte Logobild. Erhalte den genauen Text "JunXxxxi" und dasselbe Wortmarken-Layout. Mache die Buchstaben kursiv/schräg nach rechts. Ändere die Buchstabenfüllung in einen metallischen Verlauf von hellem Silber oben/links zu tiefem Schwarz unten/rechts. Behalte einen sauberen weißen Hintergrund. Füge keine zusätzlichen Wörter, Symbole, Wasserzeichen, Rahmen oder dekorativen Elemente hinzu.
Isolationsregeln
- Geben Sie den aktuellen Codex-API-Schlüssel nicht an diese Fähigkeit weiter oder kopieren Sie ihn nicht.
- Lesen Sie nicht
OPENAI_API_KEY; das Skript ignoriert diesen bewusst. - Geben Sie
api_keyoder Konfigurationsinhalte nicht aus. Das Skript meldet nur eine redigierte Konfigurationszusammenfassung in--dry-run. - Wenn die Konfiguration fehlt, teilen Sie dem Benutzer mit, dass er die private Konfigurationsdatei erstellen soll. Erstellen Sie sie nicht mit einem echten Geheimnis in seinem Namen, es sei denn, er fragt ausdrücklich danach.
- Wenn ein Anbieter einen OpenAI-kompatiblen Endpunkt verwendet, setzen Sie
base_urlin der privaten Konfiguration. Das Skript hängt/images/generationsfür die Generierung und/images/editsfür Bearbeitungen an.
Konfigurationshinweise
- Halten Sie
config.jsonaus Git heraus. Committen Sie niemals echte API-Schlüssel. - Verwenden Sie Dateimodus
600für die private Konfiguration. - Belassen Sie
base_urlauf der API-Wurzel (.../v1), es sei denn, der Anbieter dokumentiert etwas anderes. - Wenn der Anbieter benutzerdefinierte Anforderungsfelder erfordert, platzieren Sie sie unter
extra_body. - Wenn der Anbieter
gpt-image-2nicht unterstützt, setzen Siemodelauf den kompatiblen Modellnamen des Anbieters. - Wenn der Anbieter nur URL-Antworten unterstützt, lädt das Skript die zurückgegebene URL herunter.
- Wenn der Anbieter Base64-Bilder in
b64_jsonzurückgibt, dekodiert das Skript diese direkt. - Netzwerkaufrufe können Kosten auf dem konfigurierten Anbieterkonto verursachen.
Beispiel mit anbieterspezifischen Feldern:
{
"api_key": "Bild-Anbieter-Schlüssel-hier-einfügen",
"base_url": "https://example.com/v1",
"model": "gpt-image-2",
"extra_body": {
"moderation": "auto"
}
}
Fehlerbehandlung
- Fehlende Konfiguration oder fehlender
api_key: Melden Sie den Konfigurationspfad und die erforderlichen Felder. - HTTP-Fehler: Geben Sie den Statuscode und den Fehlertext des Anbieters aus, aber niemals den Schlüssel.
- Nicht unterstützte Anbieterantwort: Melden Sie die Antwort-Schlüssel der obersten Ebene und speichern Sie keine Datei.
- Mehrere Bilder: Das erste Bild verwendet
--out; zusätzliche Bilder erhalten-2,-3usw. vor der Erweiterung.
Einschränkungen
- Diese Fähigkeit ist ein API-Wrapper, kein vollständiger Grafikeditor. Verwenden Sie deterministische lokale Werkzeuge für exakte Zuschnitte, Größenänderungen, Vektorexporte oder garantierte pixelgenaue Typografieänderungen.
- Modellbasierte Bildbearbeitung kann exakten Text, Kerning oder Geometrie verändern. Überprüfen Sie das Ergebnis bei Logos und Wortmarken vor der Auslieferung.
- Die Kompatibilität von Multipart-Bearbeitungen kann je nach OpenAI-kompatiblem Anbieter variieren. Wenn Bearbeitungen fehlschlagen, die Generierung aber funktioniert, prüfen Sie, ob der Anbieter
/v1/images/editsmit Multipart-image-Uploads unterstützt. - Das Skript sendet Bearbeitungsbilder derzeit mit dem Multipart-Feldnamen
image[]für die Mehrbild-Kompatibilität. Wenn ein Anbieter einen anderen Feldnamen erfordert, passen Siescripts/generate_image.pyfür diesen Anbieter an. - Die echte Transparenz-Hintergrundunterstützung hängt von der Unterstützung des Anbieters/Modells ab. Wenn transparente PNGs erforderlich sind, überprüfen Sie den Alphakanal nach der Generierung.
Hinweise zur Veröffentlichung
Wenn Sie diese Fähigkeit auf GitHub veröffentlichen:
- Fügen Sie
SKILL.md,agents/openai.yamlundscripts/generate_image.pyein. - Fügen Sie
~/.config/gpt-image-2-apikey/config.jsonnicht ein. - Fügen Sie generierte Bilder nicht ein, es sei denn, es handelt sich um absichtliche Beispiele.
- Fügen Sie
.gitignore-Einträge für lokale Konfigurationen, Ausgaben und temporäre Bilder hinzu, wenn diese Fähigkeit in einem größeren Repository lebt.