RemoveBG

Référence de l'API de suppression d'arrière-plan

Consultez les paramètres, formats de réponse et différences avec l'API remove.bg. Vérifiez les exemples par fichier, URL et Base64 ainsi que leurs limites.

POST https://removebgtool.net/v1.0/removebg
curl --fail-with-body --max-time 180 \
  -H 'X-API-Key: YOUR_API_KEY' \
  -F 'image_file=@image.jpg' \
  -F 'size=auto' \
  'https://removebgtool.net/v1.0/removebg' -o no-bg.png

Requête

Envoyez X-API-Key. Utilisez multipart/form-data pour image_file ; JSON ou les données URL-encoded acceptent image_url ou image_file_b64. Indiquez une seule source. Par défaut : crop=false et format=auto, soit PNG pour la transparence et JPG pour une sortie opaque. bg_color accepte les noms CSS ou l’hexadécimal à 3/4/6/8 chiffres. JPG aplatit la transparence sur blanc.

FonctionPrise en charge
Images en entréeJPG, PNG, WebP · fichier, URL HTTPS, base64
Résolutionpreview / small / regular · medium · hd · full / 4k · auto · 50MP
SortiePNG, JPG, WebP · auto · binaire ou JSON
Options d’imagecrop, bg_color, type=auto, type_level=none, channels=rgba
Non pris en chargeZIP, ombres, ROI, images de fond, classification du premier plan, crop_margin, scale, position, sortie alpha seule, contrôle de semi-transparence, OAuth

Paramètres de requête

Champ de requêteValeurs par défaut et acceptées
image_file / image_url / image_file_b64Indiquez une seule source. Les fichiers utilisent multipart/form-data ; image_url doit être HTTPS ; image_file_b64 est une chaîne base64 simple avec padding.
sizePar défaut : preview. Plafonds : preview/small/regular 0,25 Mpx ; medium 1,5 Mpx ; hd 4 Mpx ; full/4k/auto 25 Mpx ; 50MP 50 Mpx. PNG limité à 10 Mpx. Aucun agrandissement.
formatPar défaut : auto. Valeurs : auto, png, jpg, webp. JPG ne conserve pas la transparence.
cropPar défaut : false. true rogne les bordures vides. crop_margin n’est pas disponible.
bg_colorCouleur de fond facultative. Omettez-la pour préserver la transparence dans un format compatible.

Entrées par URL et Base64

Remplacez l’URL d’exemple par celle de votre image HTTPS. Envoyez du base64 simple avec padding, sans préfixe data-URL. Ne transmettez jamais plusieurs champs d’entrée.

curl --fail-with-body --max-time 180 \
  -H 'X-API-Key: YOUR_API_KEY' \
  -F 'image_url=https://example.com/photo.jpg' \
  -F 'format=png' \
  'https://removebgtool.net/v1.0/removebg' -o result.png

# JSON input and JSON output
curl --fail-with-body --max-time 180 \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  --data '{"image_file_b64":"YOUR_PADDED_BASE64","format":"png"}' \
  'https://removebgtool.net/v1.0/removebg'

Exemples par langage

Il s’agit d’exemples de clients HTTP, pas d’un SDK officiel. Gardez la clé dans la configuration serveur.

Python
import requests

with open('image.jpg', 'rb') as image:
    response = requests.post(
        'https://removebgtool.net/v1.0/removebg',
        headers={'X-API-Key': 'YOUR_API_KEY'},
        files={'image_file': image},
        data={'size': 'auto'},
        timeout=180,
    )
response.raise_for_status()
with open('no-bg.png', 'wb') as output:
    output.write(response.content)
Node.js
import { readFile, writeFile } from 'node:fs/promises';

const form = new FormData();
form.append('image_file', new Blob([await readFile('image.jpg')]), 'image.jpg');
form.append('size', 'auto');
const response = await fetch('https://removebgtool.net/v1.0/removebg', {
  method: 'POST',
  headers: { 'X-API-Key': 'YOUR_API_KEY' },
  body: form,
  signal: AbortSignal.timeout(180000),
});
if (!response.ok) throw new Error(await response.text());
await writeFile('no-bg.png', Buffer.from(await response.arrayBuffer()));

Réponse

HTTP 200 renvoie les octets de l’image. Accept: application/json renvoie data.result_b64 et les dimensions. En-têtes : X-Width, X-Height, X-Credits-Charged, X-Foreground-Top/Left/Width/Height et X-Request-ID. Les coordonnées se réfèrent au canevas d’entrée normalisé. Pas de classification ni de X-Type. GET /v1.0/account renvoie data.attributes.credits et api.free_calls (0).

{
  "data": {
    "result_b64": "...",
    "result_width": 625,
    "result_height": 400,
    "credits_charged": 1
  }
}

Limites et différences

Entrée : ≤22 Mo, ≤50 Mpx, chaque dimension de 33 à 9999 pixels, JPG/PNG/WebP à une seule image. Les URL HTTPS doivent être publiques, directes et sur le port 443 ; redirections et réseaux privés sont refusés. size vaut preview par défaut (0,25 Mpx) ; medium=1,5 Mpx, hd=4 Mpx, full/4k/auto=25 Mpx, 50MP=50 Mpx. PNG et auto sont plafonnés à 10 Mpx. Aucun agrandissement. Contrairement à remove.bg, auto ne dépend pas du solde.

L’API utilise vos crédits existants. Le coût actuel par image figure dans le tableau de bord et dans X-Credits-Charged. Aperçu et pleine résolution coûtent autant. Aucun quota API mensuel gratuit distinct n’est inclus.

Erreurs et nouvelles tentatives

400 entrée/paramètres invalides · 402 crédits insuffisants · 403 clé/forfait invalide · 409 conflit/en cours/expiration d’idempotence · 415 encodage non pris en charge · 429 limite de débit · 502/503 erreur ou saturation du prestataire · 504 délai dépassé. Respectez Retry-After sur 429/503 et utilisez un backoff exponentiel pour les 5xx temporaires. Gardez les clés sur le serveur.

{
  "errors": [
    {
      "title": "Insufficient credits.",
      "code": "insufficient_credits"
    }
  ]
}

Idempotency-Key est facultatif : réutilisez clé, image et paramètres identiques pour rejouer un succès pendant 10 minutes sans nouveau débit. Le replay reprend X-Credits-Charged et ajoute X-Idempotent-Replayed: true. Les requêtes en cours renvoient 409. Les clés échouées ou expirées restent réservées : utilisez une nouvelle clé pour une nouvelle requête facturable. Sans cet en-tête, chaque requête est indépendante. Prévoyez un délai client de 180 secondes.

Liste de vérification pour la migration

1. Créez une clé sur un forfait avec API. 2. Changez le domaine en gardant /v1.0/removebg. 3. Vérifiez limites et paramètres non pris en charge. 4. Testez images, erreurs et facturation. 5. Basculez la production. Ce service est indépendant de remove.bg.Voir le guide de migration

Une interface compatible ne garantit pas des résultats d’IA identiques. Testez vos images avant de migrer.