Elimina fondos de imágenes mediante API REST. La misma calidad de IA que la web, con prioridad de cola para integraciones.
La API de remove.es permite eliminar fondos de imágenes de forma programática. Envías una imagen, recibes la imagen procesada sin fondo. Misma tecnología de IA que la web.
Todas las peticiones requieren una API key en la cabecera X-API-Key.
# Incluir en cada petición:
X-API-Key: tu_clave_aqui
Elimina el fondo de una imagen. Petición multipart/form-data.
| Parámetro | Tipo | Descripción |
|---|---|---|
image | file | Imagen a procesar (obligatorio) |
quality | string | std (rápido, ~5s) o hd (máxima calidad, ~25s). Default: std |
fmt | string | png o webp. Default: png |
Respuesta exitosa (200): imagen binaria (image/png o image/webp) con cabeceras:
| Cabecera | Descripción |
|---|---|
X-Job-Id | ID del job procesado |
X-Elapsed-S | Segundos de procesamiento |
Si recibes un 504 Gateway Timeout, el trabajo sigue procesándose en el servidor. Reintenta la misma petición pasados 15-30 segundos — si el resultado está en caché, la respuesta será instantánea.
Consulta tu consumo mensual.
{
"month": "2026-07",
"used": 142,
"limit": 1000,
"plan": "api-basic"
}
curl -X POST https://remove.es/api/v1/remove \ -H "X-API-Key: tu_clave" \ -F "image=@foto.jpg" \ -F "quality=std" \ -F "fmt=png" \ -o resultado.png
import requests response = requests.post( "https://remove.es/api/v1/remove", headers={"X-API-Key": "tu_clave"}, files={"image": open("foto.jpg", "rb")}, data={"quality": "std", "fmt": "png"}, timeout=120 ) if response.status_code == 200: with open("resultado.png", "wb") as f: f.write(response.content) print(f"Job: {response.headers['X-Job-Id']}") print(f"Tiempo: {response.headers['X-Elapsed-S']}s") elif response.status_code == 504: print("Timeout — reintentar en 15-30s") else: print(f"Error {response.status_code}: {response.text}")
<?php $ch = curl_init('https://remove.es/api/v1/remove'); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_HTTPHEADER => ['X-API-Key: tu_clave'], CURLOPT_POSTFIELDS => [ 'image' => new CURLFile('foto.jpg'), 'quality' => 'std', 'fmt' => 'png', ], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 120, ]); $result = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($code === 200) { file_put_contents('resultado.png', $result); } ?>
const formData = new FormData(); formData.append('image', fileInput.files[0]); formData.append('quality', 'std'); formData.append('fmt', 'png'); const res = await fetch('https://remove.es/api/v1/remove', { method: 'POST', headers: { 'X-API-Key': 'tu_clave' }, body: formData }); if (res.ok) { const blob = await res.blob(); const url = URL.createObjectURL(blob); console.log('Job:', res.headers.get('X-Job-Id')); // usar url para mostrar o descargar } else if (res.status === 504) { // Reintentar en 15-30 segundos }
| Código | Descripción |
|---|---|
400 | Imagen inválida o formato no soportado |
401 | API key inválida o no proporcionada |
429 | Cuota excedida o demasiados errores de autenticación (>30 errores 401/hora por IP) |
504 | Timeout (90s). El trabajo sigue procesándose — reintentar en 15-30s |