Flujo de trabajo de inpainting ComfyUI de Krea 2 Turbo (LanPaint + Difusión Diferencial)#
Este flujo de trabajo de inpainting ComfyUI de Krea 2 Turbo convierte a Krea‑2 Turbo en un editor local preciso para reemplazo de objetos y correcciones dirigidas. Combina el muestreador sin entrenamiento de LanPaint con inyección de ruido enmascarado, Difusión Diferencial, enmascaramiento automático basado en SAM y composición de recorte y unión para regenerar solo lo que seleccionas mientras preservas todo lo demás. El gráfico de 27 nodos, listo para RunComfy, ha sido validado de principio a fin; en pruebas reemplazó limpiamente la esfera de un reloj con una mariposa mecánica blanca mientras dejaba intactos la caja, las agujas y la iluminación.
Diseñado para artistas, fotógrafos de productos y retocadores que necesitan ediciones locales confiables, el flujo de trabajo acepta una máscara pintada a mano o una máscara automática, realiza un pase de generación enfocado en la región recortada, y luego une el resultado con bordes sin fisuras. El resultado es rápido, controlable y visualmente consistente con la foto original.
Modelos clave en el flujo de trabajo de inpainting ComfyUI de Krea 2 Turbo#
- Krea‑2 Turbo. La columna vertebral de difusión que realmente sintetiza el nuevo contenido dentro de la región enmascarada. Tarjeta de modelo oficial: Krea‑2 Turbo en Hugging Face. Repositorio del proyecto: krea‑ai/krea‑2.
- Qwen Image VAE. El autoencoder utilizado para moverse entre el espacio de píxeles y el espacio latente donde ocurre el muestreo enmascarado. Distribuido con los activos de Krea‑2: Comfy‑Org/Krea‑2.
- Qwen‑VL codificador de texto. El codificador de lenguaje que convierte tu mensaje en condicionamiento para Krea‑2 Turbo; enviado con el paquete Krea‑2. Implementación de referencia: QwenLM/Qwen2‑VL.
Cómo usar el flujo de trabajo de inpainting ComfyUI de Krea 2 Turbo#
A un alto nivel, proporcionas una imagen de entrada y una máscara. El gráfico recorta la región de interés con un poco de contexto, prepara latentes para que solo el área enmascarada sea ruidosa, luego ejecuta un pase de muestreo de LanPaint para regenerar el objetivo. Finalmente, redimensiona y une el parche de nuevo al lienzo original y ofrece una comparación opcional de aumento de escala y lado a lado.
Modelos#
Este grupo carga la columna vertebral de difusión, VAE y el codificador de texto. UNETLoader (#412) trae Krea‑2 Turbo, VAELoader (#435) proporciona el Qwen Image VAE, y CLIPLoader (#413) configura el codificador de mensajes enviado con Krea‑2. Normalmente no necesitas cambiar nada aquí a menos que quieras intercambiar variantes de modelos.
Mensaje#
CLIPTextEncode (#411) es donde escribes qué generar dentro de la máscara. Mantén la instrucción de edición específica para el objeto y el estilo que deseas, y explícitamente indica al modelo que preserve el contenido no enmascarado. ConditioningZeroOut (#414) proporciona un camino negativo limpio para que el muestreador se mantenga enfocado en tu instrucción positiva.
Recortar+Redimensionar#
Alimenta tu imagen fuente en LoadImage (#200). Proporciona una máscara ya sea pintando directamente sobre la entrada o usando SAM3Segment (#454) para proponer automáticamente una máscara a partir del contenido de la imagen. Switch mask [Crystools] (#453) te permite elegir entre manual y automático. CropByMask (#449) aísla la región seleccionada, capturando las coordenadas del recorte para la unión posterior. ImageResizeKJv2 (#448) alinea el recorte a una resolución amigable para el generador, y GrowMaskWithBlur (#452) expande y suaviza suavemente la máscara para que los bordes se mezclen naturalmente después de la edición.
Generación de Imagen#
VAEEncode (#436) convierte la imagen recortada a latentes. SetLatentNoiseMask (#430) inyecta ruido solo dentro de la máscara para que los latentes no enmascarados se mantengan anclados a lo original. DifferentialDiffusionAdvanced (#447) restringe aún más las actualizaciones a la máscara, reduciendo el desplazamiento en los píxeles circundantes. LanPaint_KSampler (#440) realiza el muestreo enmascarado sin entrenamiento guiado por tu mensaje, produciendo un parche latente regenerado. VAEDecode (#439) lleva el resultado de vuelta a los píxeles para inspección y pasos posteriores.
Unión#
Después de decodificar, ImageResizeKJv2 (#488) hace coincidir el parche editado con las dimensiones de la imagen original usando el ancho/alto guardados, y un segundo GrowMaskWithBlur (#491) prepara una máscara de composición amigable con los bordes. ImageCompositeMasked (#487) une el parche de nuevo en la ubicación exacta de recorte x/y de antes, preservando la composición global, la iluminación y el color. Usa el Image Comparer (rgthree) incluido (#456) para deslizar entre antes/después para control de calidad.
Aumento de Escala (opcional)#
Si el resultado se ve excelente y deseas mayor detalle, envía la salida compuesta a CR Upscale Image (#485). Esto aumenta la escala de la imagen final sin volver a difundir, lo cual es más rápido y mantiene estable tu composición. Se proporciona un segundo comparador (#480) para verificar las ganancias de nitidez.
Nodos clave en el flujo de trabajo de inpainting ComfyUI de Krea 2 Turbo#
LanPaint_KSampler(#440). El paso central de inpainting sin entrenamiento que reutiliza un modelo de texto a imagen para ediciones localizadas sin ajuste fino. Muestra solo donde la máscara lo permite, guiado por tu condicionamiento positivo. Para una mayor adherencia a tu instrucción, incrementa el esfuerzo de muestreo; para un realismo más ajustado con la foto, inclina hacia un desruido conservador. Implementación: scraed/LanPaint, artículo: LanPaint (arXiv).SetLatentNoiseMask(#430). Asegura que el ruido se aplique solo dentro de la máscara en el espacio latente para que los latentes de fondo permanezcan fijados a la imagen original. Si ves cambios no deseados fuera del objetivo, revisa este paso y confirma que tu máscara cubre solo lo que debería cambiar.DifferentialDiffusionAdvanced(#447). Restringe el paso de actualización para que la región no enmascarada resista el desplazamiento. Cuando aparecen halos pequeños o cambios tonales cerca de los bordes, orienta esto hacia una preservación más fuerte para que el contexto se mantenga fiel mientras el área enmascarada evoluciona.GrowMaskWithBlur(#452). Expande y suaviza la máscara para capturar sombras de contacto y reflejos alrededor del objeto. Si se ven costuras, crece un poco más y añade un toque de suavizado; si las ediciones se extienden demasiado, reduce el crecimiento.CropByMask(#449). Recorta la región de interés y registra el origen del recorte. Esto mantiene la generación rápida y enfocada, y dirige la colocación exacta más tarde. Si la edición carece de suficiente contexto, añade un poco más de relleno para que el modelo pueda ver superficies adyacentes y pistas de iluminación.ImageCompositeMasked(#487). Reconstruye el lienzo completo colocando el parche editado de nuevo en su posición original usando las coordenadas guardadas. Si notas suavidad en los bordes o desalineación, confirma el origen del recorte y que la máscara de unión coincide con la máscara ampliada de la fase de generación.SAM3Segment(#454). Produce una máscara de segmentación automática a partir de la imagen de entrada. Es útil para inicios rápidos; refina con un pincel si es necesario para ajustar la selección alrededor de límites complicados como cabello, radios o filigranas.
Extras opcionales#
- Crea mensajes que anclen la escena. Describe el objeto de reemplazo con precisión, luego indica explícitamente al modelo que preserve todos los detalles no enmascarados y la iluminación original, el ángulo de la cámara y la escala.
- Comienza con una máscara ligeramente más grande que el objeto para capturar sombras de contacto y reflejos; luego ajusta el crecimiento y el suavizado para bordes sin fisuras.
- Si el parche parece "demasiado nuevo" o fuera de lugar, reduce la agresividad en el muestreador o fortalece la Difusión Diferencial para que se retenga más de la microtextura original.
- Usa los comparadores de antes/después incluidos durante la iteración y solo aumenta la escala una vez que estés satisfecho con la composición y el realismo.
- Para la mejor repetibilidad entre ejecuciones, mantén la misma semilla mientras refinas los bordes de la máscara, el contenido del mensaje y el relleno del recorte.
Referencias y agradecimientos: Tarjeta de modelo de Krea‑2 Turbo Hugging Face, repositorio del proyecto krea‑ai/krea‑2; implementación de LanPaint GitHub y artículo arXiv.
Agradecimientos#
Este flujo de trabajo implementa y se basa en los siguientes trabajos y recursos. Agradecemos profundamente a Krea AI por el proyecto Krea 2 y el modelo Krea 2 Turbo, a scraed por la extensión ComfyUI de LanPaint, y a los autores de LanPaint por el artículo de LanPaint por sus contribuciones y mantenimiento. Para obtener detalles autorizados, consulta la documentación original y los repositorios vinculados a continuación.
Recursos#
- Altruistic_Tax1317/Krea2 flujo de trabajo de inpainting
- Documentación / Notas de lanzamiento: Hilo de Reddit
- Krea AI/Krea 2
- GitHub: krea-ai/krea-2
- Hugging Face: krea/Krea-2-Raw, krea/Krea-2-Turbo
- Krea/Krea-2-Turbo
- GitHub: krea-ai/krea-2
- Hugging Face: krea/Krea-2-Turbo
- scraed/LanPaint
- GitHub: scraed/LanPaint
- arXiv: arXiv:2502.03491
- Autores de LanPaint/LanPaint (artículo)
- arXiv: arXiv:2502.03491
Nota: El uso de los modelos, conjuntos de datos y código referenciados está sujeto a las respectivas licencias y términos proporcionados por sus autores y mantenedores.





