Skip to Content

Images API

Zwei Endpunkte: Generieren (Text → Bild) und Bearbeiten (Bild + Text → Bild). Die Antworten folgen der OpenAI-Standardstruktur data[0].b64_json.

Bildmodelle der Gemini-Reihe (z. B. google/gemini-3.1-flash-image-preview) können an diesem Endpunkt nur generieren, nicht bearbeiten. Zum Bearbeiten nutze das native Gemini-Protokoll.

Bilder generieren

POST https://api.ofox.ai/v1/images/generations

Mit gpt-image-2

gen.py
import base64 from openai import OpenAI client = OpenAI(api_key="YOUR_OFOX_API_KEY", base_url="https://api.ofox.ai/v1") resp = client.images.generate( model="openai/gpt-image-2", prompt="A simple red apple on a white table", size="1024x1024", quality="low", output_format="png", ) with open("output.png", "wb") as f: f.write(base64.b64decode(resp.data[0].b64_json))

Tatsächliches Ergebnis:

Mit gpt-image-2 generierter roter Apfel

Mit gemini-3.1-flash-image-preview

Derselbe Endpunkt akzeptiert auch Gemini-Bildmodelle. Übergib n nicht — das Gateway mappt n fälschlicherweise auf das Feld numberOfImages und gibt 400 zurück; pro Aufruf wird genau 1 Bild erzeugt.

gen_gemini.py
import base64 from openai import OpenAI client = OpenAI(api_key="YOUR_OFOX_API_KEY", base_url="https://api.ofox.ai/v1") resp = client.images.generate( model="google/gemini-3.1-flash-image-preview", prompt="A simple red apple on a white table, photorealistic", size="1024x1024", quality="low", output_format="png", ) with open("output.png", "wb") as f: f.write(base64.b64decode(resp.data[0].b64_json))

Tatsächliches Ergebnis:

Mit Gemini generierter roter Apfel

Parameter

ParameterTypPflichtBeschreibung
modelstringopenai/gpt-image-2, google/gemini-3.1-flash-image-preview
promptstringBeschreibung in natürlicher Sprache
qualitystringauto / low / medium / high / standard / hd
nnumber1–10, Standard 1. Von Gemini-Modellen nicht unterstützt
sizestringauto / 1024x1024 / 1536x1024 / 1024x1536 / 256x256 / 512x512 / 1792x1024 / 1024x1792
output_formatstringpng / jpeg / webp
backgroundstringtransparent / opaque / auto
streambooleanStandard false

Antwort

{ "created": 1777385517, "data": [ { "b64_json": "<Bild Base64>", "index": 0 } ], "model": "openai/gpt-image-2", "size": "1024x1024", "quality": "low", "usage": { "input_tokens": 14, "input_tokens_details": { "text_tokens": 14 }, "output_tokens": 208, "total_tokens": 222 } }

Das Bild liegt in data[0].b64_json; einfach Base64-dekodieren und speichern.

Bilder bearbeiten

POST https://api.ofox.ai/v1/images/edits

multipart/form-data, eine Bilddatei muss hochgeladen werden.

Dieser Endpunkt unterstützt ausschließlich OpenAI- / Azure-OpenAI-Modelle. Ein Aufruf mit google/gemini-3.1-flash-image-preview liefert Image editing is not supported for model zurück — nutze stattdessen Bildbearbeitung über das native Gemini-Protokoll.

Aufruf

edit.py
import base64 from openai import OpenAI client = OpenAI(api_key="YOUR_OFOX_API_KEY", base_url="https://api.ofox.ai/v1") with open("apple.png", "rb") as f: resp = client.images.edit( model="openai/gpt-image-2", image=f, prompt="Mach den Apfel grün, lass alles andere unverändert", size="auto", quality="low", ) with open("apple_edited.png", "wb") as out: out.write(base64.b64decode(resp.data[0].b64_json))

Im Feld image wird ein lokaler Dateipfad übergeben (in cURL mit @-Präfix), keine URL.

Direkter Vergleich:

OriginalNach Bearbeitung
Originaler roter ApfelBearbeiteter grüner Apfel

Parameter

ParameterTypPflichtBeschreibung
modelstringEmpfohlen openai/gpt-image-2
imagefilePNG- / JPEG-Datei
promptstringBearbeitungsanweisung
qualitystringlow / medium / high
nnumberStandard 1
sizestringauto bedeutet identisch mit dem Originalbild

Antwort

Identisch zum Generieren:

{ "created": 1777385669, "data": [ { "b64_json": "<Bearbeitetes Bild Base64>", "index": 0 } ], "model": "openai/gpt-image-2", "size": "auto", "quality": "low", "usage": { "input_tokens": 1041, "input_tokens_details": { "image_tokens": 1024, "text_tokens": 17 }, "num_input_images": 1, "output_tokens": 358, "total_tokens": 1399 } }

usage.input_tokens_details.image_tokens sind die vom Eingabebild verbrauchten Tokens, num_input_images ist die Anzahl der Eingabebilder.

Unterstützte Modelle und Preise findest du im Modellkatalog .

Last updated on