HiAPI
Blog

Guide d'utilisation

Bria Eraser pour les photos de produits e-commerce : 4 tests de nettoyage

Supprimez par masque la poussière, les accessoires de studio, l'encombrement du fond et les reflets sur de vraies photos de produits, ainsi que ce qu'il faut vérifier avant de publier une fiche.

Nov 3, 2026
Bria Eraser pour les photos de produits e-commerce : 4 tests de nettoyage

La plupart des problèmes des photos de produits lors des shootings de catalogue ne sont pas des problèmes de « génération d'une nouvelle image ». Le produit lui-même a déjà été photographié correctement — angle, étiquette, matière, tout est bon — ce qu'il faut retirer, ce sont les peluches sur le couvercle, le ruban adhésif sur la toile de fond, les câbles dans une photo de mise en situation. Bria Eraser est exactement adapté à ce type de travail, car il ne traite que les pixels que vous masquez. Vous soumettez une photo source et un masque noir et blanc ; tout ce qui se trouve dans les zones blanches est supprimé et la zone environnante est comblée. Aucun prompt n'est à rédiger, et la requête ne doit pas contenir de prompt.

Le 2026-11-03, nous avons exécuté quatre cas typiques de nettoyage e-commerce via l'API hiapi : la poussière sur une coque de téléphone mate, un accessoire de studio à côté d'un flacon, l'encombrement derrière des baskets, et le reflet d'une boîte à lumière sur une tasse brillante. Chaque image source, masque et résultat ci-dessous provient de cette exécution.

La place de Bria Eraser dans un workflow d'images de produits

Si vous avez besoin de générer une nouvelle scène ou un nouveau fond pour un produit, un modèle de génération est un meilleur point de départ — voir les exemples Bria Product Shot. Eraser s'utilise avant ou après cette étape : conserver la photo existante et retirer ce qui ne doit pas être publié avec elle.

Tâche de nettoyage Méthode de masquage Notre résultat
Grains de poussière et peluches sur un produit sombre Détection automatique des taches claires, dilatation de quelques pixels Propre, aucune modification visible de la texture sur le couvercle
Ruban adhésif, pinces, supports en acrylique sur une toile de fond blanche Seuillage des pixels non blancs, ajout de polygones dessinés à la main pour l'acrylique transparent Propre ; le remplissage est proche du blanc, pas d'un blanc 255 pur
Câbles et tasses derrière un produit en situation Polygones dessinés à la main, à distance du produit Propre ; le coin de mur derrière la tasse a été reconstruit
Reflet de boîte à lumière sur une surface brillante Seuillage des zones claires sur le corps du produit Reflet supprimé ; la tasse paraît moins brillante

Le prix est de 0,0575 $ par image (vérifié le 2026-11-03 par rapport à la tarification hiapi), donc ces quatre nettoyages ont coûté 0,23 $. Les quatre tâches ont été terminées entre 36 et 44 secondes après soumission, temps de polling inclus. Il s'agit de quatre exécutions uniques, pas d'un benchmark de latence.

Cas 1 : poussière et peluches sur une coque de téléphone noire mate

Le plastique mat sombre révèle chaque grain sous une lumière zénithale. Brosser manuellement 20 petits points pour chaque SKU est la partie lente de la retouche, nous avons donc généré le masque : comparer chaque pixel à la médiane 15 pixels de son voisinage, conserver ce qui est plus clair de plus de 22 niveaux, limiter la recherche à la zone du couvercle, puis dilater chaque tache de 5 pixels pour inclure les bords doux de la poussière.

Le masque couvre 0,35 % de l'image. Le résultat a supprimé les fibres de peluche et tous les grains que nous avions marqués, et la texture mate du couvercle reste continue. Gardez la zone de détection éloignée des bords du produit : notre première tentative a cherché sur toute la coque et a aussi capté le bord clair du couvercle et le fond dans les coins — cela aurait obligé Eraser à redessiner le contour du produit lui-même.

import numpy as np
from PIL import Image, ImageFilter

src = Image.open("case.png").convert("L")
gray = np.asarray(src).astype(int)
local = np.asarray(src.filter(ImageFilter.MedianFilter(15))).astype(int)

mask = np.zeros(gray.shape, bool)
lid = (slice(265, 410), slice(190, 840))          # rows, cols of the lid top only
mask[lid] = (gray - local)[lid] > 22               # specks brighter than their surroundings

