Documentation API de suppression de fond

Envoyez une image et recevez un PNG transparent avec une seule clé API.

POSThttps://api.remox.ai/v1.0/removebg

Démarrage rapide

Demander l’accès API →

Conservez la clé sur votre serveur, jamais dans un navigateur ou une application publique. Sa rotation préserve votre identité et votre solde.

REMOX_API_KEY

Utilisez JPG, PNG ou WebP statique. Redimensionnez avant envoi ; l’API ne redimensionne pas les images.

Exemples de code →

Authentification

Conservez la clé sur votre serveur, jamais dans un navigateur ou une application publique. Sa rotation préserve votre identité et votre solde.

ChampValeur acceptée
X-API-Keyremox_live_… / remox_test_…
Secret / X-Subuid / X-Platform-User / X-RapidAPI-User—
image_url / Base64 / shadow / refine—

Exemples de code

cURL
# Set REMOX_API_KEY in your environment first.
curl 'https://api.remox.ai/v1.0/removebg' \
  -H "X-API-Key: $REMOX_API_KEY" \
  -H 'Idempotency-Key: image-0001' \
  -F 'image_file=@/path/to/input.jpg' \
  -F 'size=auto' \
  --max-time 75 --fail-with-body \
  -D response-headers.txt -o remox-result.png
# On non-2xx, the output file contains error JSON, not a PNG.

Utilisez JPG, PNG ou WebP statique. Redimensionnez avant envoi ; l’API ne redimensionne pas les images.

input.jpg → image/jpeg · PNG → image/png · WebP → image/webp

Référence des requêtes

POST /v1.0/removebg · multipart/form-data

Utilisez JPG, PNG ou WebP statique. Redimensionnez avant envoi ; l’API ne redimensionne pas les images.

ChampObligatoireValeur acceptée
image_file✓JPG / PNG / WebP · ≤20 MiB (20 × 1024 × 1024 bytes) · max(width, height) ≤1920 px · min(width, height) ≤1080 px
size—auto
response_format—image / json
Idempotency-Key—8–128 · A–Z a–z 0–9 . _ : -

Réponses

200 · PNG

response_format=image · Content-Type: image/png

X-Request-ID · X-Task-ID · X-Idempotency-Key

200 · JSON

response_format=json
{
  "requestId": "req_…",
  "taskId": "task_…",
  "data": {
    "result_url": "https://storage.example/result.png?signature=…&expires=…"
  }
}
data.result_url ≠ result_b64

Délais et nouvelles tentatives

Après 60 secondes, une réponse 504 peut indiquer une tâche en cours. Consultez son état ou réessayez avec la même image et Idempotency-Key pour éviter une double facturation.

GET /v1.0/tasks/{taskId}
{
  "requestId": "req_…",
  "taskId": "task_…",
  "status": "completed",
  "progress": null,
  "pollAfterMs": 2000,
  "result": {
    "downloadPath": "/v1.0/tasks/task_…/result",
    "mimeType": "image/png",
    "expiresAt": "2026-10-17T00:00:00.000Z"
  }
}
GET /v1.0/tasks/{taskId}/result
GET /v1.0/tasks/{taskId}/result?response_format=json

creating → queued → processing → completed / failed / timed_out

Retry-After · pollAfterMs: 2000 · X-API-Key

Compte et crédits

Les crédits sont réservés à la création, consommés en cas de succès et libérés en cas d’échec ou d’expiration. Un délai synchrone ne les libère pas.

ChampValeur acceptée
creditsavailable / reserved / consumed
GET /v1.0/accountX-API-Key
POST → AI300 ms
POST → 50460 s
task → timed_out35 min
task_expired90 d
result_expired (Worker)7 d

Erreurs

Vérifiez errors et l’état avant de réessayer. Conservez requestId pour le support ; ne journalisez jamais votre clé.

{
  "requestId": "req_…",
  "retryable": false,
  "errors": [
    {
      "code": "invalid_credentials",
      "title": "Invalid API key."
    }
  ]
}
HTTPerrors[].codeErreurs
400invalid_request, invalid_fileRequête invalide
400invalid_size, invalid_response_formatRequête invalide
400invalid_idempotency_key, invalid_subjectRequête invalide
402insufficient_creditsCrédits insuffisants
403invalid_credentialsAccès refusé
403platform_disabled, platform_paused, scope_deniedAccès refusé
404not_found, upload_not_foundIntrouvable
409idempotency_conflictConflit ou tâche inachevée
409result_not_readyConflit ou tâche inachevée
410task_expired, result_expiredExpiré
413file_too_largeFichier trop volumineux
415invalid_image, animated_image_unsupportedImage non prise en charge
422image_dimensions_exceededDimensions dépassées
429rate_limit_exceeded, hourly_quota_exhausted, inflight_limit_exceededLimite de requêtes atteinte
502upload_failed, upstream_rejected, upstream_unavailableÉchec du service amont
502create_result_unknown, remote_service_error, invalid_result, result_unavailable, task_failed, task_timeoutÉchec du service amont
503service_not_configured, credit_price_not_configured, server_errorService indisponible
504sync_timeoutDélai synchrone dépassé

retryable: 429 / 5xx

Après 60 secondes, une réponse 504 peut indiquer une tâche en cours. Consultez son état ou réessayez avec la même image et Idempotency-Key pour éviter une double facturation.

Compatibilité

Suppression de fond avec clé seule uniquement. Toutes les options de remove.bg ne sont pas implémentées. Les URL JSON sont une extension REMOX.

Demander l’accès API →