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

Usuwanie tła

Usuwanie tła wspomagane AI z opcjonalnymi efektami (rozmycie, cień, gradient, niestandardowe tło).

Punkt końcowy API

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

Przetwarzanie: Asynchroniczne (zwraca 202, odpytuj /api/v1/jobs/{jobId}/progress o status przez SSE)

Pakiet modeli: background-removal (4-5 GB)

Parametry

ParametrTypWymaganyDomyślnieOpis
filefileTak-Plik obrazu (multipart)
modelstringNie-Wariant modelu AI do użycia
backgroundTypestringNie"transparent"Jedno z: transparent, color, gradient, blur, image
backgroundColorstringNie-Kolor hex dla jednolitego tła
gradientColor1stringNie-Pierwszy kolor gradientu
gradientColor2stringNie-Drugi kolor gradientu
gradientAnglenumberNie-Kąt gradientu w stopniach
blurEnabledbooleanNie-Włącz efekt rozmycia tła
blurIntensitynumberNie-Intensywność rozmycia (0-100)
shadowEnabledbooleanNie-Włącz cień pod obiektem
shadowOpacitynumberNie-Krycie cienia (0-100)
outputFormatstringNie-Format wyjściowy: png, webp lub avif
edgeRefineintegerNie-Poziom wygładzania krawędzi (0-3)
decontaminatebooleanNie-Usuń przenikanie koloru z krawędzi

Przykładowe żądanie

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

Odpowiedź

Odpowiedź początkowa (202 Accepted)

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

Postęp (SSE pod /api/v1/jobs/{jobId}/progress)

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

Wynik końcowy (przez 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"
  }
}

Punkt końcowy efektów (Etap 2)

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

Ponownie stosuje efekty tła bez ponownego uruchamiania modelu AI. Korzysta z zapisanej w pamięci podręcznej maski i oryginału z Etapu 1.

Parametry

ParametrTypWymaganyDomyślnieOpis
settingsJSONTak-JSON z ustawieniami efektów (patrz poniżej)
backgroundImagefileNie-Niestandardowy obraz tła (gdy backgroundType to image)

Pola JSON ustawień

PoleTypWymaganeOpis
jobIdstringTakID zadania z Etapu 1
filenamestringTakOryginalna nazwa pliku z Etapu 1
backgroundTypestringNietransparent, color, gradient, blur, image
backgroundColorstringNieKolor hex dla jednolitego tła
gradientColor1stringNiePierwszy kolor gradientu
gradientColor2stringNieDrugi kolor gradientu
gradientAnglenumberNieKąt gradientu w stopniach
blurEnabledbooleanNieWłącz rozmycie tła
blurIntensitynumberNieIntensywność rozmycia (0-100)
shadowEnabledbooleanNieWłącz cień
shadowOpacitynumberNieKrycie cienia (0-100)
outputFormatstringNiepng, webp lub avif

Przykładowe żądanie

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"}'

Odpowiedź (200 OK)

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

Uwagi

  • Wymaga zainstalowania pakietu modeli background-removal (4-5 GB).
  • Etap 1 zapisuje w pamięci podręcznej przezroczystą maskę i oryginalny obraz, dzięki czemu Etap 2 (efekty) może natychmiast zastosować różne tła bez ponownego uruchamiania modelu AI.
  • Obsługuje formaty wejściowe HEIC/HEIF, RAW, TGA, PSD, EXR i HDR poprzez automatyczne dekodowanie.
  • Obrót EXIF jest automatycznie korygowany przed przetwarzaniem.