- Ampliar imágenes ×2 o ×4. Con Real-ESRGAN, que reconstruye pelo, bordes y texturas en vez de difuminar.
- Quitar fondos. Con U²-Net: el sujeto queda sobre un PNG transparente, a la resolución original.
- Lotes. Soltar cientos de imágenes, procesarlas en cola con los mismos ajustes y descargarlo todo en un ZIP. Si una falla, el resto sigue.
- Comparador antes/después. Una línea que se arrastra sobre el resultado para ver la diferencia en la misma zona.
- Desde cualquier web. Clic derecho sobre una imagen y «Mejorar imagen con IA», o pegarla con Ctrl+V.
- Salida a medida. PNG, WebP o JPEG con control de calidad, descarga con el nombre original o copia directa al portapapeles.
- Progreso real. Mosaicos procesados, tiempo estimado (también en el título de la pestaña) y cancelación inmediata.
- Español, inglés y chino, con modo oscuro.
Los dos modelos van empaquetados dentro de la extensión y los ejecuta ONNX Runtime Web: con WebGPU si hay GPU disponible y con WebAssembly si no. No hay backend, ni API, ni una sola petición con la imagen.
La imagen se amplía en mosaicos de 112 px con 8 px de contexto por cada lado, que luego se descarta al recomponer. Así cabe en memoria una foto grande y no aparecen costuras entre mosaicos.
Cada modelo tiene su propio Web Worker. La imagen se transfiere sin copiarse, y cada petición lleva un identificador para descartar respuestas viejas y poder cancelar entre mosaico y mosaico.
- Un modelo que no cargaba en el navegador. U²-Net usa capas
MaxPool con ceil_mode=1, que ONNX Runtime Web no soporta. Un script las parchea a ceil_mode=0, y como la entrada es siempre de 320 × 320 el resultado es idéntico. - Workers que Chrome mataba en desarrollo. Vite sirve los workers desde
localhost, y Chrome cierra las páginas de extensión que crean workers de otro origen. El build de desarrollo compila copias dentro de la propia extensión. - Un ×2 que prometía ser más rápido. El ×2 se obtiene reduciendo el resultado de ×4, así que tarda más, no menos. Corregí la interfaz para que diga lo que es cierto: archivo más pequeño.
- Lotes que podían tumbar la pestaña. Antes de cada imagen se estima el peor caso de su resultado y, si el lote pasaría de 1,5 GB, esa imagen se marca en rojo con un aviso y la cola sigue con las demás, en vez de agotar la memoria.
- Imágenes que agotaban la memoria. Ahora se rechazan antes de procesarlas las que pasan de 32 megapíxeles, con un mensaje claro en vez de un fallo silencioso.