out = Image.fromarray((mask * 255).astype("uint8"))
out = out.filter(ImageFilter.MaxFilter(11))         # grow each speck ~5 px
out.save("case-mask.png")                           # same size as the source

Pour un produit clair avec de la poussière sombre, inversez la comparaison (local - gray). Ces coordonnées sont propres à cette photo ; pour un catalogue, déduisez la zone à partir du détourage du produit ou d'un gabarit de prise de vue fixe.

Cas 2 : ruban adhésif et cale en acrylique sur une toile de fond blanche

Un décor de studio laisse des objets qui maintiennent le produit. Ici, une bande de ruban de masquage et une cale en acrylique transparent se trouvent à côté d'un flacon compte-gouttes.

Le ruban bleu se seuille facilement. L'acrylique transparent, non : son intérieur est presque aussi blanc que la toile de fond, donc le seuillage ne trouve que ses bords. Nous avons ajouté des polygones dessinés à la main sur la cale pour la couvrir entièrement. Le résultat montre une toile de fond vide, le flacon et son ombre intacts.

Une chose à vérifier avant de téléverser sur une place de marché : la zone de remplissage a une moyenne RGB de 252, et non 255. Lorsque nous étirons le contraste, le contour du masque devient légèrement visible sur la toile de fond environnante. Invisible en visionnage normal, et la toile de fond source n'est pas non plus d'un blanc pur (environ 254). Si votre canal exige une image principale blanc pur, exécutez votre étape habituelle de blanchiment du fond après l'effacement, plutôt que d'attendre d'Eraser un 255,255,255.

Cas 3 : câbles et tasse derrière des baskets en situation

Les photos de mise en situation capturent tout ce qui se trouve au sol. Nous avons masqué un câble de chargement et un gobelet en papier, en gardant les polygones à quelques pixels des lacets.

Le sol sous les câbles supprimés continue de s'étendre, avec une texture et un flou cohérents, et les baskets sont inchangées. Le gobelet était posé contre un mur, et le masque couvrait une partie de ce coin de mur, donc Eraser a dû inventer ce qui se trouve derrière : le résultat présente un mur continu et une plinthe, avec une géométrie légèrement différente de la source. Pour une fiche produit, c'est acceptable, mais si le fond compte — intérieur d'une boutique de marque ou pièce réelle dans une annonce immobilière — vérifiez la structure reconstruite, pas seulement la disparition de l'objet.

Cas 4 : reflet de boîte à lumière sur une tasse brillante

C'est le cas qui demande de la prudence. Le masque couvre un large reflet rectangulaire sur le corps de la tasse.

Le reflet a disparu, remplacé par un noir lisse. Mais le reflet est aussi ce qui indique au spectateur que l'émail est brillant ; la tasse nettoyée paraît plus proche d'un semi-mat, tandis que les petits reflets non masqués sur le bord et l'anse indiquent encore « brillant ». Pour un produit vendu comme très brillant, supprimer entièrement le reflet peut présenter à tort la finition. Une approche plus douce consiste à ne masquer que la partie la plus intense du reflet, ou à reprendre la photo avec une lumière diffuse, et à en décider avec le responsable de la description produit.

Ce qui change en dehors du masque

Eraser ne renvoie pas les pixels non modifiés octet pour octet. Comparaison de la source et du résultat en dehors de chaque masque (différence absolue moyenne par pixel, échelle 0–255) :

Cas Variation moyenne 99e centile
Poussière 1,1 4,7
Accessoire 0,6 6,0
Encombrement 2,1 10,7
Reflet 0,7 5,0

Ces écarts ne sont pas visibles en comparaison côte à côte, et la photo de mise en situation — l'image la plus texturée — est celle qui varie le plus. Si votre pipeline recompose le résultat sur l'image d'origine (par exemple pour préserver exactement les couleurs certifiées du produit), collez uniquement la zone masquée du résultat sur la source.

Les quatre sorties sont des fichiers PNG 1024×1024 avec canal alpha, à la taille de la source. Avec preserve_alpha: false et une source opaque, l'alpha de chaque résultat est entièrement opaque ; preserve_alpha n'a d'importance que si votre entrée possède déjà de la transparence.

La requête que nous avons envoyée

Chaque cas utilise la même structure de requête ; seules deux URL changent. L'image source et le masque doivent être accessibles publiquement, et le masque doit avoir la même taille que la source.

