PixMiller PixMiller
Accueil / API / Guide de migration de l'API remove.bg
Guide de migration

Guide de migration de l'API remove.bg

L'API en libre-service de remove.bg cesse d'accepter les requêtes le 1er décembre 2026. Si vous l'appelez depuis votre propre code HTTP, passer à PixMiller se limite en général à changer l'URL de base et la clé — cette page montre précisément ce qui se transpose tel quel, ce qui se comporte différemment et ce qui n'a aucun effet.

Point de terminaison de compatibilité
POST api.pixmiller.com/v1.0/removebg
GET api.pixmiller.com/v1.0/account
Le même en-tête X-Api-Key que remove.bg. Lisez les différences ci-dessous avant de basculer votre trafic.
1

À lire en premier

Les quatre choses qui ne sont pas identiques.
  • size vaut preview par défaut, comme sur remove.bg — mais ici preview est une image gratuite, avec filigrane, jusqu'à 640 px (remove.bg : 0.25 mégapixel sans filigrane). Une intégration qui ne définit jamais size recevra des aperçus avec filigrane ; passez size=auto ou un palier payant pour obtenir le résultat sans filigrane.
  • Nous ne revendiquons pas de compatibilité au niveau des SDK. Trois clients tiers — le paquet PyPI removebg, le paquet npm officiel remove.bg et removebg-cli — ont passé nos tests le 22 septembre 2026, mais nous ne faisons pas de tests de non-régression version après version ; les clients HTTP écrits à la main sont le chemin que nous prenons en charge.
  • shadow_type, shadow_opacity, add_shadow et semitransparency sont acceptés et validés mais ne modifient jamais la sortie — comme sur remove.bg pour les sujets autres que des voitures ; il n'existe pas de modèle spécifique aux voitures.
  • Chaque appel compte pour une image dans la limite de votre clé, fixée à 40 images par minute — remove.bg en autorise 500. Traitez les 429 avec Retry-After, ou contactez-nous pour relever la limite.
2

Avant et après

La même requête envoyée à chaque service.
remove.bg
1curl -X POST "https://api.remove.bg/v1.0/removebg" \2  -H "X-Api-Key: REMOVEBG_KEY" \3  -F "[email protected]" \4  -F "size=auto" \5  -o out.png
PixMiller
1curl -X POST "https://api.pixmiller.com/v1.0/removebg" \2  -H "X-Api-Key: PIXMILLER_KEY" \3  -F "[email protected]" \4  -F "size=auto" \5  -o out.png6# 200 OK → image bytes, written straight to out.png7# X-Credits-Charged: 1   X-Width: 1200   X-Height: 1600   X-Type: product
3

Paramètres pris en charge

Paramètre Statut Remarques
image_file Identique Envoi multipart. JPG / PNG / WebP, jusqu'à 20 MB (remove.bg : 22 MB).
image_url Identique URL d'image publique, récupérée de notre côté avec la même limite de 20 MB.
image_file_b64 Identique Image encodée en base64 dans le corps de la requête, comme sur remove.bg.
size Différent Mêmes valeurs, même valeur par défaut (preview) et mêmes plafonds en mégapixels — mais preview est une image gratuite avec filigrane jusqu'à 640 px, et non 0.25 MP sans filigrane. medium / hd / 4k / full / 50MP coûtent 1 crédit chacun ; auto utilise le palier payant tant qu'il reste des crédits.
format Identique auto / png / jpg / webp / zip — zip contient color.jpg et alpha.png comme sur remove.bg. Accept: application/json renvoie l'enveloppe base64. La sortie PNG est plafonnée à 10 mégapixels.
type, type_level Différent Accepté ; type est mappé sur nos propres modèles. X-Type renvoie une classe grossière — person, product, animal, car ou other — et type_level=2 / latest renvoient les mêmes classes grossières.
crop, crop_margin Identique Recadre sur le sujet avec la même syntaxe de marge et le même plafond de 50% / 500 px.
roi Identique Région d'intérêt en pixels ou en pourcentage, comme sur remove.bg.
scale, position Identique Échelle du sujet (10%–100% ou original) et position, comme sur remove.bg.
channels Identique rgba (par défaut) ou alpha pour le masque uniquement.
bg_color Identique Transparent par défaut ; hexadécimal à 3 / 4 / 6 / 8 chiffres, avec ou sans #, ou un nom de couleur.
bg_image_file, bg_image_url Identique Mise à l'échelle pour couvrir la sortie et centrée ; ne peut pas être combinée avec bg_color.
add_shadow, shadow_type, shadow_opacity Aucun effet Validé selon les valeurs de remove.bg, mais aucune ombre n'est jamais rendue.
semitransparency Aucun effet Accepté ; les zones semi-transparentes sont toujours traitées automatiquement.
Chaque paramètre est validé selon les plages de valeurs de remove.bg : une valeur invalide donne donc un 400 invalid_parameter au lieu d'être ignorée en silence — exactement comme répond remove.bg.
4

