Flujos de trabajo de inpainting en ComfyUI: una guía práctica
Guía práctica de flujos de trabajo de inpainting en ComfyUI: edición de máscaras, preservación con ControlNet y muestreo solo del área enmascarada.
On this page
- TL;DR
- Cómo se comparan estos flujos de trabajo
- Inpainting basado en máscaras con el flujo de trabajo de PotatCat
- ControlNet OpenPose para preservar personajes
- Inpaint-CropAndStitch: muestrear solo el área enmascarada
- Transformación de imagen a imagen
- Referencia de configuración
- Errores comunes y soluciones
- Preguntas frecuentes (FAQ)
- Fuentes
Flujos de trabajo de inpainting en ComfyUI: una guía práctica
<!-- -->
TL;DR
- Usa el editor de máscaras XL V2 de PotatCat con opacidad y colormatching para un inpainting guiado y visible
- Preserva la posición del personaje durante el reemplazo con el flujo de trabajo ControlNet OpenPose de DjAfk
- Acelera la generación muestreando solo las regiones enmascaradas con los nodos Inpaint-CropAndStitch
Los flujos de trabajo de inpainting en ComfyUI abarcan un espectro que va desde la edición manual de máscaras con retroalimentación en tiempo real hasta tuberías de nodos automatizadas que limitan la generación solo a las regiones enmascaradas. Esta guía cubre tres enfoques nativos de ComfyUI, además de un método de imagen a imagen contrastante de una plataforma independiente, con ajustes prácticos y errores comunes extraídos de flujos de trabajo publicados por la comunidad.
Los flujos de trabajo reportados por la comunidad se verificaron contra las fuentes publicadas listadas al final de este artículo. Donde el material fuente requirió corrección, esa corrección se señala de forma explícita. Los recién llegados a ComfyUI deberían revisar primero nuestra guía de inicio de ComfyUI para la instalación y los conceptos básicos de los nodos.
Cómo se comparan estos flujos de trabajo
| Flujo de trabajo | Mejor para | Ventaja clave | Limitación |
|---|---|---|---|
| Inpaint XL V2 de PotatCat | Edición manual de máscaras con retroalimentación visual | Controles de opacidad de máscara y colormatching | Requiere una proporción de recorte 1:1 |
| ControlNet OpenPose de DjAfk | Preservar la pose del personaje durante el reemplazo | Usa datos de pose para guiar la ubicación del reemplazo | Requiere el modelo controlnet OpenPose y un checkpoint |
| Inpaint-CropAndStitch de EL | Muestreo rápido y preciso solo del área enmascarada | Muestrea solo el área enmascarada, evitando pasadas de la imagen completa | Requiere la instalación de nodos personalizados |
| img2img de MimicPC | Transformación de la imagen completa | Recreación creativa basada en DALL·E 3 | No es un flujo de trabajo de ComfyUI; opera en una plataforma independiente |
Inpainting basado en máscaras con el flujo de trabajo de PotatCat
El flujo de trabajo inpaint XL V2 de PotatCat recrea la experiencia de inpainting de A1111 dentro de ComfyUI, donde una región enmascarada se recorta, se regenera y se pega de nuevo en la imagen original sin costuras visibles (civitai.com/articles/9971).
El flujo de trabajo carga una imagen mediante un nodo de arrastrar y soltar, y luego abre un editor de máscaras al que se accede haciendo clic derecho en la imagen y seleccionando la opción del editor de máscaras. Los usuarios dibujan formas cerradas en la máscara; el flujo de trabajo rellena estos circuitos cerrados para definir la región de inpainting. Después de dibujar, guarda la máscara antes de continuar.
Nuevas funciones
Dos funciones añadidas en diciembre de 2025 amplían las capacidades del flujo de trabajo:
- Opacidad de máscara permite ajustar la transparencia de la máscara, lo que se combina con la difusión diferencial para usar todo el rango de la máscara con un control más fino que ajustar solo el denoise.
- Colormatching aborda los desplazamientos de color que ocurren cuando la VAE codifica y decodifica la imagen, ayudando a que la región pintada se integre con el perfil de color del original.
Ajustes de generación
Usa el mismo muestreador y programador que la imagen original para reducir artefactos de mezcla. Valores de denoise más altos producen más cambio en la región enmascarada. El flujo de trabajo expone varios parámetros ajustables:
- Tamaño de píxel define la resolución de generación (1024 produce 1024x1024).
- Expandir máscara controla cuánto crece la máscara desde su límite original.
- Relleno define el área no procesada que rodea la máscara y que aún participa en la generación.
- Radio de desenfoque de máscara ajusta la suavidad del borde de la máscara.
- Rellenar agujeros de máscara activa el relleno automático de regiones de máscara completamente cerradas.
El flujo de trabajo genera varias vistas: la superposición de la máscara recortada, una comparación antes y después del área enmascarada y el compuesto completo con inpainting.
Edición iterativa
Para continuar el inpainting desde una salida, copia la imagen con inpainting al espacio de clip mediante clic derecho, y luego pégala en un nodo Load Image. Después de pegar, limpia el editor de máscaras antes de dibujar una nueva máscara; si no lo haces, quedan restos de la máscara anterior en el editor.
ControlNet OpenPose para preservar personajes
DjAfk publicó un método que usa ControlNet para mantener la posición, el tamaño y la forma de un personaje durante el inpainting (civitai.com/articles/4586). Este enfoque aborda un modo de fallo común en el que la IA redibuja una persona enmascarada en una ubicación o pose inesperadas.
El flujo de trabajo procesa la región enmascarada para extraer datos esqueléticos OpenPose, y luego introduce esa información de pose en un modelo ControlNet junto con el prompt de reemplazo. El resultado obliga a la figura generada a ajustarse a la pose y las proporciones originales. Esto funciona con LoRAs e IPAdapter como entradas de acondicionamiento adicionales. Para una visión completa de los modelos ControlNet y sus configuraciones, consulta nuestra guía de ControlNet en ComfyUI.
Para ejecutar el flujo de trabajo, carga el checkpoint, la VAE y el controlnet OpenPose en ComfyUI. El Ksampler usa un valor de semilla fijo, que puede necesitar ajuste según el nivel de variación deseado. La fuente incluye un archivo JSON de flujo de trabajo descargable para importación directa.
Inpaint-CropAndStitch: muestrear solo el área enmascarada
Los nodos Inpaint-CropAndStitch de EL automatizan el inpainting restringiendo el muestreo a la región enmascarada en lugar de procesar toda la imagen (civitai.com/articles/5333, github.com/lquesada/ComfyUI-Inpaint-CropAndStitch).
Los dos nodos principales son el nodo "✂️ Inpaint Crop" y el nodo "✂️ Inpaint Stitch". El nodo Crop extrae el área enmascarada con contexto opcional, preajusta la resolución de la imagen, la amplía para outpainting, rellena los agujeros de la máscara, la expande o la desenfoca, y redimensiona la región recortada a una resolución objetivo. El nodo Stitch reintegra el resultado con inpainting en la imagen original sin alterar las áreas no enmascaradas, gestionando la mezcla de forma automática.
Ventajas sobre el inpainting estándar
Los nodos ofrecen varios beneficios sobre el muestreo de imagen completa:
- Velocidad: Muestrear solo el área enmascarada es significativamente más rápido que procesar toda la imagen, especialmente en imágenes grandes con regiones enmascaradas pequeñas.
- Control de contexto: Los usuarios pueden especificar la cantidad de contexto de la imagen circundante incluido en la generación para una interpretación más precisa del prompt.
- Gestión de resolución: Escalar antes de muestrear genera más detalle, y luego el resultado se vuelve a integrar en el original. Reducir la escala antes de muestrear evita artefactos como cabezas o cuerpos duplicados cuando el área enmascarada es grande en relación con la imagen.
- Resolución forzada: Los usuarios puedes imponer un tamaño de salida específico (por ejemplo, 1024x1024 para modelos SDXL).
- Edición no destructiva: La parte no enmascarada de la imagen no pasa por la codificación y decodificación de la VAE, preservando su calidad original.
- Mezcla automática: El nodo stitch gestiona la mezcla de bordes sin intervención manual.
La instalación está disponible a través de ComfyUI-Manager buscando "Inpaint-CropAndStitch", o mediante git clone desde el repositorio. El paquete está bajo licencia GNU General Public License Version 3 y usa código de comfy_extras, KJNodes y Efficiency Nodes.
El changelog del repositorio documenta el desarrollo activo hasta 2026, incluyendo aceleración por GPU para un procesamiento de 30 a 100 veces más rápido, una precisión de integración mejorada que elimina desplazamientos de un píxel, y una opción de modo de dispositivo que usa GPU por defecto con alternativa a CPU para compatibilidad. Principios de optimización por GPU similares se aplican a los flujos de trabajo de upscaling en ComfyUI tratados en otros artículos de esta serie.
Transformación de imagen a imagen
La IA img2img de MimicPC usa la tecnología DALL·E 3 para transformar las imágenes subidas en nuevas creaciones (civitai.com/articles/6782). A diferencia de los flujos de trabajo de ComfyUI anteriores, esta es una plataforma en la nube en lugar de un grafo de nodos local. El sistema analiza las imágenes subidas en busca de formato, estilo, esquemas de color, texturas y texto incrustado, y luego recrea la imagen conservando esos elementos.
Este enfoque es distinto del inpainting tradicional: en lugar de modificar una región enmascarada específica, img2img transforma toda la imagen según requisitos especificados por el usuario, como cambios de estilo, adiciones u eliminaciones de objetos y ajustes compositivos.
Referencia de configuración
| Ajuste | Valor recomendado | Propósito | Source |
|---|---|---|---|
| Muestreador y programador | Coincidir con la imagen original | Reduce artefactos de mezcla en las costuras | civitai.com/articles/9971 |
| Nivel de denoise | Más alto = más cambio | Controla el grado de regeneración en el área enmascarada | civitai.com/articles/9971 |
| Tamaño de píxel / resolución objetivo | 1024 para SDXL; 512 para SD 1.5 | Define la dimensión de generación | civitai.com/articles/5333 |
| Opacidad de máscara (PotatCat) | Rango ajustable | Controla el rango de máscara de la difusión diferencial | civitai.com/articles/9971 |
| Modo de dispositivo (nodo Crop) | GPU (por defecto); CPU como alternativa | Selecciona GPU para velocidad, CPU para compatibilidad | github.com/lquesada/ComfyUI-Inpaint-CropAndStitch |
| Umbral de relleno de máscara | 255, 255, 255 (#FFFFFF) | Garantiza una máscara totalmente opaca para un procesamiento correcto | github.com/lquesada/ComfyUI-Inpaint-CropAndStitch |
| Modelo controlnet | OpenPose | Preserva la pose esquelética durante el reemplazo del personaje | civitai.com/articles/4586 |
| Semilla del Ksampler | Fija (por defecto) | Proporciona una línea base consistente con control de variación | civitai.com/articles/4586 |
Errores comunes y soluciones
| Problema | Causa | Solución | |
|---|---|---|---|
| La región con inpainting parece más ancha de lo esperado | El flujo de trabajo forzó una proporción de recorte distinta de 1:1 | Asegúrate de que la imagen se pueda recortar como un cuadrado 1:1; los recortes no cuadrados producen resultados distorsionados | civitai.com/articles/9971 |
| Aparecen restos de la máscara anterior después de pegar una imagen con inpainting | El editor de máscaras no se limpió después de pegar | Pulsa limpiar en el editor de máscaras antes de dibujar una nueva máscara | civitai.com/articles/9971 |
| La máscara parece opaca pero el nodo la trata como transparente | La máscaras tiene píxeles semitransparentes, no totalmente blancos | Verifica que los píxeles de la máscara sean exactamente 255, 255, 255 (blanco RGB); usa una captura de pantalla para comprobar los valores de píxel | github.com/lquesada/ComfyUI-Inpaint-CropAndStitch |
| Cabezas o cuerpos dobles en el resultado con inpainting | El área enmascarada es demasiado grande en relación con la imagen | Reduce la escala de la imagen recortada antes de muestrear usando el parámetro internal_upscale_factor | github.com/lquesada/ComfyUI-Inpaint-CropAndStitch |
| Costuras visibles en el límite de la máscara | La máscara de integración no mezcla correctamente | Aumenta el parámetro mask_blend_pixels para expandir y desenfocar el borde de integración | github.com/lquesada/ComfyUI-Inpaint-CropAndStitch |
Preguntas frecuentes (FAQ)
¿Cuáles son las diferencias clave entre el inpainting de ComfyUI y el muestreo tradicional de imagen completa? Los flujos de trabajo de inpainting de ComfyUI que usan muestreo del área enmascarada, como Inpaint-CropAndStitch, restringen el proceso de difusión solo a la región enmascarada. Esto evita cómputo innecesario en áreas no enmascaradas, reduce el tiempo de inferencia y previene artefactos que ocurren cuando la imagen completa pasa por el ciclo de codificación-decodificación de la VAE (civitai.com/articles/5333, github.com/lquesada/ComfyUI-Inpaint-CropAndStitch).
¿Cómo se continúa el inpainting desde una imagen ya tratada en ComfyUI? Copia la imagen con inpainting al espacio de clip mediante clic derecho, y luego pégala en un nodo Load Image. Después de pegar, limpia el editor de máscaras antes de dibujar una nueva máscara; de lo contrario, persisten restos de la máscara anterior (civitai.com/articles/9971).
¿Qué tan efectivo es ControlNet para mantener la posición del personaje durante el inpainting? El enfoque de ControlNet basado en OpenPose procesa la región enmascarada para extraer datos de pose esquelética, y luego usa esos datos para restringir la posición, el tamaño y la forma de la figura de reemplazo. Esto es especialmente útil al enmascarar una persona o varias y se quiere que la figure generada ocupe la misma posición (civitai.com/articles/4586).
¿Cuáles son las ventajas de usar los nodos Inpaint-CropAndStitch sobre el inpainting estándar? Los nodos muestrean solo el área enmascarada en lugar de la imagen completa, lo que es significativamente más rápido. También permiten resolución forzada, control de la ventana de contexto, mezcla automática y protección de las áreas no enmascaradas frente al procesamiento de la VAE (civitai.com/articles/5333, github.com/lquesada/ComfyUI-Inpaint-CropAndStitch).
¿Cómo mejora la difusión diferencial la mezcla de máscaras en ComfyUI? El flujo de trabajo de PotatCat aprovecha la difusión diferencial para usar todo el rango de la máscara con opacidad ajustable en lugar de depender únicamente del ajuste del denoise. Esto proporciona una superficie de control directa sobre cuánto de la máscara pasa de pintada a original (civitai.com/articles/9971).
¿Qué formatos de archivo admite la IA img2img para entrada y salida? La IA img2img admite una amplia gama de formatos, incluidos JPEG, PNG, GIF, BMP y TIFF. La plataforma MimicPC procesa las imágenes a través de una interfaz de navegador, lo que la hace compatible con la mayoría de los dispositivos modernos (civitai.com/articles/6782).
¿Dónde puedo descargar los flujos de trabajo de ejemplo de Inpaint-CropAndStitch? El repositorio en github.com/lquesada/ComfyUI-Inpaint-CropAndStitch incluye cuatro archivos JSON de flujos de trabajo de ejemplo: inpaint_sd15.json, inpaint_hires.json, inpaint_flux.json y inpaint-cropandstitch_example_workflow_context_mask.json, cada uno demostrando una configuración diferente (github.com/lquesada/ComfyUI-Inpaint-CropAndStitch).