INSTALACIÓN Y USO INICIAL DE STABLE DIFUSSION EN COMFYUI
¿Qué es Stable Difussion?
Comenzaremos nuestra primera experiencia en Comfyui con los modelos de la empresa Stable Difussion. Lo primero que haremos es explicar brevemente qué son estos modelos y cómo se usan en una instalación previa de Comfyui que tengamos a nuestro alcance.El lanzamiento de Stable Diffusion en agosto de 2022 cambió las reglas del juego de la hasta entonces IA Generativa en la nube con plataformas como DALL-E o Midjourney, sus competidores en aquel momento. El cambio fue que su código se liberó por completo de manera que cualquier programador podía ver "el motor" de la IA, usarlo, adaptarlo y modificarlo, lo que permitió pasar de las interfaces web simples a un sistema avanzado de nodos instalables en local (Comfyui y otros)
Stable Difussion fue desarrollado por Stability AI para crear imágenes detalladas y de alta calidad a partir de descripciones de texto (prompts).
Pero también permite hacer otras cosas además de transformar texto en imagen, como:
- editar imágenes existentes
- crear imágenes a partir de otras imágenes
- añadir o borrar elementos de una imagen
- crear animaciones. Destaca por ser gratuito y ejecutable localmente
¿Cómo probar Stable Difussion antes de hacer nuestra instalación local?
Muchas veces nos surgirá la pregunta de si vale la pena instalar una determinada tecnología en nuestro Comfyui local, si nos va a dar lo que queremos o no.La manera más rápida y fácil de probar Stable Diffusion sin instalarlo en nuestro ordenador es utilizar Dream Studio, entorno web que utiliza esta IA.. Para poder hacerlo, hemos de registrarnos previamente en https://auth.stability.ai/ y conectarnos con una cuenta de Google, por ejemplo. Entraremos en la plataforma en una opción de demo, que nos permitirá lo más básico.
En esta página, también podemos actualizarnos a un plan de pago. El más básico es gratuito y nos da 1.000 créditos gratis para hacer nuestras pruebas. ¿Eso es mucho o poco?; en la misma página nos dice lo que cuesta cada “operación”, suficiente para testear si nos interesa o no la plataforma.
Importante: Los resultados obtenidos en la plataforma en la nube serán siempre mejores que los que obtendremos en una instalación local, porque los recursos liberados siempre estarán algo desactualizados respecto a los recursos que maneja la empresa en su formato comercial.
La mayoría, si no todas las tecnologías, disponen de esta opción en la nube.
¿Qué son los modelos de Stable Diffusion?
La tecnología Stable Diffusion es un sistema de IA que convierte “ruido” visual en una imagen interpretable, guiado bien por texto, bien por otra imagen.Un modelo es básicamente un archivo que contiene los resultados de un proceso de entrenamiento previo, entrenado que contiene “cómo se ve el mundo” según ese modelo. Ese archivo decide, por lo tanto elementos como:
- el estilo visual
- la calidad de la imagen
- el tipo de contenido
- el comportamiento general
El proceso simplificado sigue los siguientes pasos:
- Partimos de “ruido” aleatorio
- El ruido se va “limpiando” en sucesivos pasos, siguiendo las instrucciones del texto que actúa como guía
- Termina en una imagen coherente
Veamos los siguientes esquemas
de la web de Stable Difussion que nos pueden orientar sobre este
funcionamiento.
Existen diferentes tipos de modelos.
- Modelos fundamentales
- Son el núcleo del sistema y determinan la resolución nativa, la calidad general y la capacidad semántica (texto)
- Hay dos grandes modelos generales (y sus derivados)
- SD 1.5 (Stable Diffusion v1.5), como
- v1-5-pruned.safetensors
- SDXL (Stable Diffusion XL), como
- sd_xl_base_1.0.safetensors
- Variantes de Modelos fundamentales
- Son variaciones del modelo base que cambian el estilo, la estética y el comportamiento, de manera que ante un mismo prompt los resultados son diferentes
- SD 1.5 (Stable Diffusion v1.5), como
- dreamshaper₈.safetensors
- anything-v5.safetensors
- SDXL (Stable Diffusion XL), como
- juggernautXL.safetensors
- dreamshaperXL (varias versiones: estándar, Turbo y Lightning)
- Ajustes ligeros (LORAs)
- Pequeños archivos que modifican el modelo base en aspectos concretos, por ejemplo, el estilo, el personaje, un determinado detalle visual
¿Qué es un flujo Stable Diffusion de Comfyui?
El nacimiento y evolución de Comfyui y de los primeros modelos y flujos de SD no se entienden por separado ya que los primeros flujos de trabajo en Comfyui fueron diseñados para las primeras versiones de Stable Diffusion.Un flujo Comfyui es un conjunto de nodos unidos de forma lógica que conforman un proceso lógico lineal cuyo resultado es la generación de una imagen.
Si en el menú de la izquierda de Comfyui accedemos a la pestaña “Templates” y buscamos por Stable Diffusion, veremos un Workflow llamado “Started” que nos cargará el workflow básico de Stable Diffusion.

