Verwenden Sie spicyapi/object-eraser-v1/edit mit image_url und entweder einem kurzen prompt, einer mask_url oder beidem. Bei einer Maske gilt: Weiß bedeutet entfernen, Schwarz bedeutet behalten, und die Pixelmaße müssen mit dem Original übereinstimmen. Der Preis beträgt 0,03 $ pro ausgegebenem Bild, unabhängig davon, wie viele Objekte die Anfrage entfernt. Das Ergebnis behält die Originalgröße der Leinwand, und der ausgewählte Bereich wird mit Inhalten aus der umgebenden Szene gefüllt.
Prompt oder Maske wählen
Bei einem markanten Objekt mit Abstand zur Umgebung genügt als Start eine kurze Beschreibung:
der weiße Pappbecher auf dem Boden neben dem vorderen rechten Stuhlbein
Nennen Sie ein Substantiv, eine sichtbare Farbe oder ein Material und eine Position. „Mach die Szene sauber und hochwertig" benennt nicht, was verschwinden soll. Der Prompt darf 1 bis 1000 Zeichen lang sein, doch eine längere Beschreibung wählt nicht präziser aus.
| Situation | Passende Eingabe |
|---|---|
| Ein eindeutiger Becher auf freiem Boden | prompt, der diesen Becher benennt |
| Zwei ähnliche Becher, nur einer unerwünscht | mask_url über dem gemeinten Becher |
| Dünnes Kabel oder Objekt am Bildrand | mask_url; Beschreibungen verfehlen das oft |
| Eine Beschreibung könnte das falsche Objekt treffen | Beides senden: dasselbe Ziel beschreiben und markieren |
| Freigestellter Stuhl mit transparentem Hintergrund | Hintergrundentfernung |
| Mehr Platz um das Foto | Outpainting nach der Bereinigung |
Passt eine Beschreibung auf nichts, kommt das Bild unverändert zurück, und die Aufgabe gilt trotzdem als erfolgreich. Vergleichen Sie das Ergebnis daher mit dem Original, bevor Sie es als Entfernung werten.

