A día de hoy existen multitud de aplicaciones web que nos permiten crear imágenes utilizando el modelo de Inteligencia Artificial de Stable Diffusion. Estas aplicaciones online están muy bien, pero lo malo es que llegados a un punto, si queremos usarlas de manera recurrente es necesario pagar.
Sin embargo, a diferencia de otros modelos generativos como DALL-E, en el caso de Stable Diffusion estamos hablando de un modelo open-source de código abierto. Eso significa que podemos instalarlo en nuestro PC y utilizarlo de manera gratuita para crear tantas imágenes como queramos. ¡No está mal!
Requisitos para poder ejecutar Stable Diffusion en un PC
Stable Diffusion es un modelo de machine learning que requiere cierta potencia de hardware, y por tanto, no podrás instalarlo en cualquier PC de gama media o baja. Los requisitos mínimos son los siguientes:
- Una GPU con al menos 6GB de memoria VRAM.
- Alrededor 100GB de espacio de almacenamiento libre en disco.
- Un PC con Windows 8, Windows 10, Windows 11, Linux o macOS.
Otro detalle a tener en cuenta es que la versión estándar de Stable Diffusion no tiene interfaz gráfica, lo que significa que tendremos que usar comandos para generar las imágenes. ¡Tranquilos! Tal y como veremos un poco más abajo, es realmente fácil de usar.
Nota: Si tu PC no cumple con los requisitos mínimos recuerda que también puedes probar de forma gratuita la demo online de Stable Diffusion 2.1 para generar imágenes desde el navegador.
Cómo instalar Stable Diffusion en tu PC de sobremesa
Si tu equipo cumple con los requisitos mínimos, es momento de ponerse manos a la obra.
- Descarga e instala la aplicación Git. Esta es una herramienta para desarrolladores que permite gestionar diferentes versiones de software. Puedes descargar el instalador desde la página oficial de Git (versión de 64 bits para Windows).
- A la hora de instalar Git, deja todas las opciones tal cual están por defecto. Especialmente el apartado en el que está marcada la opción “Git from the command linea and also from 3rd-party software.
- Ahora toca instalar la aplicación Miniconda3. Se trata de una herramienta que permite gestionar todas las bibliotecas necesarias para ejecutar Stable Diffusion. Puedes descargar Miniconda3 (versión de 64 bits para Windows) desde su página web oficial.
- En el momento de instalar la aplicación, selecciona la opción “Install for: All Users”. El resto de opciones déjalas tal y como están.
- A continuación, descarga el checkpoint más reciente de Stable Diffusion desde su web oficial. En estos momentos la versión más reciente es la 1.4. Pulsa sobre ella y en la siguiente ventana haz clic en el checkpoint “sd-v1-4-ckpt” para descargar el software desde GitHub (tiene un tamaño de unos 4GB).
- Ahora, descarga el software de Stable Diffusion desde su repositorio de GitHub. Pulsa sobre el botón verde de “Code” y dale a “Download ZIP”. El archivo apenas pesa unos 45MB.
Llegados a este punto, ahora que ya tenemos todo el software en nuestras manos, es momento de preparar una carpeta donde guardaremos todos los archivos de Stable Diffusion.
- Abre el buscador de Windows, escribe “miniconda3” y abre la aplicación.
- Escribe los siguientes comandos uno por uno:
- cd C:/
- mkdir stable-diffusion
- cd stable-diffusion
- A continuación, abre el explorador de archivos de Windows y descomprime el archivo ZIP de Stable Diffusion que has descargado desde GitHub (stable-diffusion-main.zip). Copia esa carpeta y pégala en la nueva carpeta “stable-diffusion” que acabamos de crear en la raíz de C.
- Vuelve a la ventana de terminal de miniconda y lanza los siguientes comandos uno por uno. Este es un proceso que puede llevar varios minutos, así que no cierres la ventana:
- cd C:\stable-diffusion\stable-diffusion-main
- conda env create -f environment.yaml
- conda activate ldm
- mkdir models\ldm\stable-diffusion-v1
- Por último, abre el explorador de archivos, ve a la carpeta “C:\stable-diffusion\stable-diffusion-main\models\ldm\stable-diffusion-v1” y pega en esa carpeta el fichero checkpoint de 4GB (sd-v1-4.ckpt) que has descargado hace un rato.
- Para terminar, haz clic derecho sobre el archivo “sd-v1-4.ckpt” y cámbiale el nombre a “model.ckpt”.
Ya tenemos Stable Diffusion instalado y listo para empezar a generar imágenes de forma gratuita en nuestro PC. Pero, ¿cómo funciona?
Cómo usar Stable Diffusion mediante comandos
Para generar imágenes con Stable Diffusion el proceso a seguir es bastante sencillo. Eso sí, todo lo haremos mediante comandos desde una ventana de terminal de Miniconda3.
- Abre el buscador de Windows y ejecuta la aplicación Miniconda3.
- Lanza el comando “conda activate ldm” (sin comillas).
- Cambia el directorio a “C:\stable-diffusion\stable-diffusion-main”. Para ello, lanza el comando “cd C:\stable-diffusion\stable-diffusion-main” (sin comillas).
Ahora ya lo tenemos todo preparado para pedirle a Stable Diffusion que cree una imagen a partir del texto que nosotros le digamos (ten en cuenta que debe estar en inglés). Para ello ejecuta el siguiente comando:
python scripts/txt2img.py –prompt «a photo of cat flying out to space as an astronaut, digital art» –plms –n_iter 4 –n_samples 1
En esta orden le hemos pedido que genere 4 imágenes (512×512 píxeles) de “un gato volando en el espacio como un astronauta”. Sustituye el apartado que está entre comillas en el comando e introduce la solicitud de imagen deseada.
Las imágenes generadas por la inteligencia artificial se guardan automáticamente en la carpeta “C:\stable-diffusion\stable-diffusion-main\outputs\txt2img-samples\samples”.
Errores conocidos
Es posible que la primera vez que ejecutes el script txt2img.py obtengas el error “cannot import name ‘SAFE_WEIGHTS_NAME’ from ‘transformers.utils‘”. Para solucionarlo ejecuta el siguiente comando en la ventana de terminal de Miniconda3.
- pip install diffusers==0.12.1
Con este comando lo que haremos será un downgrade de las bibliotecas de diffusers a la versión 0.12.1, que es una versión donde está confirmado que Stable Diffusion funciona correctamente.
Espero que este tutorial te haya sido de ayuda. ¡Nos leemos en el siguiente post!
Perso estás usando el checkpoint del 1.4.
«Más rápido» y con menos control pero automático, puedes usar cmdr2 o automatik1111
Hola. Primero, gracias por el tutorial. Soy nuevo en esto de python y no entiendo nada.
Me salio el importerror. Puse el comando para downgradear y el error persiste, pero ahora dice
ImportError: cannot import name ‘ModelOutput’ from ‘transformers.utils’ (C:\Users\miusuario\.conda\envs\ldm\lib\site-packages\transformers\utils\__init__.py)
faltó explciar la parte de instalar phyton