Este Workflow, simplificado eliminando los nodos de información, queda así:

Vemos varias cosas a comentar.
- Los nodos, para una mejor gestión, se pueden agrupar en “Grupos”
- Los nodos se pueden colorear, es una de sus propiedades
- Si un nodo no está instalado o si lo está pero le falta información, se muestra en rojo.
Si un nodo falta, no está instalado, es que es un nodo que no pertenece a la base de Comfyui, sino a una “extensión” (es lo que se conoce como un “custom node”) que deberemos instalar normalmente desde el “Comfyui-Manager” en la opción “Install Missing Custom Nodes”.
Si lo que falta es el modelo que carga el nodo, como es nuestro caso, podemos descargarlo desde el propio mensaje de error, que nos da la opción de descarga directa, o bien, desde “Comfyui-Manager” en la opción “Model Manager”, donde lo buscaremos por el nombre.
Una vez descargado, el modelo se coloca en la carpeta:
..\models\checkpoints
Algunos modelos recomendados, organizados en subcarpetas:
..\models\checkpoints\SD15
dreamshaper_8.safetensors
juggernaut_reborn.safetensors
..\models\checkpoints\SDXL
sd_xl_base_1.0.safetensors
dreamshaperXL_lightningDPMSDE.safetensors
juggernautXL_ragnarok.safetensors
..\models\checkpoints\SDXL
sd_xl_base_1.0.safetensors
dreamshaperXL_lightningDPMSDE.safetensors
juggernautXL_ragnarok.safetensors
Analicemos este “Flujo de trabajo” básico, que como vemos, tiene los siguientes bloques, muy simples, pero que nos permiten generar nuestras primeras imágenes:
Modelos de referencia.
El modelo de referencia seleccionado condiciona directamente a los otros nodos, que deben ser compatibles, deben pertenecer a la misma tecnología y/o versión, de manera que si cambiamos el modelo no solo cambian los resultados, sino que en ocasiones puede que debamos cambiar algunos nodos por otros compatibles.
Indicaciones de texto (prompts)
Sobre los prompts de texto, algunos comentarios sobre cómo deben ser, sobre todo en caso de la tecnología SD
Con los primeros modelos, (hasta la versión SDXL) la IA no leía frases gramaticales complejas, sino conceptos clave, normalmente una lista de palabras o frases cortas, preferiblemente en inglés, separados por comas. Ejemplo de un prompt negativo: "blurry, lowres, bad anatomy, extra limbs, watermark, text, low quality".
En los prompts se pueden usar “pesos” para poner más énfasis en unos conceptos que en otros. Para ello se usan paréntesis y valores numéricos, donde 1.0 es el valor base. Para aumentar la importancia, ponemos la palabra entre paréntesis seguida del valor sobre el base que deseamos, por ejemplo (concepto:1.2), aumenta un 20% la importancia y (concepto:0.8), disminuya la importancia en un 20%. Fácil liarse y obtener resultado impredecibles.
Existen diferencias en la gestión de los prompts positivos según el modelo Stable Diffusion que utilicemos, así:
Sobre el funcionamiento del ensamblador.
Como ya hemos comentado, el nodo KSampler de ComfyUI es el responsable de convertir el ruido aleatorio en el espacio latente y limpiarlo paso a paso guiándose por las indicaciones de texto (prompts) y el modelo principal, hasta generar una imagen final coherente.
Sus parámetros se pueden modificar y para ello debemos tener una idea de lo que hace cada uno, aunque al principio, no resulta fácil entenderlos.
Ya podemos empezar a crear nuestra primeras imágenes. La verdad es que solo nos queda hacer pruebas con estos parámetros para entenderlos mejor. Suerte con la experiencia.
- Carga de modelos
- “Load Checkpoint”: Es el nodo inicial donde seleccionamos el modelo que utilizaremos, Stable Diffusion (SD1.5, SDXL)
- Definición de las condiciones
- “CLIP Text Encode (Prompts)”: Dos nodos donde escribimos el prompt positivo (qué quieres ver en tu imagen) y el prompt negativo (qué no quieres ver en tu imagen).
- En el caso de SD, los dos prompts son necesarios.
- “Empty Latent Image”: Configuración de la Imagen.
- Define el tamaño de la imagen (ancho/alto) “size”
- Define el número de imágenes a generar “batch”
- Procesamiento
- “Ksampler”: El nodo central, el motor que realiza el proceso de difusión (sampling). Toma el modelo, los prompts y el espacio latente vacío para generar la imagen, de manera que modifica el espacio latente a partir de las instrucciones de los prompts y los criterios aprendidos por el modelo utilizado.
- Generación de imagen
- “VAE Decode”: es el decodificador de la imagen, que convierte el resultado del KSampler (espacio latente) en una imagen en pixels visible para nosotros
- Save Image: Guarda la imagen final resultante en la carpeta de salida de Ciomfyui (carpeta “output”)
Modelos de referencia.
El modelo de referencia seleccionado condiciona directamente a los otros nodos, que deben ser compatibles, deben pertenecer a la misma tecnología y/o versión, de manera que si cambiamos el modelo no solo cambian los resultados, sino que en ocasiones puede que debamos cambiar algunos nodos por otros compatibles.
Indicaciones de texto (prompts)
Sobre los prompts de texto, algunos comentarios sobre cómo deben ser, sobre todo en caso de la tecnología SD
Con los primeros modelos, (hasta la versión SDXL) la IA no leía frases gramaticales complejas, sino conceptos clave, normalmente una lista de palabras o frases cortas, preferiblemente en inglés, separados por comas. Ejemplo de un prompt negativo: "blurry, lowres, bad anatomy, extra limbs, watermark, text, low quality".
En los prompts se pueden usar “pesos” para poner más énfasis en unos conceptos que en otros. Para ello se usan paréntesis y valores numéricos, donde 1.0 es el valor base. Para aumentar la importancia, ponemos la palabra entre paréntesis seguida del valor sobre el base que deseamos, por ejemplo (concepto:1.2), aumenta un 20% la importancia y (concepto:0.8), disminuya la importancia en un 20%. Fácil liarse y obtener resultado impredecibles.
Existen diferencias en la gestión de los prompts positivos según el modelo Stable Diffusion que utilicemos, así:
- SD1.5: Necesita prompts positivos extensos, una lista de términos de pocas palabras, separados por comas, y detallando cada aspecto de imagen.
- SDXL: Es más "inteligente" y requiere frases naturales y descriptivas, que indiquen cómo debe ser el sujeto, el ambiente, el estilo artistico….
- Defectos físicos: extra fingers, deformed hands, blurry, low quality, watermarks, text, signature, bad anatomy, out of frame, gross proportions.
- Estilo no deseado: Si buscas algo realista, pondrías: cartoon, anime, 3D render, illustration, drawing.
- Contenido específico: Si quieres un paisaje sin personas: people, man, woman, crowd.2.
- SD1.5: Necesita prompts negativos extensos, con muchos conceptos, y detallados, para obtener una buena imagen.
- SDXL: son versiones más "inteligentes" y requieren menos palabras; a veces basta con 3 o 4 términos clave que corrijan los defectos de la imagen creada.
- ..\models\embeddings
Sobre el funcionamiento del ensamblador.
Como ya hemos comentado, el nodo KSampler de ComfyUI es el responsable de convertir el ruido aleatorio en el espacio latente y limpiarlo paso a paso guiándose por las indicaciones de texto (prompts) y el modelo principal, hasta generar una imagen final coherente.
Sus parámetros se pueden modificar y para ello debemos tener una idea de lo que hace cada uno, aunque al principio, no resulta fácil entenderlos.
- seed (Semilla): El número inicial que define el patrón aleatorio de ruido inicial del que se parte para generar la imagen.
- Usar la misma semilla con los mismos ajustes genera una imagen idéntica.
- Cambiar la semilla crea una composición totalmente nueva.
- Parámetros:
- control_after_generation: indica lo que pasa con la semilla tras cada ejecución.
- Randomize: cambia sola de forma aleatoria
- fixed: se mantiene fija (útil para hacer pruebas sin que el patrón de ruido inicial cambie)
- increment: sube una unidad
- decrement: baja una nidad
- steps (Pasos): El número de iteraciones o ciclos que hace la IA para limpiar el ruido.
- Suelen usarse entre 20 y 30 según el modelo.
- Más pasos añaden detalle
- Un exceso de pasos no mejora la imagen y ralentiza el proceso.
- cfg (Classifier Free Guidance): Controla cuánto se esfuerza la IA en obedecer tu texto.
- Suele oscilar entre 7 y 8 (pero cambia según la tipología de modelos).
- Valores altos fuerzan el prompt al pie de la letra
- Valores demasiado altos se deforma la imagen o muestra errores visuales ("quemada").
- sampler_name: El algoritmo matemático que decide la forma de eliminar el ruido en cada paso. Cada uno afecta sutilmente a la velocidad y textura final.
- Los más usados son euler, dpm++ 2m
- scheduler: Define cómo se distribuyen esos pasos de limpieza a lo largo del proceso , afectando la progresión de la nitidez.
- Los más usados son karras, normal, simple, beta
- denoise (Eliminación de ruido): Controla cuánto interviene el nodo en la imagen.
- A 1.0, crea una imagen desde cero (Text-to-Image).
- Si es menor a 1.0 (Image-to-Image o Upscale), respeta más la imagen de entrada original y solo cambia una parte de ella.
Ya podemos empezar a crear nuestra primeras imágenes. La verdad es que solo nos queda hacer pruebas con estos parámetros para entenderlos mejor. Suerte con la experiencia.




Comentarios
Publicar un comentario