Introduction
Object Eraser supprime d’une photo les éléments indésirables et comble l’espace qu’ils laissent avec un fond assorti au reste de la scène. Vous désignez l’objet de deux façons, en le décrivant en quelques mots ou en le peignant en blanc sur un masque noir, et vous récupérez la même photo à sa taille d’origine, sans l’objet.
Fonctionnalités et points forts
Désigner par des mots ou par un masque
Le plus rapide est une courte description : « le banc en bois à gauche », « le panneau au-dessus de la porte », « la deuxième personne en partant de la droite ». Elle fonctionne le mieux sur des objets bien distincts, avec de l’espace autour ; les objets fins et ceux qui touchent le bord du cadre sont souvent ignorés, et une photo qui revient inchangée en est le signe. Un masque délimite exactement les pixels : c’est la voie sûre dans ces cas-là, comme pour l’une de deux tasses semblables ou une partie seulement d’une clôture. Les deux peuvent être envoyés dans la même requête.
Un remplissage qui suit la scène
La zone supprimée n’est ni floutée ni barbouillée : elle est reconstruite à partir de son environnement. Le parquet se prolonge, les murs gardent leur texture et la lumière continue de tomber du même côté, ce qui donne au résultat l’aspect d’une photo non retouchée.
Le reste de la photo reste intact
Seul l’objet sélectionné est remplacé. Le cadrage, la résolution et tout ce qui se trouve hors de la sélection reviennent tels qu’envoyés, si bien que la photo retouchée peut retourner directement dans une mise en page, une annonce ou une série.
Paramètres de requête
| Paramètre | Obligatoire | Description |
|---|---|---|
image_url | Oui | La photo à nettoyer, en JPEG, PNG ou WebP. 1 caractères minimum |
prompt | Non | Ce qu’il faut retirer, en quelques mots, avec une position s’il y en a plusieurs : « la voiture rouge à gauche ». 1 caractères minimum · 1000 caractères maximum |
mask_url | Non | Image noir et blanc facultative, à la taille de la photo : le blanc marque ce qu’il faut retirer, le noir ce qu’il faut garder. 1 caractères minimum |
output_format | Non | Le PNG garde tous les contours sans perte et c’est le format par défaut ; JPEG et WebP donnent des fichiers plus légers. |
Tarification
$0.03 / image
Facturé par image produite ; le nombre d’objets supprimés dans une requête ne change pas le prix.
Cas d’utilisation
Des photos produit et immobilières propres
Retirez câbles, étiquettes de prix, emballages oubliés ou passants de photos par ailleurs prêtes, au lieu de programmer une nouvelle séance. C’est la retouche la plus rapide pour les photos d’annonces, d’intérieurs et de galeries immobilières où un seul objet gênant gâche le cadre.
Des photos de voyage et d’événements plus nettes
Enlevez touristes, poubelles, échafaudages ou autres photographes de l’arrière-plan d’un portrait ou d’un monument, pour que le sujet ait enfin le cadre pour lui seul.
Préparer des plans pour d’autres retouches
Libérez d’abord un espace, puis élargissez ensuite toute la scène avec Image Expander.
Guide de prompt et conseils pratiques
Décrivez ce qui est visible, et où
Décrivez l’objet comme vous le montreriez à un collègue : un nom, une couleur ou une matière, et une position. « Banc » fonctionne ; « le banc en bois à gauche » fonctionne mieux quand la scène en contient plusieurs. Nommer un élément absent de l’image ne déclenche pas d’erreur. La photo revient simplement inchangée, donc un résultat identique à l’entrée signifie en général que la description a raté sa cible.
Peignez des masques généreux
Avec mask_url, donnez au masque la taille de la photo, blanc sur l’objet et noir partout ailleurs. Étendez le blanc un peu au-delà du bord de l’objet pour que son contour et son ombre disparaissent aussi ; un masque qui épouse la silhouette laisse souvent une légère trace.
Retirez les gros éléments un par un
Plusieurs petits objets peuvent partir en une requête, mais pour les suppressions importantes ou qui se chevauchent, faites des passes séparées et vérifiez chaque résultat. Chaque passe renvoie une photo complète, si bien que la sortie d’une requête peut alimenter directement la suivante.
Démarrage rapide de l’API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "spicyapi/object-eraser-v1/edit",
"input": {
"image_url": "https://example.com/reference.png",
"output_format": "png",
"prompt": "A ceramic teapot on a linen cloth, soft window light, muted palette"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
La référence API détaille l’authentification, le schéma complet, le polling et la gestion des erreurs.








