
Background-Removal-API: Kosten pro verwertbarem Bild
Background Removal API Preise ab Live-Kalkulation, dann abgelehnte Ausgaben, Wiederholungen, Speicher und Review addieren für echte Bildkosten.
Die aktuelle Background Removal API Preisgestaltung für mj-v7-remove-bg beträgt 88 Credits, oder $0.088 pro abgeschlossener Anfrage, beim Check am 3. September 2026. Das ist die richtige Ausgangszahl für ein Request-Budget. Es ist nicht automatisch die Kosten eines verwertbaren Zuschnitts.
Ein fertig gestelltes Bild kann einen Halo haben, eine Griff-Öffnung verlieren, einen Schatten abflachen oder in einem Format ankommen, das der nächste Service nicht verarbeiten kann. Diese Anleitung zeigt, wie die Route aufgerufen wird, sicher abgefragt wird, die endgültige Gebühr überprüft wird, und die Kosten pro Bild berechnet werden, das tatsächlich die Überprüfung besteht.
TL;DR
- Der Live-Estimator gab 88 Credits ($0.088) pro abgeschlossener
mj-v7-remove-bgAnfrage am 3. September 2026 zurück. Ein Credit kostet $0.001.[1] - Die Anfrage nimmt genau eine öffentliche HTTP(S)-URL. Sie nimmt keinen Prompt, keine Auflösung, kein Speed-Flag und keine übergeordnete Task-ID.[2]
- Der Betrieb ist asynchron: einmal absenden, die zurückgegebene Task-ID speichern und die Task-Route abfragen. Abfragen verbrauchen keine Credits.[3]
- Budget mit
Gesamtgebühr / akzeptierte Ausgaben, nicht die Anzahl der eingereichten Dateien. Bei 80% Akzeptanzrate werden $0.088 pro Anfrage zu $0.11 pro verwertbarem Bild. - Eine fehlgeschlagene Task mit
usage.credits: 0wurde erstattet. Ein fertig gestelltes Ergebnis, das ein Team wegen schlechter Kanten ablehnt, war trotzdem fertig gestellte Arbeit, also addieren es in die Berechnung verwertbarer Bilder.[3] - Führe einen kleinen Testsatz aus deinem eigenen Katalog durch, bevor du Volumen übernimmst. Ein sauberes Produktfoto sagt wenig über Haare, Glas, niedriges Kontrast oder Objekte mit Löchern aus.
Warum der angegebene Preis selten die entscheidende Zahl ist
Wenn deine App bei Tausenden hochgeladenen Bildern den Hintergrund entfernt, wie vergleichst du Dienste, wenn Preis, Kantenqualität, Antwortzeit, Auflösung und Dateiübergabe gemeinsam das Ergebnis bestimmen? Der Listenpreis allein beantwortet diese Frage nicht. Die nützliche Rechnung ist enger gefasst:
Kosten pro verwertbarem Bild = Gesamtgebühr der API / Bilder, die die Überprüfung bestehenDieser Nenner ändert die Entscheidung. Ein billiger Endpunkt, der feine Kanten beschädigt, kann am Ende mehr kosten als ein höher bewerteter, wenn Wiederholungen und manuelle Bereinigung addiert werden.
Was der aktuelle Hintergrund-Entfernungs-API-Preis kauft
Die Live-Midjourney V7 Modellseite listet Remove BG als leichte Bearbeitung. Die aktuelle Anfragekalkulation erfolgt in ganzen Credits, und die Live-Kalkulation für die erforderliche Nutzlast beträgt 88 Credits.[1] Da ein Credit gleich $0.001 ist, verwende $0.088 in einem Budget.
| Anfragen | API-Gesamtbetrag bei 88 Credits | Was die Zahl annimmt |
|---|---|---|
| 1 | $0.088 | Eine abgeschlossene Entfernungsanfrage |
| 10 | $0.88 | Zehn abgeschlossene Anfragen, vor Akzeptanz-Überprüfung |
| 100 | $8.80 | Keine fertig gestellte Ausgabe abgelehnt |
| 1.000 | $88.00 | Keine Speicher-, Überprüfungs- oder Transformationskosten |
| 10.000 | $880.00 | Gleiche Rate und 100% akzeptierte Ausgaberate |
Du siehst die Operation möglicherweise als $0.0873 in einem detaillierten Preisetikett angezeigt. Verwende diese Bruchzahl nicht zur Abstimmung eines Credit-Saldos. Die öffentliche Preistabelle und der Estimator zeigen die zahlbare Einheit als 88 ganze Credits oder $0.088. Prüfe die Live-Modellseite erneut vor einem großen Durchlauf, da sich die Preise ändern können.
Die API-Gesamtsumme schließt die Arbeit rund um den Anruf aus:
- die Quelle an einer URL hosten, die der Service abrufen kann;
- das Ergebnis herunterladen und speichern;
- Transparenz, Abmessungen und Dateikompatibilität überprüfen;
- menschliche Überprüfung oder automatisierte Qualitätsprüfungen;
- fertig gestellte Ausgaben, die deine Akzeptanzregeln nicht bestehen;
- Größenänderung, Farbkorrektur, Schattenneuaufbau oder spätere Zusammensetzung.
Für einen Prototyp können diese Kosten zu vernachlässigen sein. Bei Katalog-Umfang gehören sie in die gleiche Kalkulationstabelle wie das API-Leitenelement.
Eine Quell-URL, kein Prompt und keine übergeordnete Task
mj-v7-remove-bg ist einfacher als die anderen Midjourney V7 Bearbeitungsvorgänge. Es verkettet nicht aus einer früheren Generierung. Sende das Bild, das du bereits hast, in image_urls.[2]
| Feld | Erforderlich | Akzeptierter Wert |
|---|---|---|
model | ja | mj-v7-remove-bg |
image_urls | ja | Ein Array, das genau eine öffentliche HTTP(S)-Bild-URL enthält |
prompt | nicht akzeptiert | Sende es nicht |
model_params | nicht akzeptiert | Keine Speed-, Task-ID- oder Bearbeitungsoptionen |
size / resolution | nicht akzeptiert | Die Route bietet keine Ausgabegrößen-Kontrolle |
Das Schema ist streng. Das Hinzufügen von Feldern, die von einem anderen Image-Modell kopiert werden, ist kein harmloser No-Op; es macht die Anfrage ungültig. Base64-Zeichenketten, data:-URLs, lokale Pfade und authentifizierte browsergesteuerte Links sind auch die falsche Eingabe. Lade die Quelle in Speicher, den du kontrollierst, hoch und bestätige, dass sie ohne Cookie oder Login geladen wird.
Hier ist die komplette cURL Anfrage:
curl https://reapi.ai/api/v1/images/generations \
-H "Authorization: Bearer $REAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "mj-v7-remove-bg",
"image_urls": [
"https://your-cdn.example/catalog/source-product.png"
]
}'Eine gültige Übermittlung gibt einen Task-Datensatz im processing Zustand zurück. Speichere seine id. Das endgültige Bild kommt nicht in der POST-Antwort an.
Einmal einreichen, dann mit Frist abfragen
Die sicherste Anfänger-Implementierung hat zwei separate Aktionen: eine POST, die den Job erstellt, gefolgt von begrenzten GET-Anfragen, die seinen Status lesen. Platziere die POST nicht in der Polling-Schleife.
Dieses Node.js-Beispiel fragt alle 2,5 Sekunden ab und verwendet einen 15-Minuten-lokalen Termin. Die Task-Referenz empfiehlt ein Zwei-bis-Drei-Sekunden-Tempo und erklärt, dass In-Flight-Task-Lesevorgänge zwischengespeichert sind, sodass schnelleres Polling Request-Druck hinzufügt, ohne dass das Bild schneller fertig wird.[3]
const API_BASE = 'https://reapi.ai/api/v1';
const API_KEY = process.env.REAPI_API_KEY;
const sourceUrl = process.argv[2];
if (!API_KEY) throw new Error('Set REAPI_API_KEY');
if (!sourceUrl) throw new Error('Pass one public source image URL');
const headers = {
Authorization: `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
};
async function readJson(response) {
const body = await response.json();
if (!response.ok) {
const code = body.error?.code ?? response.status;
const message = body.error?.message ?? 'Request failed';
throw new Error(`${code}: ${message}`);
}
return body;
}
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
async function getTask(taskId) {
for (let attempt = 0; attempt < 4; attempt += 1) {
let response;
try {
response = await fetch(`${API_BASE}/tasks/${taskId}`, {
headers: { Authorization: `Bearer ${API_KEY}` },
signal: AbortSignal.timeout(15_000),
});
} catch (error) {
if (attempt === 3) throw error;
await sleep(1000 * 2 ** attempt);
continue;
}
if (response.status === 429) {
const seconds = Number(response.headers.get('retry-after'));
await response.body?.cancel();
await sleep(Number.isFinite(seconds) ? seconds * 1000 : 5000);
continue;
}
if ([502, 503, 504].includes(response.status)) {
await response.body?.cancel();
await sleep(1000 * 2 ** attempt);
continue;
}
return readJson(response);
}
throw new Error(`Task ${taskId} could not be read after transient errors`);
}
async function removeBackground(imageUrl) {
const submitted = await readJson(
await fetch(`${API_BASE}/images/generations`, {
method: 'POST',
headers,
body: JSON.stringify({
model: 'mj-v7-remove-bg',
image_urls: [imageUrl],
}),
signal: AbortSignal.timeout(30_000),
})
);
const deadline = Date.now() + 15 * 60 * 1000;
while (Date.now() < deadline) {
await sleep(2500);
const task = await getTask(submitted.id);
if (task.status === 'completed') {
const urls = task.output?.image_urls ?? [];
if (urls.length === 0) {
throw new Error('Task completed without an image URL');
}
return {
taskId: task.id,
imageUrls: urls,
credits: task.usage?.credits,
};
}
if (task.status === 'failed') {
const code = task.error?.code ?? 'UNKNOWN_TASK_ERROR';
const message = task.error?.message ?? 'Background removal failed';
const credits = task.usage?.credits ?? 'unknown';
throw new Error(
`${code}: ${message}; task=${task.id}; settled_credits=${credits}`
);
}
}
throw new Error(`Polling deadline reached for task ${submitted.id}`);
}
removeBackground(sourceUrl)
.then(console.log)
.catch((error) => {
console.error(error.message);
process.exitCode = 1;
});Führe es mit aus:
REAPI_API_KEY=rk_live_xxx node remove-background.mjs \
https://your-cdn.example/catalog/source-product.pngIn der Produktion schreibe die Task-ID in deine Datenbank, bevor du vom Submit-Handler zurückkehrst. Ein Worker kann dann nach einem Prozess-Neustart das Polling fortsetzen. Behalte den API-Schlüssel auf dem Server; platziere ihn niemals in Browser-JavaScript oder einem Mobile-App-Bundle.
Was eine ausfallende Live-Anfrage tatsächlich kostete
Wir reichten eine mj-v7-remove-bg Anfrage ein, während wir diesen Leitfaden am 3. September 2026 prüften, mit einem eigenen Mug-Foto.
Die API akzeptierte die strikte Nutzlast als Task
task_01a065b32dbe771eb5babd28de9b38d9, aber sie endete später in failed Status
mit Fehlercode 80003 und der
Nachricht Service authentication failed. Sie gab keine Ausgabe zurück und
usage.credits: 0, daher betrugen die endgültigen Kosten
$0, nicht $0.088.
Wir reichten die unveränderte Anfrage nicht erneut ein, nur um ein erfolgreiches Beispiel herzustellen. Dieser einzelne Durchlauf bestätigt den Task- und Rückerstattungspfad; er sagt nichts über Zuschnittqualität, Dateityp, Abmessungen, Alpha-Unterstützung oder normale Fertigstellungszeit aus. Die 88-Credit-Ziffer oben bleibt die Live-Kalkulation für eine Anfrage, die fertig wird. Lies immer den terminalen Task statt die Einreichungsanzahl mit dem beworbenen Rate zu multiplizieren.[3]
Anfrage-Preis in Kosten pro verwertbarem Bild umwandeln
Beginne mit einer Akzeptanzregel, nicht einer Prozentrate, die du erreichst. Dann miss die Prozentrate auf einer Stichprobe aus der Arbeitslast, die du versenden möchtest.

Wenn jede fertig gestellte Anfrage einen Kandidaten erzeugt, ist die Planungsgleichung:
verwertbare Bildkosten = $0.088 / AkzeptanzrateDie Tabelle unten enthält Szenarien, keine gemessene Modellqualität:
| Angenommene Akzeptanzrate | Anfragen für 1.000 akzeptierte Bilder | API-Gesamtsumme | Kosten pro verwertbarem Bild |
|---|---|---|---|
| 100% | 1.000 | $88.000 | $0.0880 |
| 95% | 1.053 | $92.664 | $0.0927 |
| 90% | 1.112 | $97.856 | $0.0979 |
| 80% | 1.250 | $110.000 | $0.1100 |
| 50% | 2.000 | $176.000 | $0.1760 |
Verwende für den Zähler endgültige Task-Daten. Die Task-Antwort gibt
usage.credits in jedem Status an. processing plus null bedeutet, dass die Abrechnung nicht
abgesetzt hat. completed zeigt die berechneten Credits. failed plus null bedeutet, dass die
Reservierung erstattet wurde; ein positiver Wert bedeutet, dass eine dokumentierte Gebühr beibehalten wurde.[3]
Diese Unterscheidung verhindert zwei Buchhaltungsfehler. Zähle keine erstattete Provider-Fehler als bezahlte Ausgabe, und lösche keinen fertig gestellten, aber hässlichen Zuschnitt aus den Ausgaben. Es verbrauchte trotzdem eine bezahlte Anfrage.
Entscheide, was "verwertbar" bedeutet, bevor der Test
Eine visuelle Prüfung ist zu vage für einen wiederholbaren Benchmark. Schreibe eine kurze Rubrik vor dem Einreichen der Stichprobe, dann wende die gleichen Prüfungen auf jedes Ergebnis an.
Transparenz und Kantenintegrität
Öffne die heruntergeladene Datei in einem Tool, das ein Alpha-Schachbrett zeigt. Ein weißer Hintergrund ist nicht Transparenz. Überprüfe die volle Silhouette bei 100% und 400% Zoom auf weiße oder dunkle Halos, fehlende Pixel und Chunks des alten Hintergrunds.
Löcher, feine Details und schwierige Materialien
Füge Beispiele mit Griff-Öffnungen, Riemen, Speichen, lose Haare, Fell und Laub hinzu. Addiere Glas, durchscheinende Verpackung, glänzendes Metall und niedriges Kontrast Objekt-Kanten, wenn diese in deinem echten Katalog erscheinen. Ein Modell, das einen dunklen Becher auf Weiß besteht, kann trotzdem eine klare Flasche oder ein blass Objekt auf Beige nicht bestehen.
Produktdetails und Schatten
Bestätige, dass Etiketten, gedruckter Text, dünne Anbauten und der Produkt-Umriss sich nicht änderten. Entscheide, ob ein Kontaktschatten behalten, aufgeweicht oder entfernt werden soll. Verschiedene Ziele brauchen verschiedene Antworten, sodass "Schatten entfernt" nicht automatisch ein Bestehen ist.
Datei-Vertrag
Erfasse MIME-Typ, Erweiterung, Breite, Höhe, Byte-Größe, Alpha-Präsenz und die
Anzahl der zurückgegebenen URLs. Der öffentliche Vertrag gibt output.image_urls zurück, aber
er verspricht keine spezifische Erweiterung oder Pixelgröße für diesen Vorgang.
Teste die echte Datei gegen die nächste API, das Designtool oder den Marktplatz-Importer
in deiner Pipeline.
Ein nützlicher Pilot ist groß genug, um die Schwierigkeitsfälle zu vertreten, nicht nur die leichten. Zehn bis dreißig eigene Bilder können offensichtliche Inkompatibilitäten aufdecken. Ein endgültiger Beschaffungs-Benchmark sollte die Verteilung deines echten Katalogs folgen.
Fehler ohne eine Kosten-Schleife wiederholen
Wiederholungsregeln sollten den Fehler nutzen, nicht Frustration. Die öffentliche Fehler-Referenz trennt ungültige Eingabe, Authentifizierung, unzureichendes Saldo, Rate-Limits, Kapazitätsfehler und terminale Workflow-Fehler.[4]
| Ergebnis | Was zu tun ist |
|---|---|
| HTTP 400, 401, 402 oder 404 | Behebe die Anfrage, Anmeldedaten, Saldo oder Task-ID. Wiederhole nicht unverändert. |
| HTTP 429 | Warte auf Retry-After, dann wiederhole den gleichen Lesvorgang oder sichere Operation. |
| HTTP 502, 503 oder 504 | Sichern Sie exponentiell ab und begrenzen Sie Versuche. |
Task failed | Lese error.code und usage.credits, bevor du entscheidest, ob du erneut einreichst. |
Task completed, QA fehlgeschlagen | Ändere die Quelle oder leite das Bild zur manuellen Bereinigung; Deckelzahlzahl-Wiederholungen. |
Behalte die Submit-Aktion außerhalb automatischer Polling-Wiederholungen. Sobald eine POST eine Task-ID zurückgibt, sollte jede später Prüfung ein GET für diese Task sein. Für ein fertig gestelltes Bild das deine Rubrik nicht besteht, könnte eine zweite identische Anfrage das gleiche Kantenproblem reproduzieren. Die Eingabe-Zuschnitt, Kontrast oder Vorverarbeitung zu ändern ist nützlicher als eine unbegrenzte Wiederholung.
Lade akzeptierte Dateien zu deinem eigenen Speicher herunter, sobald die Task fertig wird. Die Task-Dokumentation sagt, dass Ausgabe-URLs auf das CDN erneut gehostet werden, aber verspricht nicht lange Aufbewahrung.[3]
Gehostete Route versus eine offizielle Midjourney-API
mj-v7-remove-bg ist eine gehostete Route, die über reAPI ausgesetzt ist. Sie sollte nicht
als Midjourney's offizielle öffentliche API beschrieben werden. Midjourney's aktuelle Community
Richtlinien sagen, dass sie im Allgemeinen keine API bereitstellt und keine nicht autorisierten
Automatisierung verbietet, außer in seltenen, ausdrücklich genehmigten Fällen.[5]
Diese Unterscheidung ist während der Beschaffung wichtig. Überprüfe den gehosteten Service's eigenen Vertrag und akzeptable Nutzungsbedingungen, anstatt anzunehmen, dass ein Modell-Label ein offizielles Vendor-Verhältnis schafft. Der separate Leitfaden Hat Midjourney eine API? behandelt diese Frage im Detail; dieser Artikel konzentriert sich auf die aufgerufene Route und ihre Kosten.
FAQ
Braucht mj-v7-remove-bg eine vorherige Midjourney-Task?
Nein. Es ist eine direkte Bild-Bearbeitung. Gebe eine öffentliche Bild-URL in image_urls weiter; sende nicht
task_id oder model_params.[2]
Kann ich ein Base64-Bild senden?
Nein. Das Request-Schema akzeptiert eine öffentliche HTTP(S)-URL. Lade die Datei zuerst hoch, dann sende eine URL, die der Service abrufen kann, ohne deine Browser-Sitzung.
Ist der aktuelle Preis $0.0873 oder $0.088?
Verwende $0.088 für Abrechnungs-Schätzungen. Der Vorgang könnte als $0.0873 in einer detaillierten Anzeige erscheinen, aber der Live-Estimator gibt 88 ganze Credits zurück und ein Credit gleicht $0.001.[1]
Gibt eine Anfrage vier hintergrund-entfernte Bilder zurück?
Budget nicht auf dieser Annahme. Vier Bilder pro Anfrage beschreiben die Basis Midjourney V7 Generierung. Der direkte Remove BG Vertrag nimmt ein Quellbild und gibt ein Bild-URL-Array zurück, aber es verspricht nicht vier Zuschnitts. Überprüfe die terminale Task's Array-Länge in deinem Pilot.[2]
Gibt die API immer ein transparentes PNG zurück?
Der aktuelle öffentliche Vertrag verspricht Bild-URLs, nicht eine spezifische Erweiterung, MIME-Typ oder Alpha-Kanal-Garantie. Lade ein echtes Ergebnis herunter und überprüfe Alpha vor dem Aufbau eines PNG-nur-Downstream-Workflows.
Kostet Polling Credits?
Nein. Eine Task zu pollern, verbraucht keine Credits. Frage alle zwei bis drei Sekunden ab und stoppe bei einem Termin, der zu deiner Anwendung passt.[3]
Werden ausfallende Hintergrund-Entfernungs-Tasks berechnet?
Lies usage.credits auf der terminalen Task. Eine ausfallende Task mit null Credits wurde
vollständig erstattet. Der allgemeine Task-Vertrag erlaubt eine positiv beibehalten Gebühr in
einigen modellspezifischen Post-Generierung-Sicherheitsfällen, also leite die Rechnung nicht nur aus Status ab.[3]
Was kosten 1.000 verwertbare Bilder?
Bei 100% Akzeptanzrate kosten 1.000 Anfragen $88 bei der aktuellen Rate. Bei 80% Akzeptanz braucht es 1.250 Anfragen, um 1.000 verwertbare Dateien zu erreichen, und kostet $110, vor Speicher und Überprüfung. Ersetze die angenommene Rate mit deiner gemessenen Pilot.
Wähle nach Kosten pro akzeptiertem Bild, nicht nach Listenpreis
Die aktuelle Preisstruktur der Background-Removal-API ist auf Anfrageebene einfach: 88 Credits beziehungsweise $0.088. Die eigentliche Produktionsentscheidung beginnt danach. Teste die Kanten und den Dateivertrag, die deine Anwendung tatsächlich braucht, lies die abgerechnete Nutzung jeder Aufgabe aus und teile die Gesamtausgaben durch die Zahl der Ergebnisse, die ein festes Prüfschema bestehen.
Beginne mit der Midjourney-V7-API-Referenz, führe einen kleinen Test mit eigenen Bildern durch und halte die Referenz zum Task-Polling bei der Implementierung griffbereit. So erhältst du belastbare Kosten pro nutzbarem Bild statt eines ungeprüften Schlagzeilenpreises.
Referenzen
- reAPI. Midjourney V7 model page and live pricing. Retrieved September 3, 2026 from reapi.ai/models/midjourney-v7
- reAPI. Midjourney V7 API reference. Retrieved September 3, 2026 from reapi.ai/docs/midjourney-v7
- reAPI. Tasks: polling, usage, output, and refund semantics. Retrieved September 3, 2026 from reapi.ai/docs/api/tasks
- reAPI. API error codes and retry guidance. Retrieved September 3, 2026 from reapi.ai/docs/api/errors
- Midjourney. Community Guidelines: unauthorized automation and third-party apps. Retrieved September 3, 2026 from docs.midjourney.com/hc/en-us/articles/32013696484109-Community-Guidelines
Autor

Kategorien
mj-v7-remove-bg eine vorherige Midjourney-Task?Kann ich ein Base64-Bild senden?Ist der aktuelle Preis $0.0873 oder $0.088?Gibt eine Anfrage vier hintergrund-entfernte Bilder zurück?Gibt die API immer ein transparentes PNG zurück?Kostet Polling Credits?Werden ausfallende Hintergrund-Entfernungs-Tasks berechnet?Was kosten 1.000 verwertbare Bilder?Wähle nach Kosten pro akzeptiertem Bild, nicht nach ListenpreisReferenzenWeitere Beiträge

Beste Video-Generierungs-API 2026: fünf Modelle verglichen
Seedance 2.5, MiniMax H3, Kling 3.0, Veo 3.1 und Vidu Q3 nach Dauer, Referenzen, Audio, Auflösung, Abrechnung und Workload-Eignung vergleichen.


KI-Video-API-Preismodelle: pro Sekunde vs. Pauschal
Warum sich Preise von KI-Video-APIs nicht direkt vergleichen lassen: zwei inkompatible Abrechnungsmodelle, Break-Even-Punkte und was ein echtes Video kostet.


Was kostet tägliche AI-Video-Generierung? 30-Tage API-Budget
Berechne einen realistischen 30-Tage Budget für AI-Videos: Wiederholungen, Limits, Polling, Storage und menschliche Reviews in einem praktischen Leitfaden.