Illustration möglicher Auswahlen. Alle markierten Objekte sind noch vorhanden; dies ist keine API-Ausgabe.
Zuerst im Playground ausprobieren
- Öffnen Sie die Object-Eraser-Seite, bleiben Sie auf dem Tab Playground in der Ansicht Form und melden Sie sich mit einem aufgeladenen Konto an, um zu starten.
- Fügen Sie das Foto unter Input image hinzu (JPG, PNG oder WebP, bis 10 MB). Ziehen Sie eine Datei hinein, fügen Sie über Asset URL und Add URL einen Link ein oder wählen Sie sie über das Dateifenster.
- Beschreiben Sie das Ziel entweder unter Prompt, oder laden Sie Ihr Schwarzweißbild unter Mask hoch, oder füllen Sie beides aus. Das Formular verlangt mindestens eines von beiden.
- Lassen Sie Output format auf PNG (JPEG und WebP erzeugen kleinere Dateien) und starten Sie. Der Preis beträgt 0,03 $ pro Bild.
- Öffnen Sie das Ergebnis neben dem Original und der Maske und nutzen Sie bei übrig gebliebenen Resten die Fehlertabelle weiter unten.
Das Feld Request body zeigt dasselbe JSON, das die API erwartet. Ein Prompt oder eine Maske, die hier funktioniert, lässt sich also direkt in Code übernehmen. Scheitert es hier, korrigieren Sie Prompt oder Maske, bevor Sie eine Zeile Code schreiben.
Die Maske für genau das Bild erstellen, das Sie senden
Kennen Sie die Region bereits (eine Detektor-Box oder eine Auswahl in der Oberfläche), erzeugen Sie die Maske im Code. Ihre Größe stammt vom Original und passt damit immer:
from PIL import Image, ImageDraw
src = Image.open("source.jpg") # apply EXIF rotation and crop first
mask = Image.new("L", src.size, 0) # black = keep
bbox = (src.width // 4, src.height // 3, src.width // 2, src.height // 2)
# Example coordinates only: adjust this box to the unwanted object in your photo.
ImageDraw.Draw(mask).rectangle(bbox, fill=255) # white = remove
mask.save("mask.png")Für unregelmäßige Formen bereiten Sie bei einem Original mit 2400×1600 Pixeln in einem Bildeditor eine Maske mit 2400×1600 Pixeln vor:
- Schließen Sie zuerst Drehung und Zuschnitt des Originals ab und speichern Sie dieses Arbeitsbild.
- Fügen Sie eine schwarze Ebene in voller Leinwandgröße hinzu und senken Sie beim Zeichnen ihre Deckkraft, damit das Ziel sichtbar bleibt.
- Malen Sie den Becher weiß, einschließlich seines unerwünschten Rands und seines Kontaktschattens, mit einem kleinen Spielraum, wo Platz ist. Das Stuhlbein bleibt schwarz.
- Stellen Sie die Ebene wieder auf volle Deckkraft und exportieren Sie sie allein als deckendes Schwarzweiß-PNG, nicht als abgedunkeltes Foto und nicht mit farbigen Anmerkungen.
- Legen Sie die exportierte Maske über das Arbeitsbild und prüfen Sie den weißen Bereich.
Gleiche Seitenverhältnisse genügen nicht: Beide Dateien brauchen dieselbe Breite, Höhe, denselben Zuschnitt und dieselbe Ausrichtung. Eine etwas großzügige Form funktioniert, wo nichts anderes in der Nähe liegt. Die Beispielmaske der Modellseite für ein Regal am Bildrand ist eine schwarze Fläche in Fotogröße mit einem einzigen schlichten weißen Rechteck über dem Regal.
Schatten und Spiegelungen können außerhalb der Silhouette des Objekts liegen. Malen Sie eine unerwünschte Spiegelung als eigenen weißen Bereich. Überlappt der Schatten des Bechers den Standschatten des Stuhls, malen Sie nicht die ganze dunkle Fläche weiß, sonst kann der Stuhl zu schweben scheinen. Die Maske markiert, was entfernt wird; sie liefert weder den verdeckten Boden noch die Geometrie des Produkts.
Führen Sie große oder überlappende Entfernungen als getrennte Durchgänge aus und bauen Sie jede Maske auf dem akzeptierten vorherigen Ergebnis auf. Zwei kleine Objekte in einer Anfrage kosten 0,03 $; zwei getrennte Anfragen kosten 0,06 $. Halten Sie Masken- und Bilddateinamen als Paar zusammen, damit eine ältere Auswahl nicht unbemerkt ein neueres Foto bearbeitet.
Danach per Code ausführen
Installieren Sie das Python-SDK (pip install spicyapi), setzen Sie SPICY_API_KEY in Ihrer Serverumgebung und führen Sie die folgende Anfrage aus. Sie nutzt das Beispielfoto der Modellseite und läuft daher unverändert. Dateien von Ihrem Rechner gehen über client.upload_file und kommen als spicy://-Adresse zurück. Für eine Maske fügen Sie "mask_url" mit Ihrer eigenen Datei hinzu, die dieselbe Pixelgröße wie das Foto hat.
import uuid
from spicyapi import SpicyClient, output_assets
client = SpicyClient() # reads SPICY_API_KEY from the environment
task = client.create_task(
model="spicyapi/object-eraser-v1/edit",
input_data={
"image_url": "https://cdn.spicyapi.ai/models/examples/inputs/fbc8d531c80e6d0d.jpeg",
"prompt": "the wooden ladle lying across the sauna stones at the left",
"output_format": "png",
},
idempotency_key=str(uuid.uuid4()),
)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
raise RuntimeError(f"{task['taskId']} ended as {final['state']}: {final.get('errorCode')}")
print(output_assets(final)[0]["url"]) # copy the image to your own storage nowUploads, Erstellen, Warten, Herunterladen, Wiederholungen und Fehlercodes behandeln der Tasks-Leitfaden und die Python-SDK-Referenz. Erzeugte Dateien werden höchstens 14 Tage aufbewahrt, kopieren Sie das Ergebnis also in Ihren eigenen Speicher.
Oder einen Agenten ausführen lassen
Soll ein Assistent die Bearbeitung übernehmen, zeigen alle drei offiziellen Werkzeuge den Preis an und fragen vor einem kostenpflichtigen Aufruf nach.
- CLI. Laden Sie Foto und Maske hoch und erstellen Sie dann die Aufgabe:
``bash spicyapi files upload photo.jpg spicyapi tasks create --model spicyapi/object-eraser-v1/edit --input-file input.json --wait ``
Tragen Sie die zurückgegebenen spicy://-Adressen in input.json als image_url und mask_url ein. Siehe die CLI-Dokumentation; npx @spicyapi/cli funktioniert ohne Installation.
- MCP-Server. Fügen Sie den MCP-Server Ihrem Assistenten hinzu und fragen Sie: „Entferne den weißen Pappbecher aus diesem Foto mit Object Eraser; die Datei liegt unter /path/to/photo.jpg." Er lädt die Datei mit
spicyapi_upload_filehoch und ruftspicyapi_task_createauf, das zur Preisbestätigung anhält, danachspicyapi_task_wait. - Skill.
npx skills add spicyapi-ai/spicy-skillinstalliert den Agent Skill, mit dem ein Coding-Assistent das aktuelle Modellschema liest, statt Felder zu raten.
Den konkreten Fehler beheben
Öffnen Sie erased.png neben dem Original und der Maske. Prüfen Sie zuerst, wo die Auswahl auf erhaltene Inhalte trifft, dann die Mitte der Füllung.
| Ergebnis | Was zu ändern ist |
|---|---|
| Der Becher ist nach einer reinen Prompt-Anfrage noch da | Wechseln Sie zu einer Maske über diesem Becher. |
| Das Kabel bleibt am Rand | Malen Sie seine gesamte sichtbare Länge auf einer Maske in voller Auflösung weiß. |
| Ein schwacher Umriss bleibt sichtbar | Erweitern Sie die Auswahl etwas über den Objektrand hinaus, ohne benachbarte Produktkanten abzudecken. |
| Der Becher ist weg, aber ein dunkles Oval bleibt | Nehmen Sie den Kontaktschatten des Bechers getrennt vom Schatten des Stuhls in die Maske auf. |
| Ein Teil des Stuhlbeins wird falsch rekonstruiert | Verkleinern Sie die Maske dort, wo sie das Bein bedeckt. Verdeckt der Becher das Bein selbst, nehmen Sie ein anderes Ausgangsfoto. |
| Ein Differenzvergleich zeigt scheinbar das ganze Bild verändert | Gleichen Sie zuerst Drehung und Größe an; Kompressionsrauschen allein ist keine Bearbeitung. Prüfen Sie feste Orientierungspunkte. |
| Die Anfrage liefert 400 | Prüfen Sie, ob Prompt und Maske fehlen oder ob Felder gesendet wurden, die das Modell nicht hat, etwa strength, mask_blur oder transparent_background. Für eine abgelehnte Anfrage wird nichts berechnet. |

Illustration der Prüfung von Schatten und Spiegelungen. Sie zeigt keine abgeschlossene Entfernung.
Das Modell rekonstruiert den verdeckten Hintergrund; was wirklich hinter dem Objekt war, kann es nicht aufdecken. Akzeptieren Sie bei einem Produktfoto kein erfundenes Stuhlgelenk und keine veränderte Polsternaht, nur weil der Boden sauberer aussieht. Fotografieren Sie neu, wenn das entfernte Objekt ein Detail verdeckt, das die Produktseite korrekt zeigen muss.
SpicyAPI setzt für dieses Modell keine Sicherheitsprüfung ein; das Modell selbst entscheidet, was zurückkommt.
Bewahren Sie Original und Maske zusammen mit dem akzeptierten Ergebnis auf und fügen Sie nur für ein bestimmtes verbliebenes Objekt einen weiteren Durchgang hinzu. Auf dem Tab Examples der Modellseite sehen Sie echte Vorher-nachher-Ergebnisse.






