Usar Stable Diffusion con ComfyUI: Primeros pasos
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.
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.
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.
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.
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.
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.
Al hacerlo, comenzará la descarga automáticamente.
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.
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.
Y un momento más tarde, tendrás tu primera imagen, generada con el prompt predeterminado.
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.
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.