Guía de la API · fecha límite: 1 de diciembre de 2026
Migrar desde la API de remove.bg
La API de autoservicio de remove.bg deja de aceptar solicitudes el 1 de diciembre de 2026. Aquí tienes los parámetros de remove.bg con sus equivalentes en Deep-Image y la misma llamada antes y después.
Crea una cuenta gratuita y copia tu clave en Mi perfil → API. Todos los ejemplos de esta página se han ejecutado contra la API en producción.
De un vistazo
Endpoint
POST api.remove.bg
POST deep-image.ai
Cabecera de autenticación
X-Api-Key:
x-api-key:
Respuesta
bytes de la imagen
{"status": "complete",
JSON con una URL del resultado
El único cambio que necesita toda integración: remove.bg responde con el archivo de imagen y Deep-Image responde con un JSON en el que la imagen está en result_url.
remove.bg
200 OK · image/png
Deep-Image
200 OK · application/json
{
"status": "complete",
"job": "c59857c0-…",
"result_url": "https://…/no-bg.png"
}Síncrono · el más parecido a remove.bg
POST/rest_api/process_result
Espera al trabajo (hasta unos 25 segundos) y devuelve result_url. Si tarda más, status no es complete: consulta el resultado.
Asíncrono · lotes
POST/rest_api/process
Responde al instante con un id de job. Añade "webhooks": {"complete": "https://…"} para recibir el resultado en tu servidor.
Consulta (polling)
GET/rest_api/result/{job}
Devuelve el estado del trabajo y, cuando termina, su result_url.
URL base https://deep-image.ai/rest_api. Envía JSON o datos multipart con la imagen en cualquier campo de archivo y el resto de parámetros como texto JSON en un campo llamado parameters.
Equivalencia de parámetros
Solicitud
Autenticación y cómo se envía la imagen
X-Api-Key headerx-api-key headerLa misma cabecera; usa tu clave de API de Deep-Image.
image_filemultipart file field (any name)Envía el resto de parámetros como JSON en un campo multipart llamado parameters.
image_urlurlCualquier URL pública de imagen.
image_file_b64urlComo data URL: "data:image/jpeg;base64,…".
Fondo
Qué pasa con el fondo
typebackground.removeauto → "auto", person → "human", product / car / animal / transportation → "item".
bg_colorbackground.colorHexadecimal con # delante ("#81d4fa") o un nombre de color ("white").
bg_image_urlbackground.replaceURL de la nueva imagen de fondo.
Resultado
Formato, encuadre y tamaño
formatoutput_format"png", "jpg" o "webp". Usa "png" o "webp" para conservar la transparencia.
crop + crop_marginfit: {"crop": "item"} + paddingpadding en píxeles (40) o en porcentaje ("10%").
sizewidth / heightEl resultado siempre tiene resolución completa. Usa width o height para cambiar el tamaño; un valor mayor amplía la imagen en la misma llamada.
Antes y después
Elimina el fondo de un archivo local y guarda un PNG transparente. Elige tu lenguaje.
curl -H "X-Api-Key: $REMOVE_BG_API_KEY" \
-F "image_file=@photo.jpg" \
-F "size=auto" \
-f https://api.remove.bg/v1.0/removebg -o no-bg.pngrm -f job.json
curl -sf https://deep-image.ai/rest_api/process_result \
-H "x-api-key: $DEEP_IMAGE_API_KEY" \
-F "image=@photo.jpg" \
-F 'parameters={"background": {"remove": "auto"}, "output_format": "png"}' \
-o job.json
if [ ! -s job.json ]; then
echo "Request failed" >&2
elif [ "$(jq -r .status job.json)" = "complete" ]; then
curl -sf -o no-bg.png "$(jq -r .result_url job.json)"
else
echo "Still processing, poll GET /rest_api/result/$(jq -r .job job.json)"
fiimport os
import requests
response = requests.post(
"https://api.remove.bg/v1.0/removebg",
headers={"X-Api-Key": os.environ["REMOVE_BG_API_KEY"]},
files={"image_file": open("photo.jpg", "rb")},
data={"size": "auto"},
)
response.raise_for_status()
with open("no-bg.png", "wb") as out:
out.write(response.content)import json
import os
import requests
with open("photo.jpg", "rb") as image:
response = requests.post(
"https://deep-image.ai/rest_api/process_result",
headers={"x-api-key": os.environ["DEEP_IMAGE_API_KEY"]},
files={"image": image},
data={"parameters": json.dumps({
"background": {"remove": "auto"},
"output_format": "png",
})},
)
response.raise_for_status()
job = response.json()
if job["status"] == "complete":
result = requests.get(job["result_url"])
result.raise_for_status()
with open("no-bg.png", "wb") as out:
out.write(result.content)
else:
print("Still processing, poll GET /rest_api/result/" + job["job"])import { readFile, writeFile } from "node:fs/promises";
const form = new FormData();
form.append("image_file", new Blob([await readFile("photo.jpg")]), "photo.jpg");
form.append("size", "auto");
const response = await fetch("https://api.remove.bg/v1.0/removebg", {
method: "POST",
headers: { "X-Api-Key": process.env.REMOVE_BG_API_KEY },
body: form,
});
if (!response.ok) throw new Error(`${response.status} ${await response.text()}`);
await writeFile("no-bg.png", Buffer.from(await response.arrayBuffer()));import { readFile, writeFile } from "node:fs/promises";
const form = new FormData();
form.append("image", new Blob([await readFile("photo.jpg")]), "photo.jpg");
form.append("parameters", JSON.stringify({
background: { remove: "auto" },
output_format: "png",
}));
const response = await fetch("https://deep-image.ai/rest_api/process_result", {
method: "POST",
headers: { "x-api-key": process.env.DEEP_IMAGE_API_KEY },
body: form,
});
if (!response.ok) throw new Error(`${response.status} ${await response.text()}`);
const job = await response.json();
if (job.status === "complete") {
const result = await fetch(job.result_url);
if (!result.ok) throw new Error(`download failed: ${result.status}`);
await writeFile("no-bg.png", Buffer.from(await result.arrayBuffer()));
} else {
console.log(`Still processing, poll GET /rest_api/result/${job.job}`);
}Elimina el fondo y amplía
remove.bg no amplía imágenes. Añade width o height a una solicitud de eliminación de fondo y el recorte se amplía en el mismo trabajo, por 1 crédito. Un porcentaje como "400%" escala respecto a la entrada.
curl -s https://deep-image.ai/rest_api/process_result \
-H "x-api-key: $DEEP_IMAGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://deep-image.ai/api-example2.jpg",
"background": {"remove": "auto"},
"width": 2048,
"output_format": "png"
}'{
"status": "complete",
"job": "c59857c0-c0a3-11f1-a1a1-9638fcd7d474",
"result_url": "https://neuroapi-store.s3…/0254be37-….png"
}Asíncrono con un webhook
Tu app
Hace POST a /rest_api/process con webhooks.complete.
Deep-Image
Responde al instante con un id de trabajo y procesa la imagen.
Tu webhook
Recibe job, status y result_url.
Descarga
Descarga result_url y guarda la imagen.
curl -s https://deep-image.ai/rest_api/process \
-H "x-api-key: $DEEP_IMAGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://deep-image.ai/api-example2.jpg",
"background": {"remove": "auto", "color": "#ffffff"},
"output_format": "jpg",
"webhooks": {"complete": "https://example.com/deep-image-webhook"}
}'{
"job": "ff4620ba-c0a3-11f1-ac5a-a63afc00aaa0",
"status": "complete",
"result_url": "https://neuroapi-store.s3…/result.jpg",
"data": { … the parameters you sent … }
}¿No tienes un endpoint público?
Prescinde del webhook y consulta el trabajo con su id de job hasta que status sea complete; después, descarga result_url.
curl -s https://deep-image.ai/rest_api/result/$JOB \
-H "x-api-key: $DEEP_IMAGE_API_KEY"¿Necesitas ayuda?
Nuestro equipo de soporte ayuda con las migraciones: envíanos tu llamada actual a remove.bg y te responderemos con su equivalente en Deep-Image. Referencia completa de la API: documentation.deep-image.ai. ¿Comparando proveedores? Consulta Deep-Image vs. remove.bg.
remove.bg, Photoroom, Canva y Leonardo.Ai son marcas comerciales de sus respectivos propietarios. Deep-Image no está afiliado a ellos ni cuenta con su respaldo. Los precios y límites de la competencia se comprobaron el 5 de octubre de 2026 y pueden cambiar.