Stable Diffusion en macOS: comparación de herramientas locales de imagen
Traducción automática Este artículo se tradujo automáticamente a partir de la versión original en inglés.
Ejecutar modelos de imagen localmente en macOS depende, en gran medida, de elegir las herramientas adecuadas. Draw Things, DiffusionBee, ComfyUI, AUTOMATIC1111 y Fooocus se solapan, pero difieren en configuración, compatibilidad con modelos, control del workflow, extensiones y automatización.
Una aplicación de arrastrar y soltar permite empezar rápidamente; un grafo de nodos requiere más tiempo de aprendizaje, pero expone una mayor parte del pipeline. En Apple Silicon, la aplicación, la familia de modelos, la precisión, el tamaño de la imagen y el workflow influyen en que la generación quepa en memoria. Elige la interfaz según el trabajo que necesites reproducir y prueba después el modelo y la configuración exactos.
TL;DR. Empieza con Draw Things o DiffusionBee cuando una aplicación nativa cubra el trabajo. Usa ComfyUI cuando sea necesario inspeccionar, compartir o automatizar el grafo. Elige AUTOMATIC1111 solo para workflows que dependan de su interfaz o sus extensiones. Considera Fooocus un workflow estable de la era de SDXL, no una vía hacia la compatibilidad con modelos actuales: su proyecto oficial se encuentra en soporte limitado a largo plazo.
Un archivo de modelo no es un workflow portable
Varias aplicaciones pueden cargar archivos .safetensors, pero que la extensión coincida no significa que el modelo vaya a funcionar. Un pipeline completo también puede requerir una arquitectura concreta, un encoder de texto, un VAE, un scheduler, ControlNet, LoRA, un tokenizer o una configuración específica de la aplicación.
Registra todo lo que haya producido una imagen:
- aplicación y versión
- repositorio del modelo, revisión y licencia
- cada componente y adapter del modelo
- prompt, negative prompt, seed, sampler, steps, guidance y dimensiones
- archivo de grafo o workflow cuando la aplicación lo permita
Este registro importa más que la popularidad de la aplicación. La misma seed puede producir una imagen diferente después de cambiar el backend, el modelo, el sampler o la precisión.
La memoria unificada es compartida, no ilimitada
Apple documenta que sus GPUs utilizan un modelo de memoria unificada en el que la CPU y la GPU comparten la memoria del sistema, aunque el acceso a los recursos sigue dependiendo del modo de almacenamiento de Metal. Esto elimina una frontera de copia independiente, pero macOS y todas las aplicaciones abiertas utilizan la misma capacidad física; el Monitor de Actividad muestra el uso de las aplicaciones, la memoria cableada, la memoria comprimida y el swap.
Para la generación de imágenes, utiliza esto como un registro conceptual del pico de memoria, no como una fórmula de dimensionamiento:
peak memory ≈ model components
+ intermediate activations
+ attention and runtime workspace
+ loaded adapters and control models
+ application and OS memory
La resolución, el tamaño del batch, la arquitectura del modelo, la precisión, el upscaling, ControlNet y que los componentes permanezcan cargados modifican el resultado. Ninguna fuente de Apple convierte este registro en una regla universal de «8/16/32 GB», por lo que elegir una máquina basándose en él es una inferencia que debe validarse con el workflow. Prueba el workflow previsto y observa la presión de memoria y el uso del swap; un swapping sostenido indica que debes reducir la carga o elegir más memoria.
Elige según el estado que necesites controlar
| Herramienta | Superficie de control útil | Compromiso operativo |
|---|---|---|
| Draw Things | UI nativa de Apple con modelos locales, adapters, ControlNet y scripts | Interfaz densa y específica del producto; verifica la compatibilidad con la familia de modelos exacta |
| DiffusionBee | Aplicación de macOS empaquetada con un workflow integrado de generación | Prima la comodidad frente a la inspección a nivel de grafo; hay que comprobar el ritmo de releases y las familias compatibles |
| ComfyUI | Grafo de nodos explícito, workflows JSON, API y custom nodes | Más piezas móviles; los grafos y los nodos de terceros se convierten en dependencias |
| AUTOMATIC1111 | Web UI basada en formularios, scripts, API y una amplia superficie de extensiones | Apple Silicon presenta limitaciones documentadas de funcionalidades y rendimiento; las extensiones amplían la superficie de confianza |
| Fooocus | Workflow SDXL orientado al prompt y con opiniones marcadas | Oficialmente en LTS limitado, solo con correcciones de errores; la guía para Mac no es oficial y las pruebas son limitadas |
La tabla no es una clasificación. Indica dónde reside el estado del workflow: dentro de una aplicación, repartido en un formulario o en un grafo que puede revisarse.
Draw Things: interacción nativa y scripting
Draw Things es una aplicación para plataformas Apple destinada a la generación local de imágenes. Su documentación actual cubre modelos, LoRAs, ControlNet, textual inversion, Core ML y scripting de JavaScript versionado.
Elígela cuando el trabajo deba permanecer dentro de una aplicación nativa, pero necesite más control que un cuadro de prompt. Antes de estandarizarla, importa los componentes exactos del modelo y reproduce una edición, un adapter o un workflow de control representativo. «Nativa» describe la interfaz y la implementación; no garantiza compatibilidad ni velocidad con todas las arquitecturas nuevas.
DiffusionBee: workflow empaquetado para macOS
DiffusionBee integra la descarga de modelos y las tareas habituales de generación en una aplicación de escritorio. La documentación de su proyecto incluye image-to-image, inpainting, outpainting, ControlNet, LoRA y SDXL. Las notas de la release 2.5.3 de DiffusionBee indican que Flux.1 solo es compatible con Macs arm64 que ejecuten macOS 13 o posterior.
Elígela cuando la facilidad de instalación y una UI integrada importen más que exportar un grafo de pipeline. Comprueba la última release y la arquitectura exacta antes de descargar un modelo grande. Una etiqueta de funcionalidad como «compatibilidad con Flux» no significa que vaya a cargarse cualquier derivado, cuantización o componente auxiliar.
ComfyUI: el workflow es un artefacto
ComfyUI representa la generación como un grafo de nodos. Un workflow puede almacenarse como JSON de forma independiente de su salida, lo que hace que el pipeline sea inspeccionable y versionable. Su ejecutor también puede evitar recalcular las secciones del grafo cuyas entradas no hayan cambiado.
Comfy Desktop es un gestor de múltiples instalaciones para instancias locales de ComfyUI. La documentación actual para macOS es compatible con Apple Silicon en macOS 13 o posterior e instala desde un .dmg descargado. Si prefieres Homebrew, el cask actual es comfy (no comfyui):
brew install --cask comfy
Elige ComfyUI cuando un pipeline tenga ramas, componentes reutilizables, varios modelos o automatización. Conserva juntos el JSON, la versión de la aplicación, las versiones de los core nodes, las revisiones de los custom nodes y el manifiesto de modelos.
Los custom nodes son dependencias ejecutables. Revisa su código fuente y sus scripts de instalación, fija las revisiones y aísla el entorno. Un grafo de un autor desconocido puede hacer referencia a código y modelos que no hayas auditado.
AUTOMATIC1111: compatibilidad con una Web UI consolidada
AUTOMATIC1111 Stable Diffusion WebUI expone la configuración de generación mediante una interfaz de navegador y es compatible con scripts, extensiones y una API. Elígela cuando un tutorial concreto, una automatización o una extensión ya forme parte del requisito.
Su guía oficial para Apple Silicon documenta excepciones y limitaciones de rendimiento, incluido un rendimiento de entrenamiento débil. Confirma que la funcionalidad necesaria funciona con las versiones objetivo de macOS y PyTorch antes de adoptar una configuración con muchas extensiones.
Las extensiones ejecutan código dentro del entorno de la aplicación. Fíjalas, revisa las actualizaciones y mantén el servicio enlazado a loopback, salvo que el acceso remoto sea deliberado y esté protegido.
Fooocus: una opción acotada de la era de SDXL
Fooocus oculta deliberadamente muchas decisiones técnicas tras un workflow orientado al prompt y con opiniones marcadas. Puede resultar útil cuando sus valores predeterminados encajan con la tarea.
El README actual del proyecto indica que Fooocus está construido en torno a SDXL y se encuentra en soporte limitado a largo plazo, únicamente con correcciones de errores. También señala que Mac no se prueba de forma intensiva y describe la instalación para Mac como no oficial. Por ello, Fooocus es una opción acotada para un workflow existente de Fooocus, no la vía predeterminada para arquitecturas nuevas ni para una configuración de macOS que planees mantener.
Ejecuta una prueba de aceptación representativa
Utiliza un conjunto pequeño de pruebas de aceptación antes de comprometerte con una herramienta:
- Reproduce un resultado base de text-to-image a partir de una seed y una configuración registradas.
- Ejecuta la operación más exigente que necesites: inpainting, ControlNet, LoRA, upscale o un grafo de varias etapas.
- Reinicia la aplicación y reproduce el workflow a partir de los artefactos guardados.
- Mide el arranque en frío, el tiempo de generación, el pico de presión de memoria y las dimensiones de salida.
- Traslada el workflow a una cuenta de usuario o máquina limpia y enumera todas las dependencias que falten.
- Verifica el binding en la red local, las descargas, la configuración de analytics, las licencias y la procedencia de los modelos.
No compares herramientas con checkpoints, resoluciones, números de steps o precisiones diferentes y llames después al resultado un benchmark de runtime.
Un valor predeterminado práctico
Para trabajos exploratorios, empieza con una aplicación nativa y un modelo que esta documente. Pásate a ComfyUI cuando el propio workflow adquiera valor: cuando deba revisarse, repetirse, automatizarse o entregarse a otra persona. Conserva AUTOMATIC1111 o Fooocus cuando una dependencia existente haga útil su superficie específica.
Lo que merece la pena conservar es el paquete reproducible más pequeño de identidades de modelos, parámetros, dependencias y estado del workflow capaz de producir de nuevo el resultado.
Referencias
- Documentación de Draw Things
- Proyecto DiffusionBee
- Documentación de ComfyUI Desktop para macOS, cask de Comfy Desktop para Homebrew y documentación de workflows
- Documentación de Apple sobre memoria unificada de Metal y documentación sobre presión de memoria del Monitor de Actividad
- Notas de instalación de AUTOMATIC1111 para Apple Silicon
- Estado del proyecto Fooocus y notas para macOS