De 2,5 horas por referencia a 2 minutos, y $4 millones menos de IA al mes
Las fotos del estudio entran sin nombre y salen como el catálogo completo: un OCR local lee la referencia de la etiqueta, las organiza por producto, y un molde visual armado una sola vez se ejecuta sobre cada carpeta sin que nadie supervise.
- 2 min
- Tiempo por referencia, una vez armado el molde
- $4M COP
- Gasto mensual en IA que dejó de pagarse
- −85%
- Horas para producir un lote de 40 referencias
- 24
- Versiones entregadas del cliente de escritorio
El problema
- Cada referencia nueva del catálogo obligaba a repetir a mano el mismo montaje: mismo fondo, mismos encuadres, mismo tratamiento, producto distinto. Un lote de 40 referencias costaba unas 140 horas de trabajo.
- Las fotos llegaban del estudio con nombres de cámara, y el código real del producto solo existía impreso en la etiqueta que aparece dentro de la propia foto.
- Leer ese código con un modelo de IA por cada imagen funcionaba, pero el costo mensual se convirtió en el mayor gasto del proceso.
- Sin un nombre confiable no había forma de automatizar nada aguas abajo: un error de nombre significaba una foto publicada en el producto equivocado.
Qué construimos
Todo empieza por leer la etiqueta en el propio equipo
El primer paso de la aplicación de escritorio es un extractor de referencias que no le pide nada a la nube. Recorta la franja inferior de la foto —donde va la etiqueta—, la amplía dos veces y media, ajusta contraste y corre OCR local acelerado por GPU. Encima aplica las reglas del formato real de esas referencias: el código siempre empieza con dos dígitos, siempre tiene cuatro partes, y si el reconocimiento se comió un separador se reinserta. Antes ese mismo dato se pagaba a un modelo de visión por cada imagen, con cientos de fotos al mes: moverlo al equipo del cliente eliminó $4.000.000 de pesos mensuales.
Renombrar y agrupar no es cosmética: es la estructura
Con la referencia ya leída, la app renombra cada foto como referencia más número de toma, resuelve colisiones y organiza todo en una carpeta por producto. Ese número de toma es exactamente lo que después le dice al molde qué foto va en qué prompt —"esta vista usa solo la foto 2"—, así que el orden se decide una sola vez y significa lo mismo en las dos aplicaciones. Y la carpeta por referencia es la unidad que consume el modo masivo. Antes de tocar nada, la app copia la carpeta original completa: el proceso es reversible.
El molde se arma una vez; producir deja de ser trabajo
En la web se construye el flujo en un lienzo de nodos: las imágenes fijas de referencia —estilo, escenario, iluminación—, los nodos de prompt que describen cada toma del catálogo y los textos que cambian. Eso es el molde, y armarlo bien toma unas 20 horas para un catálogo completo. Es la única parte que sigue siendo trabajo humano.
Una subcarpeta es un producto
El modo masivo apunta a la carpeta contenedora que dejó el paso anterior, ya subida a Drive. Cada subcarpeta es una referencia y se procesa en secuencia: sube sus fotos, reemplaza por completo las imágenes variables del molde, corre todos los prompts del flujo, entrega las salidas y marca la subcarpeta como procesada para no repetirla nunca. En secuencia y no en paralelo a propósito: como todas comparten el mismo molde, adelantarse mezclaría fotos de dos productos en una misma salida. Son unos 2 minutos por referencia, sin nadie mirando.
Cada salida sabe de qué producto y de qué vista es
El nombre de la imagen generada combina la referencia del producto con el número que el usuario le puso a ese prompt en la web, no con el orden en que se procesó: así la misma vista conserva siempre el mismo identificador aunque se corran unos prompts u otros. Cuando una foto entra sin haber pasado por el renombrador, queda marcada como genérica y ahí sí interviene la IA para leer la etiqueta, con una sola llamada para todo el lote. El resultado se entrega en la carpeta de Drive del cliente, que es su entregable real, y el historial queda registrado apuntando a ese archivo.
Pensada para cómo trabaja de verdad un estudio
El fotógrafo sube por tandas, no todo de golpe. En el modo de carpeta única el sistema espera unos minutos sin movimiento antes de generar, para no disparar una corrida con el set incompleto y pagar llamadas de más. Cada lote es todo-o-nada: si algo falla a media subida, la carpeta no se marca y se reintenta entera. Y si faltan las dependencias de nube, el extractor local sigue funcionando por su cuenta.
Alcance entregado
- Extractor de referencia por OCR local acelerado por GPU
- Reglas de formato propias del catálogo del cliente
- Renombrado por referencia y número de toma, con respaldo previo
- Organización automática en una carpeta por producto
- Agrupación sin OCR para archivos ya nombrados
- Editor visual de flujos en lienzo (nodos y conexiones)
- Nodos de imagen fija y variable, prompt y texto
- Selección de qué toma usa cada prompt, por posición
- Generación con modelos de imagen de Google, configurable por nodo
- Ejecución masiva desatendida: una subcarpeta = un producto
- Lectura de referencia por IA como respaldo, una llamada por lote
- Sincronización con Google Drive y entrega en carpeta del cliente
- Reintento todo-o-nada y registro de lo ya procesado
- Galería, visor e historial de generaciones
- Cuentas, organizaciones y ajustes por usuario
- Instaladores para Windows y macOS
Con qué está construido
- React 19
- TypeScript
- React Flow
- Vite
- Supabase
- Google Gemini
- Python
- EasyOCR
- OpenCV
- Google Drive API
- Google Cloud Run
Por qué este sistema es difícil de replicar
Llamar a un modelo de imagen lo hace cualquiera. Lo difícil es la cadena completa: que el dato que identifica al producto se lea gratis dentro de la propia foto, que ese nombre ordene las tomas, que esa organización alimente un molde reutilizable y que 40 referencias salgan consistentes y bien nombradas sin nadie supervisando la corrida.