GPT Image 2: Ihre erste Anfrage an die Image API
Senden Sie Ihre erste GPT Image 2-Anfrage über BetterToken, speichern Sie das b64_json-Bild und beheben Sie Key-, Modell- und Guthabenfehler.
Inhalt
Ihr erstes Bild über BetterToken erzeugen Sie mit einer einzigen HTTP-Anfrage. Sie benötigen Ihren eigenen API Key und eine POST-Anfrage an https://www.bettertoken.ai/v1/images/generations. Setzen Sie das Modell auf gpt-image-2 und übergeben Sie eine Textbeschreibung im Request-Body. Die Antwort enthält das Bild als b64_json, das Sie anschließend dekodieren und als Datei speichern.
BetterToken stellt eine OpenAI-kompatible Image API bereit, ist jedoch ein eigenständiger Dienst: Key, Guthaben und Anfrageverlauf gehören zu Ihrem BetterToken-Konto, nicht zu OpenAI. Erstellen Sie vor dem Start einen Key im BetterToken Dashboard und prüfen Sie die aktuellen Bedingungen auf der Seite für Modelle und Preise.
Was Sie benötigen
curl, um die Anfrage zu senden;- Ihren eigenen BetterToken API Key;
- die exakte Base URL
https://www.bettertoken.ai/v1; - das Modell
gpt-image-2für diese Image API; - einen Base64-Decoder oder ein kurzes Python-Skript.
Schreiben Sie keinen echten Key in Quellcode, Screenshots oder einen Befehl, der in der Shell-Historie verbleibt. Speichern Sie ihn in einer Umgebungsvariable:
export BETTERTOKEN_API_KEY="your_api_key_here"
Der Wert oben ist nur ein Platzhalter. Verwenden Sie Ihren eigenen Key und veröffentlichen Sie ihn nie.
Ihre erste Anfrage an GPT Image 2
Bereit für eine Anfrage mit Ihrem eigenen Key? Erstellen Sie ein BetterToken-Konto, beziehen Sie einen API Key und bewahren Sie ihn außerhalb des Quellcodes auf. BetterToken-Konto erstellen
Senden Sie eine Anfrage an den Endpoint für die Bildgenerierung:
curl https://www.bettertoken.ai/v1/images/generations \
-H "Authorization: Bearer $BETTERTOKEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "A clean editorial illustration of a coding desk at night, green and graphite palette",
"n": 1,
"size": "1024x1024",
"response_format": "b64_json",
"output_format": "png"
}' \
-o image-response.json
Dies ist ein synchroner Vertrag: Die gezeigte erste Anfrage benötigt keine separate task ID, kein polling und keinen callback. Lesen Sie data[0].b64_json, dekodieren Sie den Wert und speichern Sie das PNG.
Das Bild speichern
Das folgende Beispiel liest das JSON, dekodiert den Base64-Wert und erzeugt bettertoken-image.png. Es verwendet nur die Python-Standardbibliothek:
import base64
import json
with open("image-response.json", "r", encoding="utf-8") as source:
payload = json.load(source)
image_base64 = payload["data"][0]["b64_json"]
with open("bettertoken-image.png", "wb") as target:
target.write(base64.b64decode(image_base64))
print("Saved: bettertoken-image.png")
Öffnen Sie die Datei und prüfen Sie, ob sie zum Prompt passt. Ein HTTP 200 bestätigt zwar die Anfrage, ersetzt aber keine visuelle Prüfung des Ergebnisses.
Die zweite Anfrage verbessern
Verwenden Sie für den ersten Test einen kurzen Prompt mit vier klaren Teilen:
- Motiv oder Szene;
- visueller Stil;
- Komposition;
- Farbpalette oder Beleuchtung.
Zum Beispiel:
Editorial illustration of a developer reviewing an API response,
clean geometric style, centered composition, dark graphite background
with restrained green accents, no text, no logos
Beginnen Sie nicht mit einer langen Liste widersprüchlicher Anforderungen. Prüfen Sie erst die grundlegende Komposition und ändern Sie dann jeweils nur einen Parameter. So lässt sich leichter erkennen, welche Formulierung das Ergebnis verändert hat.
Größen, Qualität und Formate sind aktuelle Parameter: Wählen Sie vor einer zweiten Anfrage einen unterstützten Wert in den aktuellen Image API Docs. Dieser Vertrag bestätigt keine asynchronen tasks oder callbacks, keine Stapelverarbeitung, keine Verkäufer-Templates und keine garantierte Bildqualität.
Häufige Fehler
401: Key abgelehnt
Prüfen Sie, ob BETTERTOKEN_API_KEY im aktuellen Terminal gesetzt ist und der Authorization-Header das Präfix Bearer enthält. Geben Sie den Key nicht mit echo aus und senden Sie den vollständigen Wert nicht an den Support.
402 oder unzureichendes Guthaben
Öffnen Sie das BetterToken Dashboard und prüfen Sie das verfügbare Guthaben. Bezahltes BetterToken-Guthaben wird am Monatsende nicht automatisch zurückgesetzt, doch jede Anfrage benötigt weiterhin ausreichend Restguthaben.
404: falscher Pfad
Für die Bildgenerierung wird dieser vollständige Pfad verwendet:
https://www.bettertoken.ai/v1/images/generations
Ersetzen Sie ihn nicht durch den Chat-Completions-Endpoint und verwenden Sie nicht api.openai.com: Ein BetterToken-Key funktioniert mit dem BetterToken-Endpoint.
400: falsches Modell oder falsche Parameter
Beginnen Sie nur mit den Pflichtfeldern model und prompt. Dieser Leitfaden verwendet gpt-image-2. Wenn die API meldet, dass das Modell nicht verfügbar ist, vergleichen Sie aktuelle Model ID und Parameter mit der Image-API-Dokumentation.
429 oder 5xx
Starten Sie keine Endlosschleife für Wiederholungen. Notieren Sie HTTP-Status, Anfragezeit und einen sicheren Ausschnitt der Antwort und versuchen Sie es nach einer Wartezeit erneut. Im BetterToken Dashboard ordnen Sie die Anfrage über die Zeit zu und prüfen nur Modell, Status und die tatsächliche Belastung.
Prüfungen vor der Integration in eine Anwendung
Bevor Sie die Anfrage in ein Backend oder einen Automatisierungsablauf übernehmen, bestätigen Sie Folgendes:
- Der Key liegt in einer Umgebungsvariable oder einem Secrets Manager;
- die Anfrage geht an BetterToken und nicht an den Endpoint eines anderen Providers;
- Modell und Parameter stammen aus der aktuellen Dokumentation;
- der Base64-Payload lässt sich fehlerfrei dekodieren;
- die Anwendung begrenzt Wiederholungen und verarbeitet Nicht-2xx-Antworten;
- Kosten werden mit der aktuellen Preisseite und nicht mit einer alten Übersicht abgeglichen.
Kurzfassung
Der erste funktionierende Ablauf hat drei Schritte: Senden Sie eine POST-Anfrage an die BetterToken Image API, lesen Sie data[0].b64_json und dekodieren Sie den Wert in eine Datei. Prüfen Sie aktuelle Parameter und Preise vor der Anfrage.