Search K
Supprimer l'arrière-plan
Suppression de l'arrière-plan assistée par IA avec effets optionnels (flou, ombre, dégradé, arrière-plan personnalisé).
Point de terminaison API
POST /api/v1/tools/image/remove-background
Traitement : asynchrone (renvoie 202, interrogez /api/v1/jobs/{jobId}/progress pour connaître l'état via SSE)
Ensemble de modèles : background-removal (4-5 Go)
Paramètres
| Paramètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
| file | file | Oui | - | Fichier image (multipart) |
| model | string | Non | - | Variante de modèle IA à utiliser |
| backgroundType | string | Non | "transparent" | L'un de : transparent, color, gradient, blur, image |
| backgroundColor | string | Non | - | Couleur hexadécimale pour un arrière-plan uni |
| gradientColor1 | string | Non | - | Première couleur du dégradé |
| gradientColor2 | string | Non | - | Deuxième couleur du dégradé |
| gradientAngle | number | Non | - | Angle du dégradé en degrés |
| blurEnabled | boolean | Non | - | Activer l'effet de flou d'arrière-plan |
| blurIntensity | number | Non | - | Intensité du flou (0-100) |
| shadowEnabled | boolean | Non | - | Activer l'ombre portée sur le sujet |
| shadowOpacity | number | Non | - | Opacité de l'ombre (0-100) |
| outputFormat | string | Non | - | Format de sortie : png, webp ou avif |
| edgeRefine | integer | Non | - | Niveau d'affinage des contours (0-3) |
| decontaminate | boolean | Non | - | Supprimer les débordements de couleur sur les bords |
Exemple de requête
bash
curl -X POST http://localhost:1349/api/v1/tools/image/remove-background \
-F "[email protected]" \
-F 'settings={"backgroundType":"transparent","edgeRefine":2,"outputFormat":"png"}'Réponse
Réponse initiale (202 Accepted)
json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}Progression (SSE à /api/v1/jobs/{jobId}/progress)
event: progress
data: {"phase":"processing","stage":"Removing background...","percent":50}Résultat final (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"
}
}Point de terminaison des effets (Phase 2)
POST /api/v1/tools/image/remove-background/effects
Réapplique les effets d'arrière-plan sans réexécuter le modèle IA. Utilise le masque mis en cache et l'original de la phase 1.
Paramètres
| Paramètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
| settings | JSON | Oui | - | JSON contenant les réglages des effets (voir ci-dessous) |
| backgroundImage | file | Non | - | Image d'arrière-plan personnalisée (lorsque backgroundType est image) |
Champs du JSON settings
| Champ | Type | Requis | Description |
|---|---|---|---|
| jobId | string | Oui | ID de tâche issu de la phase 1 |
| filename | string | Oui | Nom de fichier d'origine issu de la phase 1 |
| backgroundType | string | Non | transparent, color, gradient, blur, image |
| backgroundColor | string | Non | Couleur hexadécimale pour un arrière-plan uni |
| gradientColor1 | string | Non | Première couleur du dégradé |
| gradientColor2 | string | Non | Deuxième couleur du dégradé |
| gradientAngle | number | Non | Angle du dégradé en degrés |
| blurEnabled | boolean | Non | Activer le flou d'arrière-plan |
| blurIntensity | number | Non | Intensité du flou (0-100) |
| shadowEnabled | boolean | Non | Activer l'ombre portée |
| shadowOpacity | number | Non | Opacité de l'ombre (0-100) |
| outputFormat | string | Non | png, webp ou avif |
Exemple de requête
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"}'Réponse (200 OK)
json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/{jobId}/photo_nobg.png",
"processedSize": 195000
}Remarques
- Nécessite l'installation de l'ensemble de modèles
background-removal(4-5 Go). - La phase 1 met en cache le masque transparent et l'image d'origine afin que la phase 2 (effets) puisse réappliquer instantanément différents arrière-plans sans réexécuter le modèle IA.
- Prend en charge les formats d'entrée HEIC/HEIF, RAW, TGA, PSD, EXR et HDR via un décodage automatique.
- La rotation EXIF est corrigée automatiquement avant le traitement.
