> ## Documentation Index
> Fetch the complete documentation index at: https://docs.comfy.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Flujo de trabajo de relleno inteligente en ComfyUI

> Relleno inteligente en ComfyUI: edita partes de una imagen, dibuja máscaras con el Editor de máscara y conecta el nodo de Codificación VAE.

Este artículo presentará el concepto de relleno inteligente en la generación de imágenes con IA y te guiará en la creación de un flujo de trabajo de relleno inteligente en ComfyUI. Veremos:

* Usar flujos de trabajo de relleno inteligente para modificar imágenes
* Usar el Editor de máscara de ComfyUI para dibujar máscaras
* el nodo `VAE Encoder (for Inpainting)`

## Acerca del relleno inteligente

En la generación de imágenes con IA, a menudo nos encontramos con situaciones en las que estamos satisfechos con la imagen general, pero hay elementos que no queremos o que contienen errores. Regenerar sin más podría producir una imagen completamente diferente, así que usar el relleno inteligente para corregir partes específicas resulta muy útil.

Es como tener a un **artista (modelo de IA)** pintando un cuadro, pero todavía no estamos satisfechos con los detalles específicos. Necesitamos decirle al artista **qué áreas ajustar (máscara)** y luego dejar que **vuelva a pintar (rellenar)** según nuestros requisitos.

Los escenarios más comunes de relleno inteligente incluyen:

* **Reparación de defectos:** Eliminar objetos no deseados, corregir partes del cuerpo generadas por IA que están mal, etc.
* **Optimización de detalles:** Ajustar con precisión elementos locales (como modificar texturas de la ropa, ajustar expresiones faciales)
* Y otros escenarios

## Ejemplo de flujo de trabajo de relleno inteligente en ComfyUI

### Preparación de modelos y recursos

#### 1. Instalación del modelo