Ce qui se comporte différemment

Code de statut 200 OK avec les octets de l'image, comme sur remove.bg — le code qui teste == 200 continue de fonctionner. (Le point de terminaison /api/v1/remove propre à PixMiller répond 201 avec du JSON ; ce chemin de compatibilité ne le fait délibérément pas.)
Corps de la réponse Les octets de l'image, exactement comme remove.bg. Envoyez Accept: application/json pour obtenir à la place l'enveloppe base64 de remove.bg, ou format=zip pour color.jpg plus alpha.png.
Response headers X-Credits-Charged, X-Width, X-Height, X-Type, X-Foreground-Top / -Left / -Width / -Height ainsi que X-RateLimit-Limit / -Remaining / -Reset sont tous renvoyés. X-Type est une classe grossière (person / product / animal / car / other) plutôt que le vocabulaire plus fin de remove.bg.
Erreurs Les erreurs reprennent la forme JSON:API de remove.bg : {"errors":[{"title":"…","code":"…"}]} — un tableau, donc errors[0].title se lit comme avant. Une clé manquante donne 403 auth_failed et une clé erronée 403 invalid_api_key, un solde vide donne 402, la limitation donne 429.
Crédits preview est gratuit ; chaque palier payant coûte 1 crédit par image, facturé seulement après la récupération du résultat, donc un appel en échec ne coûte jamais de crédit. Il n'y a pas de quota gratuit mensuel.
Limite de débit 40 images par minute et par clé (remove.bg : 500). Chaque appel compte pour une image, et X-RateLimit-Limit / -Remaining / -Reset indiquent ce quota compté par image ; traitez les 429 avec Retry-After.
5

Vérifier votre solde

Le point de terminaison account renvoie le solde de crédits restant de la clé sous data.attributes.credits : une vérification de solde écrite pour remove.bg conserve donc sa forme. Il n'y a pas de quota gratuit mensuel, donc free_calls vaut toujours 0.

GET /v1.0/account
1curl "https://api.pixmiller.com/v1.0/account" \2  -H "X-Api-Key: PIXMILLER_KEY"
6

Erreurs

400 invalid_parameter Une valeur hors de la plage de remove.bg pour size / format / crop / scale / … ou une source d'image manquante ; title indique le paramètre concerné.
400 file_too_large L'image d'entrée dépasse 20 MB.
400 unknown_foreground Aucun premier plan n'a pu être trouvé dans l'image.
402 insufficient_credits Un palier payant a été demandé mais le solde est vide. Rien n'est facturé.
403 auth_failed / invalid_api_key L'en-tête X-Api-Key est absent (auth_failed) ou erroné (invalid_api_key) — 403 comme sur remove.bg, et non 401.
429 rate_limit_exceeded Limite de débit dépassée. Réessayez après le délai indiqué par l'en-tête Retry-After.
502 result_fetch_failed Le résultat n'a pas pu être récupéré depuis le stockage. Rien n'a été facturé — relancez la requête.
C'est le code de statut qui porte le sens, et code reprend le vocabulaire de remove.bg — un switch sur errors[0].code continue de fonctionner.
Passez à PixMiller pour supprimer l'arrière-plan de vos images Obtenez votre clé API