Ampliar y reparar imágenes en ComfyUI: Hires Fix, FaceDetailer e inpainting

"El tutorial oficial de upscaling de ComfyUI explica Load Upscale Model, Upscale Image (Using Model) y el directorio upscale_models."
Generaste un personaje de 768×1024. La composición y la luz funcionan, pero el rostro lejano está borroso. Una ampliación directa 4x endurece los detalles; FaceDetailer cambia la persona; y un inpaint sobre un defecto pequeño modifica el color de todo el fondo.
El upscaling de píxeles, el remuestreo latente, FaceDetailer y el inpainting manual resuelven problemas distintos. A continuación verás conexiones, significado de parámetros, una primera tarea para cada ruta y cómo diagnosticar borrosidad, cambios fuera de la máscara y deriva del rostro.
Cuatro rutas de posprocesado con límites diferentes
Después de conseguir una imagen satisfactoria suelen quedar tres problemas: poca resolución, detalles blandos o un defecto local. ComfyUI ofrece cuatro rutas principales y cada una tiene un alcance distinto.
El upscaling de píxeles usa ESRGAN u otro modelo para aumentar dimensiones. Normalmente no vuelve a samplear el prompt ni cambia deliberadamente la composición, aunque el modelo de superresolución puede reconstruir o inventar textura. Es la opción adecuada si la imagen ya está bien y solo debe ser más grande.
El remuestreo latente amplía el latent y vuelve a samplearlo. Permite cambios de estructura y sirve para regenerar material o detalle.
FaceDetailer detecta un rostro y lo repara localmente. Funciona con caras pequeñas y borrosas. Las manos y otros objetos necesitan el Detector y Detailer adecuados o una máscara manual; FaceDetailer no es una reparación universal.
El inpainting manual usa Mask Editor para marcar la zona prioritaria. Es útil para el borde de un logo, un defecto de fondo o un objeto concreto, pero sampling y compositing pueden alterar el aspecto fuera de la máscara.
Estas rutas no son equivalentes. El upscaling no garantiza identidad, FaceDetailer no es face swap y el inpainting no asegura que cada píxel externo quede idéntico. Primero clasifica el problema: tamaño, detalle nuevo, zona detectada o cambio local.
Upscaling de píxeles: UpscaleModelLoader + Upscale Image using Model
Es la ruta de posprocesado más simple. Si la imagen ya es correcta y solo necesita mayor salida, suele ser el punto de partida menos destructivo.
Primera tarea de ampliación
Partimos de una imagen de 768×1024 que debe salir más grande.
Descarga un modelo adecuado desde Real-ESRGAN u otra fuente fiable, como RealESRGAN_x4plus.pth o RealESRGAN_x4plus_anime_6B.pth.
Coloca el archivo en ComfyUI/models/upscale_models/.
Actualiza la interfaz o reinicia ComfyUI para volver a escanear la lista. Si no aparece, revisa ruta, extensión y extra_model_paths.yaml.
Conecta los nodos. UpscaleModelLoader selecciona el modelo. Upscale Image (Using Model) recibe upscale_model e image; conecta la imagen generada a la entrada image.
Ejecuta y comprueba las dimensiones. Un modelo 4x suele producir cuatro veces el ancho y el alto, pero la salida real del nodo manda sobre tamaño y recursos.
Elegir un modelo de upscaling
| Modelo | Buen punto de partida | Características |
|---|---|---|
| 4x-ESRGAN | Uso general | Ejemplo del tutorial oficial y referencia útil |
| RealESRGAN_x4plus | Fotos y escenas realistas | Restauración general para probar texturas naturales |
| RealESRGAN_x4plus_anime_6B | Anime e ilustración | Orientado a anime, útil para líneas y colores planos |
| realesr-general-x4v3 | Uso general ligero | Alternativa ligera para comparar varias imágenes |
No hay un mejor modelo universal. El resultado depende del tipo de imagen, estilo del modelo base, artefactos y escala. Prueba un modelo anime con ilustraciones y uno general con fotos, y compara bordes, piel, cabello y texturas finas.
Recordatorio del directorio
Los modelos suelen ir en upscale_models, no en upscale_model. UpscaleModelLoader también puede leer directorios de extra_model_paths.yaml. Si la lista no cambia, revisa archivo y ruta antes de actualizar o reiniciar.
Ampliar el latent y volver a samplear: LatentUpscale + KSampler
El upscaling de píxeles no reinterpreta el prompt. Para regenerar material o detalle después de ampliar, agranda el latent y ejecuta otro sampling. denoise controla cuánto se conserva y cuánto se redibuja.
Parámetros de LatentUpscale
| Parámetro | Función | Notas |
|---|---|---|
upscale_method | Algoritmo de ampliación | Opciones comunes: nearest-exact, bilinear, bislerp |
width / height | Dimensiones objetivo | Un lado en 0 conserva la proporción a partir del otro |
crop | Recorte | Opciones comunes: disabled y center |
LatentUpscale produce un latent mayor que pasa a KSampler. Un denoise cercano a 1,0 regenera más: pueden aumentar los detalles, pero composición, rostro y ropa cambian con facilidad. Cerca de 0,0 conserva más del origen y añade menos información.
No existe una receta para todos los modelos. Si solo buscas un poco de detalle, empieza bajo. Mantén seed, sampler, steps, CFG, checkpoint y pesos LoRA, y cambia una variable. Si el rostro o la ropa empiezan a desviarse, vuelve al último valor estable.
Diferencia frente al upscaling de píxeles
| Ruta | ¿Cambia la estructura? | ¿Añade detalle? | Cuándo usarla |
|---|---|---|---|
| Upscaling de píxeles | Normalmente no cambia la composición de forma intencional | Reconstruye detalle de píxeles | El origen es correcto y solo necesita resolución |
| Remuestreo latente | Sí, según denoise | Regenera detalles | Se acepta cierta variación y se quiere redibujar material o estructura local |
El remuestreo latente no es un resize simple. Si el workflow ya usa ControlNet, IPAdapter o regional prompting, una segunda pasada puede debilitar esas condiciones. Guarda origen y workflow antes de probar una rama aparte.
Reparar rostros con FaceDetailer de Impact Pack
Un rostro pequeño y borroso es un fallo habitual. FaceDetailer combina detección facial y Detailer en Impact Pack: detecta una zona y aplica detail o inpaint al recorte. Mejora caras pequeñas, pero no controla identidad ni hace face swap.
Instalar Impact Pack
Impact Pack es un paquete externo de custom nodes. El maintainer recomienda ComfyUI Manager. Busca ComfyUI-Impact-Pack, instala y reinicia ComfyUI.
Impact Pack cambia con frecuencia, incluida su estructura y requisitos. El README actual también indica que algunos Ultralytics Detector Provider necesitan Impact Subpack por separado. Si un workflow antiguo muestra nodos rojos, detector ausente o parámetros diferentes, revisa README, Subpack y Manager actuales en lugar de copiar una captura vieja.
Primera reparación facial
Supongamos que la imagen tiene un rostro lejano blando.
Añade FaceDetailer desde el menú de Impact Pack.
Conecta image, model, clip, vae, detector y demás entradas requeridas. Pueden variar según la versión; usa el nodo instalado y el README actual.
Revisa primero la zona detectada, guide_size, max_size, noise_mask, inpaint_model y cycle. guide_size fija el tamaño de referencia para detallar una zona pequeña; max_size limita su lado largo y el uso de VRAM.
Empieza con denoise conservador. 0,3–0,5 es un rango práctico inicial, no un valor oficial. Cuanto menor sea el rostro y mayor el recuadro, más prudente debe ser el ajuste.
Compara origen y resultado. El rostro debe verse más claro sin modificar de forma innecesaria identidad, expresión, cabello o fondo.
Parámetros de FaceDetailer
| Parámetro | Función | Ajuste recomendado |
|---|---|---|
guide_size | Tamaño de referencia de la zona | Empezar moderado; valores altos aumentan redibujo y VRAM |
max_size | Tamaño máximo procesado | Limitar recuadros grandes y consumo de VRAM |
noise_mask | Activa o desactiva noise mask en la zona | Tratarlo como interruptor y verificar la versión instalada |
inpaint_model | Usa la ruta de un modelo inpaint | Configurarlo con un checkpoint inpaint dedicado |
cycle | Número de pasadas de Detailer | Empezar con 1; repetir puede alejarse del rostro original |
El detector decide la zona. Si FaceDetailer empeora el rostro, confirma la detección y reduce zona, denoise o guide size. Una mano deformada necesita detector de manos y Detailer o inpainting manual; FaceDetailer no la arregla automáticamente.
Límites de FaceDetailer
FaceDetailer mejora detalles faciales, pero no promete conservar la identidad. Para eso usa FaceID, InstantID, ReActor o LoRA. Con una persona real, utiliza únicamente material propio o autorizado.
Inpainting manual: cambiar una zona sin reconstruir todo
Para el borde de un logo, un defecto de fondo o una mano, el inpainting manual suele ofrecer más control. La máscara fija la prioridad, pero la zona afectada depende de encoding, conditioning, denoise y compositing.
Pasos en Mask Editor
Partimos de una imagen de producto con un pequeño defecto de fondo.
Carga el origen en Load Image, haz clic derecho y elige Open in MaskEditor.
Pinta solo la zona que necesita corrección.
Usa el borrador para retirar exceso y deja una transición razonable.
Pulsa Save para devolver la máscara al nodo y usarla en la ruta de inpainting.
Dos conexiones comunes de inpainting
Los workflows nativos suelen utilizar una de dos rutas de conditioning. No hace falta encadenarlas de forma mecánica.
La primera usa VAE Encode (for Inpainting). Recibe pixels, vae, mask y grow_mask_by, y devuelve un latent con noise mask. Conecta ese latent a KSampler y decodifica con VAE Decode.
La segunda usa InpaintModelConditioning. Recibe positive, negative, vae, pixels y mask, y produce positive y negative procesados junto con un latent para KSampler. Sirve para workflows que necesitan conditioning inpaint específico.
KSampler recibe model, positive, negative, latent y demás parámetros de sampling. La VAE está en los nodos de codificación y decodificación antes y después; no se conecta directamente a KSampler.
Función de grow_mask_by
grow_mask_by expande la máscara y crea una transición en el latent. Una máscara estrecha produce un borde duro; una grande redibuja partes correctas. Empieza con poca expansión, revisa unión y fondo y aumenta gradualmente.
Corregir uniones visibles
Si hay una unión, brillo distinto o aspecto de parche, aumenta con moderación grow_mask_by, baja denoise y difumina la máscara. Nodos externos añaden Expand Mask y Blur Masked, pero verifica nombres y comportamiento en la versión instalada.
Opciones avanzadas: Ultimate SD Upscale y comfyui-inpaint-nodes
El upscaling pixel y latent cubren la base. Una pasada completa muy grande puede agotar VRAM, y las uniones difíciles requieren preparación precisa de máscara. Los custom nodes siguientes son opciones avanzadas, no requisitos iniciales.
Ultimate SD Upscale: mejorar por mosaicos
Ampliar 1024×1536 a 4096×6144 hace costosa una segunda pasada completa. Ultimate SD Upscale divide en mosaicos, ejecuta difusión image-to-image en cada uno y combina el resultado.
El mosaico mantiene cada proceso cerca del tamaño de entrenamiento y reduce la carga global. A cambio, tarda más y puede crear uniones, texturas repetidas o diferencias de estilo local.
Busca ComfyUI_UltimateSDUpscale en ComfyUI Manager. Entrada, menú y parámetros pueden cambiar; revisa README e interfaz actuales.
comfyui-inpaint-nodes: preparar máscaras
comfyui-inpaint-nodes incluye Fooocus inpaint, LaMa, MAT y herramientas para expandir, reducir, difuminar y rellenar máscaras. Los modelos Fooocus inpaint suelen ir en ComfyUI/models/inpaint; confirma compatibilidad y ruta de conditioning en el README actual.
| Necesidad | Preparación que conviene probar |
|---|---|
| Unión visible alrededor del cambio | Expand Mask con Blur Masked |
| Extensión de máscara más precisa | Shrink Mask o Expand Mask |
| Mejor relleno inicial dentro de la máscara | Fill Masked |
| Eliminar objetos o hacer outpainting | LaMa, MAT o workflow outpaint adecuado |
Denoise no resuelve todo. Cerca de 1,0 redibuja más la zona; más bajo conserva más origen, pero también dependen el modelo y conditioning. Si cambia el exterior, revisa conexiones y compositing antes de ajustar máscara, denoise o transición.
Tabla de decisión: escenario y ruta de posprocesado
| Escenario | Ruta recomendada | Motivo | Alternativa |
|---|---|---|---|
| El origen es correcto y solo necesita resolución | Upscaling de píxeles | Suele mantener composición y mejorar píxeles | Remuestreo latente para regenerar detalle |
| Hay que regenerar material o detalles | Remuestreo latente | Denoise controla conservación y redibujo | Ultimate SD Upscale para imágenes grandes |
| Un rostro lejano está borroso | FaceDetailer | Detecta el rostro y lo detalla localmente | Inpainting manual si la detección falla |
| Mano, objeto o logo tiene un fallo local | Inpainting manual o Detailer adecuado | Máscara o detector limita el área | Volver a generación si la estructura está mal |
| La resolución objetivo supera la VRAM | Ultimate SD Upscale | Tiled img2img reduce carga por mosaico | Reducir tamaño y usar upscaling de píxeles |
| El cambio tiene una unión visible | Expandir y difuminar la máscara | Añade transición al redibujo local | Reducir fuerza y denoise |
Ventajas y límites
| Ruta | Ventajas | Límites | Uso de VRAM |
|---|---|---|---|
| Upscaling de píxeles | Rápido, suele mantener composición y ofrece muchos modelos | No arregla estructura y puede crear textura artificial | Bajo a medio |
| Remuestreo latente | Regenera material y detalle con ajuste flexible | Requiere calibrar denoise y puede derivar | Medio a alto |
| FaceDetailer | Detecta rostros sin dibujar máscara facial | No conserva identidad y puede corregir en exceso | Medio a alto |
| Inpainting manual | Zona definida y control claro | Requiere máscara, unión y conditioning correctos | Medio |
| Ultimate SD Upscale | Procesa imágenes grandes por mosaicos | Más lento y con riesgo de uniones | Depende de mosaico y modelo |
No actives todos los nodos a la vez. Usa la ruta menos destructiva que resuelva el problema, guarda el resultado intermedio y decide después si merece otra pasada o reparación local.
Orden recomendado: ampliar, reparar rostro y después inpaint
El orden afecta el resultado. En un personaje puedes empezar por ampliación conservadora, reparar zonas detectadas y terminar con un cambio local manual. Es una base útil, no una receta fija.
Por qué funciona este orden
Guarda primero imagen y workflow. Si el único problema es el tamaño, usa upscaling de píxeles, que normalmente no vuelve a samplear el prompt.
Revisa rostro, manos y zonas pequeñas. FaceDetailer para el rostro; Detector y Detailer adecuados o máscara manual para mano u objeto. Una fuente mayor facilita detectar una corrección excesiva.
Deja el inpainting manual para logo, borde, defecto de fondo u otra zona exacta, evitando que una operación global posterior deshaga la corrección.
Riesgos de una segunda pasada
Con ControlNet, IPAdapter o regional prompting, el remuestreo latente y el sampling local de Detailer pueden debilitar condiciones previas. Pose, líneas, cabello, ropa e identidad de referencia pueden desviarse.
Si la segunda pasada es necesaria, conserva las condiciones, fija seed y parámetros y empieza con denoise bajo. Si el resultado previo importa más que el detalle nuevo, prueba primero upscaling de píxeles.
Lecturas relacionadas
- ComfyUI desde cero: interfaz, carpetas de modelos y primera imagen.
- Importar y depurar workflows de ComfyUI: importación, nodos ausentes y reproducibilidad.
- Elegir un modelo de Stable Diffusion: modelos base, VAE, VRAM y licencias.
Fallos frecuentes: borrosidad, deriva facial, uniones y desborde
| Síntoma | Causa común | Solución |
|---|---|---|
| Upscaling borroso o demasiado duro | Modelo inadecuado o demasiadas ampliaciones | Comparar modelos generales, foto y anime y reducir pasadas |
| El rostro ya no parece la misma persona | Denoise alto o zona Detailer grande | Bajar denoise y reducir zona; usar método de identidad si corresponde |
| Aparecen texturas arbitrarias | Tiled upscale o denoise alto redibuja demasiado | Bajar denoise, quitar información nueva del prompt y probar más pequeño |
| El borde de la máscara muestra unión | Máscara estrecha, sin transición o cambio de brillo | Ajustar grow_mask_by, difuminar y reducir fuerza |
| Cambia el exterior de la máscara | Mask, noise mask, conditioning o compositing incorrectos | Revisar conexiones, reducir máscara y denoise |
| FaceDetailer no encuentra el rostro | Rostro pequeño, ángulo extraño o detector inadecuado | Ampliar de forma conservadora o cambiar detector; no forzar con denoise alto |
| Falta el modelo de upscaling | Ruta o extensión incorrecta o lista sin actualizar | Colocarlo en upscale_models o añadir ruta y actualizar o reiniciar |
| Ultimate SD Upscale aparece rojo | Falta custom node o hay versiones incompatibles | Revisar instalación y actualizaciones en Manager; aislar conflictos complejos |
| El workflow se queda sin VRAM | Resolución, mosaico, batch o zona Detailer grande | Bajar tamaño y batch, limitar max_size, reducir mosaico o usar upscaling pixel |
¿Seguir reparando o volver a generar?
Continúa el posprocesado si composición, identidad, pose y forma del producto son correctas y solo quedan resolución, rostro pequeño, mano o defecto local. El cambio ideal cabe en un recuadro o máscara pequeños.
Vuelve a generar si identidad, pose, ropa, cantidad de sujetos o estructura están mal. Añadir denoise e inpainting aumenta la incertidumbre sin corregir la condición. Ajusta prompt, ControlNet, imagen de referencia o modelo.
Un personaje o producto estable entre muchas salidas también necesita más que inpainting repetido. El posprocesado termina una imagen ya casi correcta; no sustituye assets de identidad, control estructural ni entrenamiento.
Conclusión
El posprocesado de ComfyUI tiene cuatro rutas: upscaling de píxeles, remuestreo latente, reparación facial con FaceDetailer e inpainting manual. Si el origen está bien, empieza por píxeles. Usa una segunda pasada latent con denoise bajo solo para regenerar detalle. FaceDetailer corrige un rostro lejano sin garantizar identidad; para un fallo preciso, usa máscara y conditioning inpaint.
En personajes, un orden práctico es ampliación conservadora, reparación de zonas detectadas y cambio manual final. Si la segunda pasada completa no cabe en VRAM, Ultimate SD Upscale procesa mosaicos, pero cada unión y transición local necesita revisión. Comparar cada etapa con el origen ayuda a localizar deriva facial, textura artificial y cambios fuera de la máscara.
Elegir y ejecutar una ruta de posprocesado en ComfyUI
Clasifica el problema como tamaño, detalle por regenerar, defecto pequeño detectado o cambio local preciso, y empieza por la ruta menos destructiva.
- 1
Step 1: Guardar la salida original
Conserva imagen, workflow, seed, checkpoint, sampler, steps y CFG para cambiar una sola variable en cada prueba. - 2
Step 2: Decidir si solo necesitas una imagen más grande
Si composición, identidad y textura ya son correctas, empieza con UpscaleModelLoader y Upscale Image (Using Model). - 3
Step 3: Decidir si necesitas remuestreo
Usa LatentUpscale y KSampler solo para regenerar material o detalle, comenzando con denoise bajo. - 4
Step 4: Reparar un rostro pequeño o zona detectada
Usa FaceDetailer u otra ruta Detector-Detailer y limita guide_size, max_size y denoise para no redibujar el fondo. - 5
Step 5: Dibujar una máscara para un cambio preciso
Cubre solo la zona objetivo en Mask Editor, deja una transición pequeña y conecta VAE Encode (for Inpainting) o InpaintModelConditioning. - 6
Step 6: Revisar uniones y cambios fuera de la máscara
Si aparecen bordes duros, cambios de color o aspecto de parche, ajusta grow_mask_by, el difuminado y denoise, y verifica mask y noise mask. - 7
Step 7: Reducir la presión de VRAM en imágenes grandes
Baja el tamaño objetivo o usa Ultimate SD Upscale por mosaicos y revisa cada límite y transición de textura. - 8
Step 8: Conservar el cambio mínimo que funciona
Compara origen, upscaling de píxeles, remuestreo y reparación local, y conserva la versión que cumple el objetivo con menos deriva estructural.
FAQ
¿Cómo se construye un Hires Fix en ComfyUI?
¿Qué diferencia hay entre Latent Upscale y Upscale Image (Using Model)?
¿Dónde se colocan los modelos de upscaling de ComfyUI?
¿FaceDetailer es una herramienta de face swap?
¿Por qué el inpainting modifica zonas fuera de la máscara?
¿Qué ajustar si FaceDetailer empeora el rostro?
¿Cuándo conviene Ultimate SD Upscale?
14 min de lectura · Publicado el: 22 jul 2026 · Actualizado el: 21 jul 2026
Guía práctica de ComfyUI y Stable Diffusion
Si llegaste desde búsqueda, lo más rápido es ir al artículo anterior o siguiente de esta misma serie.
Anterior
Usar LoRA en ComfyUI: pesos, apilamiento y consistencia del personaje
Carga LoRA en ComfyUI, ajusta strength_model y strength_clip, apila varios modelos, comprueba la base, reduce la deriva del personaje y resuelve efectos débiles.
Parte 6 de 8
Siguiente
Optimizar ComfyUI con poca VRAM: SDXL, FLUX y video en GPU de 6–8 GB
Ejecuta ComfyUI con 6–8 GB de VRAM controlando modelo, T5, VAE, resolución y batch, y diagnostica errores OOM y workflows FLUX o de video demasiado lentos.
Parte 8 de 8



Comentarios
Inicia sesión con GitHub para dejar un comentario