curl --request POST "https://api.hiapi.ai/v1/tasks" \
  --header "Authorization: Bearer $HIAPI_API_KEY" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "model": "bria-eraser",
  "input": {
    "image_url": "https://static.hiapi.ai/blog/bria-eraser-ecommerce-product-images/dust-src.png",
    "mask_url": "https://static.hiapi.ai/blog/bria-eraser-ecommerce-product-images/dust-mask.png",
    "mask_type": "manual",
    "preserve_alpha": false
  }
}'

Lisez data.taskId dans la réponse, interrogez GET https://api.hiapi.ai/v1/tasks/<taskId> jusqu'à ce que data.status vaille success, puis téléchargez data.output[0].url. Cette URL est temporaire, copiez donc immédiatement le PNG dans votre propre stockage. Le guide de l'API Bria Eraser contient un exemple complet de polling en Python et couvre la gestion des échecs.

Nous avons soumis les quatre tâches en parallèle depuis un seul script, ce qui correspond au traitement par lots d'un catalogue produit. Stockez chaque taskId avec votre SKU et l'ID de l'image, afin qu'un polling expiré puisse reprendre au lieu de resoumettre et d'être facturé à nouveau.

Checklist de nettoyage d'un catalogue produit

  1. Masquez le défaut, pas le produit. Laissez le contour du produit, les étiquettes et les logos en noir. Si le défaut touche le bord du produit, préférez un masque légèrement plus petit plutôt que de redessiner le contour.
  2. Dilatez le masque de quelques pixels. La poussière et le ruban adhésif ont des bords doux ; un masque ajusté au pixel près laisse un halo.
  3. Vérifiez le remplissage selon les exigences. Un fond blanc pur, des structures architecturales reconstruites et des surfaces de matière (brillance, texture) sont des contrôles distincts.
  4. Conservez les fichiers d'origine. Archivez la source et le masque avec le résultat, pour qu'un relecteur voie ce qui a été supprimé.
  5. Budgétez à l'image, pas au défaut. Une requête supprime tout le contenu d'un masque, donc regroupez tous les défauts d'une photo dans un seul masque. À 0,0575 $ par image, 1 000 photos nettoyées coûtent 57,50 $ — le détail tarifaire couvre les estimations de volume.

Si vous hésitez, pour ce type de travail, entre l'édition par masque et l'édition par instruction, la comparaison Bria Eraser vs Nano Banana 2.1 a exécuté les deux méthodes sur les mêmes photos.

Questions fréquentes

Bria Eraser a-t-il besoin d'un prompt pour savoir quoi supprimer ? Non. Le masque est la seule instruction : le blanc signifie supprimer, le noir signifie conserver. La requête ne doit pas contenir de champ prompt.

Peut-il supprimer automatiquement la poussière sans que je dessine quoi que ce soit ? Eraser nécessite un masque à chaque requête. Le masque peut provenir de code, comme dans le cas 1, donc un script peut détecter et masquer les taches dans un lot, sans brossage manuel. Vérifiez un échantillon de masques avant de lancer le lot.

Rend-il le fond de mon produit blanc pur ? Pas automatiquement. Dans notre test sur toile de fond blanche, la zone de remplissage avait une moyenne RGB de 252. Si votre place de marché exige 255, utilisez une étape de blanchiment séparée.

Est-il sûr de supprimer un reflet sur un produit brillant ? Techniquement oui, mais supprimer le reflet fait paraître un produit brillant comme mat. Ne masquez que la partie gênante et vérifiez le résultat par rapport à la description produit.

Eraser modifie-t-il les pixels en dehors du masque ? Oui, légèrement. Nous avons mesuré une variation moyenne hors masque de 0,6 à 2,1 niveaux sur 255, invisible en comparaison côte à côte. Si vous avez besoin des pixels d'origine exacts, recomposez la zone masquée sur la source.

Combien de temps prend un nettoyage ? Nos quatre exécutions ont chacune été terminées en 36 à 44 secondes après soumission. Planifiez le polling et les délais d'expiration dans votre propre pipeline, plutôt que de vous fier à ces chiffres.

Commencez avec une photo de produit

Prenez une vraie photo de catalogue comportant un défaut, créez un masque de même taille, et exécutez-la sur la page du modèle Bria Eraser ou avec la requête ci-dessus. Une fois qu'un résultat passe votre checklist, scriptez l'étape de masquage et lancez le lot.

Articles similaires

Voir tous les articles →

Commencez avec des artefacts IA persistants

Obtenez votre clé API et appelez des modèles d'image, de vidéo et d'audio via une API unique basée sur les tasks.

Lire la documentation de l'API