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

Видалення фону

Видалення фону на основі ШІ з опціональними ефектами (розмиття, тінь, градієнт, власний фон).

Кінцева точка API

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

Обробка: Асинхронна (повертає 202, опитуйте /api/v1/jobs/{jobId}/progress для отримання статусу через SSE)

Пакет моделі: background-removal (4-5 ГБ)

Параметри

ПараметрТипОбов'язковийЗа замовчуваннямОпис
filefileТак-Файл зображення (multipart)
modelstringНі-Варіант моделі ШІ для використання
backgroundTypestringНі"transparent"Один з: transparent, color, gradient, blur, image
backgroundColorstringНі-Hex-код кольору для суцільного фону
gradientColor1stringНі-Перший колір градієнта
gradientColor2stringНі-Другий колір градієнта
gradientAnglenumberНі-Кут градієнта в градусах
blurEnabledbooleanНі-Увімкнути ефект розмиття фону
blurIntensitynumberНі-Інтенсивність розмиття (0-100)
shadowEnabledbooleanНі-Увімкнути падаючу тінь на об'єкті
shadowOpacitynumberНі-Непрозорість тіні (0-100)
outputFormatstringНі-Вихідний формат: png, webp або avif
edgeRefineintegerНі-Рівень уточнення країв (0-3)
decontaminatebooleanНі-Видалити кольорові розтікання з країв

Приклад запиту

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

Відповідь

Початкова відповідь (202 Accepted)

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

Прогрес (SSE на /api/v1/jobs/{jobId}/progress)

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

Кінцевий результат (через 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"
  }
}

Кінцева точка ефектів (Фаза 2)

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

Повторно застосовує фонові ефекти без повторного запуску моделі ШІ. Використовує кешовану маску та оригінал з Фази 1.

Параметри

ПараметрТипОбов'язковийЗа замовчуваннямОпис
settingsJSONТак-JSON із налаштуваннями ефектів (див. нижче)
backgroundImagefileНі-Власне зображення фону (коли backgroundType дорівнює image)

Поля JSON налаштувань

ПолеТипОбов'язковеОпис
jobIdstringТакID завдання з Фази 1
filenamestringТакОригінальне ім'я файлу з Фази 1
backgroundTypestringНіtransparent, color, gradient, blur, image
backgroundColorstringНіHex-код кольору для суцільного фону
gradientColor1stringНіПерший колір градієнта
gradientColor2stringНіДругий колір градієнта
gradientAnglenumberНіКут градієнта в градусах
blurEnabledbooleanНіУвімкнути розмиття фону
blurIntensitynumberНіІнтенсивність розмиття (0-100)
shadowEnabledbooleanНіУвімкнути падаючу тінь
shadowOpacitynumberНіНепрозорість тіні (0-100)
outputFormatstringНіpng, webp або avif

Приклад запиту

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

Відповідь (200 OK)

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

Примітки

  • Потребує встановлення пакета моделі background-removal (4-5 ГБ).
  • Фаза 1 кешує прозору маску та оригінальне зображення, щоб Фаза 2 (ефекти) могла миттєво повторно застосовувати різні фони без повторного запуску моделі ШІ.
  • Підтримує вхідні формати HEIC/HEIF, RAW, TGA, PSD, EXR та HDR через автоматичне декодування.
  • Поворот EXIF автоматично коригується перед обробкою.