This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

Remove Background

AI-aangedreven achtergrondverwijdering met optionele effecten (vervaging, schaduw, verloop, aangepaste achtergrond).

API Endpoint

POST /api/v1/tools/image/remove-background

Verwerking: Asynchroon (geeft 202 terug, poll /api/v1/jobs/{jobId}/progress voor status via SSE)

Modelbundel: background-removal (4-5 GB)

Parameters

ParameterTypeVereistStandaardBeschrijving
filefileJa-Afbeeldingsbestand (multipart)
modelstringNee-Te gebruiken AI-modelvariant
backgroundTypestringNee"transparent"Een van: transparent, color, gradient, blur, image
backgroundColorstringNee-Hex-code voor een effen achtergrond
gradientColor1stringNee-Eerste verloopkleur
gradientColor2stringNee-Tweede verloopkleur
gradientAnglenumberNee-Verloophoek in graden
blurEnabledbooleanNee-Achtergrondvervagingseffect inschakelen
blurIntensitynumberNee-Vervagingsintensiteit (0-100)
shadowEnabledbooleanNee-Slagschaduw op het onderwerp inschakelen
shadowOpacitynumberNee-Ondoorzichtigheid van de schaduw (0-100)
outputFormatstringNee-Uitvoerformaat: png, webp of avif
edgeRefineintegerNee-Niveau van randverfijning (0-3)
decontaminatebooleanNee-Kleurdoorbloeding aan de randen verwijderen

Example Request

bash
curl -X POST http://localhost:1349/api/v1/tools/image/remove-background \
  -F "[email protected]" \
  -F 'settings={"backgroundType":"transparent","edgeRefine":2,"outputFormat":"png"}'

Response

Initial Response (202 Accepted)

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "async": true
}

Progress (SSE at /api/v1/jobs/{jobId}/progress)

event: progress
data: {"phase":"processing","stage":"Removing background...","percent":50}

Final Result (via SSE)

json
{
  "phase": "complete",
  "percent": 100,
  "result": {
    "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "downloadUrl": "/api/v1/download/{jobId}/photo_mask.png",
    "maskUrl": "/api/v1/download/{jobId}/photo_mask.png",
    "originalUrl": "/api/v1/download/{jobId}/photo_original.png",
    "originalSize": 245000,
    "processedSize": 180000,
    "filename": "photo.jpg",
    "model": "rembg"
  }
}

Effects Endpoint (Phase 2)

POST /api/v1/tools/image/remove-background/effects

Past achtergrondeffecten opnieuw toe zonder het AI-model opnieuw te draaien. Gebruikt het in de cache opgeslagen masker en origineel uit Fase 1.

Parameters

ParameterTypeVereistStandaardBeschrijving
settingsJSONJa-JSON met effectinstellingen (zie hieronder)
backgroundImagefileNee-Aangepaste achtergrondafbeelding (wanneer backgroundType image is)

Settings JSON fields

VeldTypeVereistBeschrijving
jobIdstringJaJob-ID uit Fase 1
filenamestringJaOorspronkelijke bestandsnaam uit Fase 1
backgroundTypestringNeetransparent, color, gradient, blur, image
backgroundColorstringNeeHex-code voor een effen achtergrond
gradientColor1stringNeeEerste verloopkleur
gradientColor2stringNeeTweede verloopkleur
gradientAnglenumberNeeVerloophoek in graden
blurEnabledbooleanNeeAchtergrondvervaging inschakelen
blurIntensitynumberNeeVervagingsintensiteit (0-100)
shadowEnabledbooleanNeeSlagschaduw inschakelen
shadowOpacitynumberNeeOndoorzichtigheid van de schaduw (0-100)
outputFormatstringNeepng, webp of avif

Example Request

bash
curl -X POST http://localhost:1349/api/v1/tools/image/remove-background/effects \
  -F 'settings={"jobId":"a1b2c3d4-...","filename":"photo.jpg","backgroundType":"color","backgroundColor":"#FF5500","outputFormat":"png"}'

Response (200 OK)

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/{jobId}/photo_nobg.png",
  "processedSize": 195000
}

Notes

  • Vereist dat de modelbundel background-removal is geïnstalleerd (4-5 GB).
  • Fase 1 slaat het transparante masker en de oorspronkelijke afbeelding op in de cache, zodat Fase 2 (effecten) direct verschillende achtergronden opnieuw kan toepassen zonder het AI-model opnieuw te draaien.
  • Ondersteunt de invoerformaten HEIC/HEIF, RAW, TGA, PSD, EXR en HDR via automatische decodering.
  • EXIF-rotatie wordt automatisch gecorrigeerd voordat er verwerkt wordt.