Documentación de la API para quitar fondos
Envía una imagen y recibe un PNG transparente con una sola clave API.
https://api.remox.ai/v1.0/removebgInicio rápido
Solicitar acceso API →Guarda la clave emitida en tu servidor. No la expongas en navegadores ni aplicaciones. Rotarla conserva la identidad y el saldo del cliente.
REMOX_API_KEYUsa JPG, PNG o WebP estático. Ajusta el tamaño antes de subir; la API no redimensiona imágenes.
Ejemplos de código →Autenticación
Guarda la clave emitida en tu servidor. No la expongas en navegadores ni aplicaciones. Rotarla conserva la identidad y el saldo del cliente.
| Campo | Valor permitido |
|---|---|
| X-API-Key | remox_live_… / remox_test_… |
| Secret / X-Subuid / X-Platform-User / X-RapidAPI-User | — |
| image_url / Base64 / shadow / refine | — |
Ejemplos de código
# 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.Usa JPG, PNG o WebP estático. Ajusta el tamaño antes de subir; la API no redimensiona imágenes.
input.jpg → image/jpeg · PNG → image/png · WebP → image/webpReferencia de solicitud
POST /v1.0/removebg · multipart/form-dataUsa JPG, PNG o WebP estático. Ajusta el tamaño antes de subir; la API no redimensiona imágenes.
| Campo | Obligatorio | Valor permitido |
|---|---|---|
| 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 . _ : - |
Respuestas
200 · PNG
response_format=image · Content-Type: image/pngX-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_b64Tiempos de espera y reintentos
Tras 60 segundos, un 504 puede indicar que la tarea continúa. Consulta su estado o reintenta con la misma imagen e Idempotency-Key para evitar cargos duplicados.
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=jsoncreating → queued → processing → completed / failed / timed_out
Retry-After · pollAfterMs: 2000 · X-API-Key
Cuenta y créditos
Los créditos se reservan al crear la tarea, se consumen al completarla y se liberan al fallar o caducar. El tiempo de espera síncrono no los libera.
| Campo | Valor permitido |
|---|---|
| credits | available / reserved / consumed |
| GET /v1.0/account | X-API-Key |
| POST → AI | 300 ms |
| POST → 504 | 60 s |
| task → timed_out | 35 min |
| task_expired | 90 d |
| result_expired (Worker) | 7 d |
Errores
Revisa errors y el estado antes de reintentar. Conserva requestId para soporte; nunca registres tu clave.
{
"requestId": "req_…",
"retryable": false,
"errors": [
{
"code": "invalid_credentials",
"title": "Invalid API key."
}
]
}| HTTP | errors[].code | Errores |
|---|---|---|
| 400 | invalid_request, invalid_file | Solicitud inválida |
| 400 | invalid_size, invalid_response_format | Solicitud inválida |
| 400 | invalid_idempotency_key, invalid_subject | Solicitud inválida |
| 402 | insufficient_credits | Créditos insuficientes |
| 403 | invalid_credentials | Acceso denegado |
| 403 | platform_disabled, platform_paused, scope_denied | Acceso denegado |
| 404 | not_found, upload_not_found | No encontrado |
| 409 | idempotency_conflict | Conflicto o tarea pendiente |
| 409 | result_not_ready | Conflicto o tarea pendiente |
| 410 | task_expired, result_expired | Caducado |
| 413 | file_too_large | Archivo demasiado grande |
| 415 | invalid_image, animated_image_unsupported | Imagen no admitida |
| 422 | image_dimensions_exceeded | Dimensiones excedidas |
| 429 | rate_limit_exceeded, hourly_quota_exhausted, inflight_limit_exceeded | Límite de solicitudes |
| 502 | upload_failed, upstream_rejected, upstream_unavailable | Fallo del servicio externo |
| 502 | create_result_unknown, remote_service_error, invalid_result, result_unavailable, task_failed, task_timeout | Fallo del servicio externo |
| 503 | service_not_configured, credit_price_not_configured, server_error | Servicio no disponible |
| 504 | sync_timeout | Tiempo de espera síncrono agotado |
retryable: 429 / 5xx
Tras 60 segundos, un 504 puede indicar que la tarea continúa. Consulta su estado o reintenta con la misma imagen e Idempotency-Key para evitar cargos duplicados.
Compatibilidad
Solo eliminación de fondos con clave. No implementa todas las funciones de remove.bg. Las URL de resultados JSON son una extensión de REMOX.
Solicitar acceso API →