Skip to Content
ModelleGPT ImageInpainting

Inpainting

Einen Bereich mit einer Maske markieren und nur diesen Bereich neu malen; alles andere bleibt unverändert.

Sie schreiben keinen Code? Siehe Bilder in Ihren eigenen Tools generieren.

POST/v1/images/editsGemeinsame Parameter

Vorbereitung

Sie benötigenDetails
API-SchlüsselErstellen Sie einen in der OfoxAI-Konsole  und ersetzen Sie YOUR_OFOX_API_KEY im Code
UmgebungcURL benötigt jq zum Dekodieren des Bildes; Python benötigt pip install openai sowie pip install pillow zum Erzeugen der Maske; Node.js 18 oder neuer, keine Abhängigkeiten
BilderLegen Sie eine input.png und eine gleich große mask.png in das aktuelle Verzeichnis. Noch keine Maske? Schritt 1 unten zeigt, wie Sie eine erstellen
TimeoutSetzen Sie das Client-Timeout auf 600 Sekunden. Hohe Qualität, große Formate oder Bearbeitungen können mehrere Minuten dauern
Im Code verwendete Werte
API-URLhttps://api.ofox.io/v1
Modell-IDopenai/gpt-image-2.5-flare
API-SchlüsselErsetzen Sie YOUR_OFOX_API_KEY im Code durch Ihren Schlüssel
Python-Abhängigkeitenpip install openai pillowpillow wird zum Erstellen der Maske verwendet

Anforderungen an die Maske

Original
+
MaskeMitte transparent, sonst deckend
→
Ergebnisnur der transparente Bereich wird neu gemalt

Schematische Darstellung, kein tatsächlich generiertes Ergebnis

  • Ein PNG mit Alphakanal. JPEG und deckende PNGs funktionieren nicht.
  • Exakt dieselbe Größe wie das Originalbild.
  • Transparente Pixel werden neu gemalt; deckende Pixel behalten das Original.
  • Wirkt nur am Bearbeitungs-Endpunkt. An Text zu Bild gesendet, wird sie ignoriert.

Schritte

Eine Maske erstellen

Überspringen Sie diesen Schritt, wenn Sie bereits eine Maske haben.

Dieses Snippet liest input.png aus dem aktuellen Verzeichnis, macht das mittlere Quadrat von 40 % transparent und speichert das Ergebnis als mask.png.

make_mask.py
from PIL import Image, ImageDraw src = Image.open("input.png") mask = Image.new("RGBA", src.size, (0, 0, 0, 255)) # fully opaque = keep everything w, h = src.size ImageDraw.Draw(mask).rectangle( # transparent area = what gets repainted (int(w * 0.3), int(h * 0.3), int(w * 0.7), int(h * 0.7)), fill=(0, 0, 0, 0) ) mask.save("mask.png")

Die Anfrage senden

Jedes der folgenden Beispiele wurde unverändert ausgeführt. Das Ergebnis wird als output.png im aktuellen Verzeichnis gespeichert.

Terminal
# mask.png: same size as input.png, with an alpha channel; transparent area = what gets repainted curl -s https://api.ofox.io/v1/images/edits \ -H "Authorization: Bearer YOUR_OFOX_API_KEY" \ -F "model=openai/gpt-image-2.5-flare" \ -F "image=@input.png" \ -F "mask=@mask.png" \ -F "prompt=An orange cat sitting in the center, background and everything else unchanged" \ -F "quality=low" \ -o response.json jq -r '.data[0].b64_json' response.json | base64 --decode > output.png

Den Prompt formulieren

Beschreiben Sie das gesamte Bild so, wie es danach aussehen soll, nicht nur, was hinzugefügt werden soll.

PromptGemessenes Ergebnis
✅Eine orangefarbene Katze sitzt in der Mitte, Hintergrund und alles andere unverändertEine Katze in der Mitte; der Rest unverändert
❌Zeichne eine Katze in den transparenten BereichDas Modell behandelte „transparent“ als Bildinhalt und zeichnete einen Schachbrett-Hintergrund

Gemessenes Ergebnis

Außerhalb der Maske ändert sich das Bild kaum: Die mittlere Pixelabweichung vom Original liegt unter 2/255.

Zum Vergleich: Die Bearbeitung desselben Bildes ohne Maske veränderte denselben Bereich um 120/255.

Fehlerbehebung

SymptomUrsacheLösung
Fehler Invalid image file or modeDie Maske ist kein PNG mit AlphakanalErzeugen Sie sie mit dem Code aus Schritt 1 oben neu
Das gesamte Bild hat sich verändertDie Maske hatte keine Wirkung: Sie wurde an den Text-zu-Bild-Endpunkt gesendet, oder die Maske ist vollständig deckendPrüfen Sie, dass Sie /v1/images/edits aufrufen und die Maske einen transparenten Bereich hat
Ein Schachbrett-Hintergrund erschienDer Prompt erwähnte „den transparenten Bereich“Beschreiben Sie das gesamte Bild, wie unter Den Prompt formulieren gezeigt

Weitere Fehler finden Sie in der vollständigen Fehlertabelle.

Offizielle Dokumentation

Die Dokumentation von OpenAI beschreibt das Verhalten bei direktem Aufruf von OpenAI. Beim Aufruf über OfoxAI haben die gemessenen Ergebnisse auf diesen Seiten Vorrang. So müssen Sie beispielsweise für die Bearbeitung keinen Anbieter festlegen.

Last updated on