Descarga el archivo [512-inpainting-ema.safetensors](https://huggingface.co/Comfy-Org/stable_diffusion_2.1_repackaged/blob/main/512-inpainting-ema.safetensors) y colócalo en tu carpeta `ComfyUI/models/checkpoints`:

#### 2. Recurso de relleno inteligente

Descarga la siguiente imagen, que usaremos como entrada:

![Imagen de entrada para relleno inteligente en ComfyUI](https://mintcdn.com/dripart/OltlUSVBSNcJsDMs/images/tutorial/basic/inpaint/input.png?fit=max\&auto=format\&n=OltlUSVBSNcJsDMs\&q=85\&s=a6557da482429ba4feff636d36f1bb54)

> [!NOTE]
>
> Esta imagen ya contiene un canal alfa (máscara de transparencia), así que no necesitas dibujar la máscara a mano. En este tutorial también verás cómo usar el Editor de máscara para dibujar máscaras.

#### 3. Flujo de trabajo de relleno inteligente

Descarga la imagen de abajo y **arrástrala a ComfyUI** para cargar el flujo de trabajo:

![Flujo de trabajo de relleno inteligente en ComfyUI](https://raw.githubusercontent.com/Comfy-Org/example_workflows/refs/heads/main/image/basic/sd1.5_inpaint.png)

> [!TIP]
>
> Las imágenes que contienen el JSON del flujo de trabajo en sus metadatos puedes arrastrarlas directamente a ComfyUI o cargarlas con el menú `Workflows` -> `Open (ctrl+o)`.

### Explicación del ejemplo de flujo de trabajo de relleno inteligente en ComfyUI

Sigue los pasos del diagrama de abajo para asegurarte de que el flujo de trabajo se ejecute correctamente.

![Flujo de trabajo de relleno inteligente en ComfyUI](https://mintcdn.com/dripart/OltlUSVBSNcJsDMs/images/tutorial/basic/inpaint/inpaint_workflow.png?fit=max\&auto=format\&n=OltlUSVBSNcJsDMs\&q=85\&s=eec79976ea5771763a00668de7c15bc3)

1. Asegúrate de que `Load Checkpoint` cargue `512-inpainting-ema.safetensors`
2. Sube la imagen de entrada al nodo `Load Image`
3. Haz clic en `Queue` o usa `Ctrl + Enter` para generar

Para comparar, este es el resultado con el modelo [v1-5-pruned-emaonly-fp16.safetensors](https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/blob/main/v1-5-pruned-emaonly-fp16.safetensors):

![Resultado de relleno inteligente con SD1.5](https://mintcdn.com/dripart/OltlUSVBSNcJsDMs/images/tutorial/basic/inpaint/inpaint_sd1.5_pruned_emaonly.png?fit=max\&auto=format\&n=OltlUSVBSNcJsDMs\&q=85\&s=36916904f9884b5bc3c62f6b60ec17e8)

Verás que los resultados generados por el modelo [512-inpainting-ema.safetensors](https://huggingface.co/Comfy-Org/stable_diffusion_2.1_repackaged/blob/main/512-inpainting-ema.safetensors) tienen mejores efectos de relleno inteligente y transiciones más naturales.
Esto se debe a que este modelo está diseñado específicamente para relleno inteligente, lo que nos ayuda a controlar mejor el área de generación y mejora los resultados del relleno.

¿Recuerdas la analogía que hemos usado? Los distintos modelos son como artistas con habilidades diferentes, pero cada artista tiene sus propios límites. Elegir el modelo adecuado te ayuda a obtener mejores resultados de generación.

Puedes probar estos enfoques para obtener mejores resultados:

1. Modifica los prompts positivo y negativo con descripciones más específicas
2. Prueba varias ejecuciones con seeds distintas en `KSampler` para obtener resultados diferentes
3. Después de aprender a usar el Editor de máscara en este tutorial, puedes volver a aplicar relleno inteligente sobre los resultados generados hasta lograr un resultado satisfactorio.

A continuación, aprenderemos a usar el **Editor de máscara**. Como nuestra imagen de entrada ya incluye un canal de transparencia `alpha` (el área que queremos editar), no hace falta dibujar la máscara a mano; sin embargo, en la práctica usarás con frecuencia el Editor de máscara para crear máscaras.

### Usar el Editor de máscara

Primero, haz clic derecho en el nodo `Save Image` y selecciona `Copy(Clipspace)`:

![Copiar imagen al portapapeles](https://mintcdn.com/dripart/OltlUSVBSNcJsDMs/images/tutorial/basic/inpaint/inpaint_copy_clipspace.png?fit=max\&auto=format\&n=OltlUSVBSNcJsDMs\&q=85\&s=7d1bfea21723437c4ca09bba34edd1ed)

Luego, haz clic derecho en el nodo **Load Image** y selecciona `Paste(Clipspace)`:

![Pegar imagen](https://mintcdn.com/dripart/OltlUSVBSNcJsDMs/images/tutorial/basic/inpaint/inpaint_paste_clipspace.png?fit=max\&auto=format\&n=OltlUSVBSNcJsDMs\&q=85\&s=42c942d88b97c696f6f2ed59f7ff9bc8)

Haz clic derecho de nuevo en el nodo **Load Image** y selecciona `Open in MaskEditor`:

![Abrir el Editor de máscara](https://mintcdn.com/dripart/OltlUSVBSNcJsDMs/images/tutorial/basic/inpaint/inpaint_open_in_maskeditor.jpg?fit=max\&auto=format\&n=OltlUSVBSNcJsDMs\&q=85\&s=682a66f54e0f61366c42e553d50f4e76)

![Demostración del Editor de máscara](https://mintcdn.com/dripart/OltlUSVBSNcJsDMs/images/tutorial/basic/inpaint/inpaint-maskeditor.gif?s=217f481d8cd4e22183c0dd1551f3e831)

1. Ajusta los parámetros del pincel en el panel derecho
2. Usa el borrador para corregir errores
3. Haz clic en `Save` al terminar

El contenido dibujado se usará como entrada de máscara para el nodo VAE Encoder (for Inpainting) para su codificación.

Luego intenta ajustar tus prompts y generar de nuevo hasta obtener resultados satisfactorios.

## Nodo VAE Encoder (for Inpainting)

Si comparas este flujo de trabajo con [Texto a imagen](https://docs.comfy.org/es/tutorials/basic/text-to-image.md) e [Imagen a imagen](https://docs.comfy.org/es/tutorials/basic/image-to-image.md), notarás que las principales diferencias están en las entradas condicionales de la sección VAE.
En este flujo de trabajo usamos el nodo **VAE Encoder (for Inpainting)**, diseñado específicamente para el Relleno inteligente, que nos ayuda a controlar mejor el área de generación y a obtener mejores resultados.

![Nodo VAE Encoder (for Inpainting)](https://mintcdn.com/dripart/Rig0_LOInmwVbVSB/images/comfy_core/latent/inpaint/vae_encode_for_inpainting.jpg?fit=max\&auto=format\&n=Rig0_LOInmwVbVSB\&q=85\&s=2eeecee7cf23a0e1ab7b1a996256278f)

**Tipos de entrada**

| Nombre del parámetro | Función |
| - | - |
| `pixels` | Imagen de entrada que se va a codificar en el espacio latente. |
| `vae` | Modelo VAE que se usa para codificar la imagen del espacio de píxeles al espacio latente. |
| `mask` | Máscara de imagen que especifica qué áreas necesitan modificación. |
| `grow_mask_by` | Valor en píxeles para Expandir la máscara original hacia afuera, lo que garantiza un área de transición alrededor de la máscara para evitar bordes duros entre las áreas con relleno y las originales. |

**Tipos de salida**

| Nombre del parámetro | Función |
| - | - |
| `latent` | Imagen codificada en el espacio latente por el VAE. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.