Usar Stable Diffusion con ComfyUI: Primeros pasos

Publicado por P. Ruiz en

Estos últimos días, hemos dedicado un par de artículos a ComfyUI, la  interfaz de usuario para Stable Diffusion, que permite la generación de imágenes de forma local, usando Inteligencia Artificial, usando un flujo de trabajo basado en nodos.

En el primero de esos artículos te explicábamos cómo Instalar ComfyUI con Stable Diffusion en Ubuntu 22.04 LTS con lo que, en realidad, también instalábamos el propio Stable Diffusion de forma local en nuestro equipo.

En el segundo, te mostrábamos cómo se puede Automatizar la ejecución de ComfyUI en Ubuntu 22.04 LTS, para hacerlo de la misma forma que ejecutaríamos cualquier otra aplicación.

Hoy, como tercer paso, haremos un acercamiento a la interfaz gráfica porque, al entrar por primera vez, intimida un poco. Sin embargo, la realidad es que, cuando la conoces, resulta muy intuitiva y potente.

Ejecutando ComfyUI por primera vez

Si has seguido las indicaciones de los artículos anteriores, podrás ejecutar ComfyUI desde el Panel de Aplicaciones de Ubuntu.

Solo tendrás que comenzar a escribir su nombre y, cuando veas el icono, hacer clic sobre él.

Usar-Stable-Diffusion-con-ComfyUI-Primeros-pasos

Esto hará que se abra una nueva ventana de Terminal, donde vemos la salida de los comandos que componen el script de inicio.

Al final, encontramos una URL que podemos abrir desde nuestro navegador web favorito.

Basta con hacer clic sobre ella, con el botón derecho del ratón y, en el menú de contexto que aparece, hacer clic sobre el texto Abrir el enlace.

Usar-Stable-Diffusion-con-ComfyUI-Primeros-pasos-001

Al hacerlo, se abrirá una nueva ventana del navegador, con una interfaz dividida en diferentes módulos interconectados, y un menú a la derecha.

Se puede mover el diagrama por la pantalla haciendo clic sobre cualquier lugar libre y arrastrando en la dirección que nos interese. También podemos hacer zoom usando la rueda del ratón.

Si, en el futuro, queremos recuperar este aspecto inicial, basta con hacer clic sobre la opción Load Default, en el menú de la derecha.

Usar-Stable-Diffusion-con-ComfyUI-Primeros-pasos-002

En cuando a los módulos predeterminados, a continuación vamos a tratar de definirlos de forma general:

  • Load Checkpoint: Nos permite elegir un punto de control del modelo que usaremos para generar nuestras imágenes. La elección estará limitada por los Checkpoints que tengamos instalados.

    Podremos cambiar de opción usando las flechas que aparecen a los lados del nombre.

    Además, tenemos tres enlaces (Model, CLIP y VAE) que nos permiten unir este módulo con los siguientes.

  • CLIP Text Encode (prompt): En este caso, disponemos de dos módulos idénticos. Uno actuará como prompt positivo para la imagen (es decir, una descripción de lo que queremos ver en ella) y un prompt negativo (lo que no queremos ver)

  • Empty Latent Image: Nos permite establecer el número de imágenes que obtendremos y su resolución.

  • KSampler: Aquí fijamos el modo en el que se procesa la imagen: El valor de semilla del que se parte, la intensidad con la que se aplican los prompts, los pasos que se dará en el proceso, etc.

  • VAE Decode: Se encarga de convertir el ruido en imágenes.

  • Save Image: Se encarga de guardar los resultados obtenidos en la carpeta output (dentro de la ruta donde se encuentre instalado ComfyUI). Además, nos presenta el resultado en formato reducido.

En cuanto a las conexiones, representan el flujo de datos entre los diferentes módulos. Así, la salida de un módulo alimenta la entrada de otro.

En la imagen, se han separado los módulos para que se aprecien mejor las líneas de conexión.

Usar-Stable-Diffusion-con-ComfyUI-Primeros-pasos-003

Una vez que entendemos un poco el entorno, puede que quieras saber cómo generar una imagen. La verdad es que ya se cargan de forma predeterminada los valores necesarios para obtener una imagen de muestra. Por lo tanto, solo nos quedaría hacer clic sobre la opción Queue Prompt en el menú de la derecha.

Sin embargo, para nuestra sorpresa, recibimos un error.

Usar-Stable-Diffusion-con-ComfyUI-Primeros-pasos-004

El motivo es que nos falta cargar un Checkpoint. De hecho, si te fijas en las imágenes anteriores, en el módulo Load Checkpoint, el nombre que aparece es null.

Descargar el Checkpoint predeterminado

Aunque, en otros momentos, aprenderemos a buscar e instalar otros Checkpoints, el que se utiliza de forma predeterminada para Stable Diffusion 1.5 se llama v1-5-pruned-emaonly.ckpt y lo podemos encontrar en esta URL: https://huggingface.co/runwayml/stable-diffusion-v1-5/blob/main/v1-5-pruned-emaonly.ckpt

Por lo tanto, lo primero que haremos será abrir una nueva solapa en el navegador con la dirección anterior.

Una vez en ella, hacemos clic sobre el enlace download.

Usar-Stable-Diffusion-con-ComfyUI-Primeros-pasos-005

Al hacerlo, comenzará la descarga automáticamente.

Tendremos que esperar algo de tiempo, porque el archivo ocupa unos 4GB.

Usar-Stable-Diffusion-con-ComfyUI-Primeros-pasos-006

Cuando se haya completado la descarga, abriremos una ventana del explorador de archivos y localizamos el archivo en la carpeta que usemos habitualmente para esa tarea.

Para simplificar la tarea, yo he abierto una segunda ventana del explorador de archivos y, en ella, he navegado hasta la ruta donde instalé ComfyUI en el primer artículo de los mencionados arriba. En mi caso, se llama sd.

En su interior, busco la carpeta llamada ComfyUI, dentro, una subcarpeta llamada models y, finalmente, otra llamada checkpoints.

Ese será el destino final del archivo que acabamos de descargar.

Usar-Stable-Diffusion-con-ComfyUI-Primeros-pasos-007

Solo tenemos que arrastrarlo a su nueva ubicación.

Usar-Stable-Diffusion-con-ComfyUI-Primeros-pasos-008

Generar la primera imagen

Si has llegado hasta aquí, ya estás listo para crear tu primera imagen. Solo tienes que volver a la solapa de ComfyUI y volver a hacer clic sobre la opción Queue Prompt en el menú de la derecha.

Comprobarás que esta vez no se producen errores.

En su lugar, comprobarás que aparecen barras de progreso en los diferentes módulos.

Usar-Stable-Diffusion-con-ComfyUI-Primeros-pasos-009

Y un momento más tarde, tendrás tu primera imagen, generada con el prompt predeterminado.

Obtendrás su miniatura bajo el módulo Save Image.

Usar-Stable-Diffusion-con-ComfyUI-Primeros-pasos-010

Y, cuando quieras obtener el archivo, solo tienes que volver al explorador de archivos y navegar hasta la carpeta output que, como ves en la imagen, está un poco más abajo que la carpeta models que hemos usado antes.

Archivos de imagen generados por ComfyUI.

Usar-Stable-Diffusion-con-ComfyUI-Primeros-pasos-011

Ahora solo nos queda ir escribiendo prompts y comprobar sus resultados. Al principio, puede que te resulten algo decepcionantes, pero no te preocupes, en futuros artículos iremos refinándolos.

Por el momento, esto es todo. Espero que te resulte útil.