Let's Build: eliminador de fondos con Transloadit
Elimina el fondo de una foto de producto o un retrato local y guarda el resultado como PNG. Este ejemplo sube una imagen a Transloadit, espera a que termine el procesamiento y descarga el resultado en un nuevo archivo local.
Qué vamos a crear
El comando acepta un archivo PNG o JPEG no vacío de hasta 20 MiB y requiere una ruta de salida
explícita que termine en .png. Estos son los límites del programa de este
tutorial. El archivo original no se modifica; inspecciona la imagen guardada antes de usarla en un
catálogo o diseño.
La eliminación de fondos tiene un costo. Necesitas la Auth Key y el Secret de un Workspace existente de Transloadit y una imagen que tengas permiso para subir. No necesitas credenciales adicionales de un proveedor de IA. La receta mantiene la selección automática predeterminada del proveedor del Robot; el programa no crea ni modifica credenciales. Revisa los precios antes de ejecutarlo con más archivos.
Descripción general del pipeline
El Robot 🤖 /image/bgremove recibe la imagen subida y genera el PNG. Después, el programa guarda el resultado localmente, por lo que no necesitas conservar una URL temporal del resultado.
Local PNG or JPEG → upload → /image/bgremove → download → result.png
Fragmento de Assembly
El programa descargable exporta su receta como example. Con la estructura de
proyecto que se muestra a continuación, este código TypeScript lee las mismas
Assembly Instructions que usa el comando, sin
enviar una Assembly:
import { example } from './background-remover/run.ts'
const steps = example.steps()
Su Step remove_background usa :original, establece
format: 'png' y marca la salida con result: true. Si adaptas el
pipeline, guarda los cambios en la receta descargada para que el comando y tu aplicación usen las
mismas instrucciones.
Prueba la aplicación de ejemplo
Primero instala Node.js 26,
Corepack y cURL. El entorno de ejecución probado fue Node.js 26.12.1;
para instalaciones nuevas, usa una versión de parche de Node.js 26 que siga recibiendo mantenimiento.
Corepack es un requisito independiente. Empieza en un directorio nuevo y vacío fuera de un proyecto
Node existente y sigue el README del ejemplo para instalar y descargar
la aplicación. El ejemplo fija Yarn 4.12.0, @transloadit/node 4.14.0,
zod 3.25.76 y zod-to-json-schema 3.25.2 como una combinación
probada, sin afirmar que sean las versiones más recientes de los paquetes. Ejecuta los comandos de
instalación uno a la vez y detente si alguno falla.
Descarga tanto background-remover/run.ts como shared/runtime.ts con los comandos del
README. Su ubicación relativa importa: el programa importa ../shared/runtime.ts. Ejecuta el
comando --help del README antes de configurar el acceso; funciona sin
credenciales. Conserva el archivo de bloqueo generado si adaptas el ejemplo.
En la misma sesión de shell, exporta tus credenciales existentes y sustituye los marcadores de posición localmente:
export TRANSLOADIT_AUTH_KEY='YOUR_AUTH_KEY'
export TRANSLOADIT_AUTH_SECRET='YOUR_AUTH_SECRET'
Mantén el Secret fuera del control de versiones y del código del navegador. El programa lee estas variables de entorno directamente; no carga un archivo de entorno.
Coloca tu imagen en input.jpg o sustituye el argumento de entrada por su ruta.
Elige un nombre de archivo de salida que no exista. Ejecutar este comando autoriza un procesamiento
con cargo:
node background-remover/run.ts --input ./input.jpg --output ./result.png
Si la ejecución tiene éxito, la terminal imprime Saved
seguido de la ruta de salida local. Abre result.png en un editor de imágenes que
muestre la transparencia o colócalo sobre un fondo que contraste. Comprueba que el fondo se haya
vuelto transparente y que el sujeto, los bordes y los detalles finos sigan siendo utilizables. Una
Assembly completada y un PNG válido por sí solos no demuestran que el recorte sea bueno.
El programa rechaza un destino existente antes de enviar una Assembly, por lo que cada nueva ejecución necesita un nombre de archivo de salida nuevo. Limita el resultado descargado a 20 MiB, permite hasta cinco minutos de procesamiento y asigna a la descarga del resultado un tiempo de espera independiente de 30 segundos. Si una ejecución falla después de imprimir un ID de la Assembly, inspecciona esa Assembly en la Console antes de volver a intentarlo. Un tiempo de espera agotado o una interrupción local no demuestran que el procesamiento remoto se haya detenido, y el procesamiento fallido puede generar cargos de todos modos. El programa no reintenta automáticamente una Assembly.
Imágenes de entrada sugeridas
Empieza con una foto de producto sin información sensible y con un contorno claro, o con un retrato que tengas permiso para subir. Compara el PNG guardado con el original a la misma escala. El cabello, los materiales translúcidos, las sombras y los objetos en primer plano que se parecen al fondo requieren una inspección minuciosa; elige otra imagen de entrada si el recorte elimina algo que necesitas.
Próximos pasos
Después de inspeccionar el recorte, puedes ampliar la receta descargada con Steps para cambiar el tamaño o generar miniaturas. La documentación del Robot describe las opciones disponibles para eliminar fondos. Conserva el PNG local como resultado revisado antes de crear un flujo de trabajo de subida más amplio.
