ComfyLab
Guía ControlNet Union: El Nodo Todo-en-Uno de ComfyUI

Guía ControlNet Union: El Nodo Todo-en-Uno de ComfyUI

12GB VRAM VRAM Intermedio 7 min
Savien

La inteligencia artificial generativa ha recorrido un camino largo: de modelos que seguían prompts de texto a sistemas que interpretan estructuras espaciales con precisión. Hasta hace poco, si querías que una imagen respetara una pose específica, una profundidad concreta y unos bordes determinados, tenías que cargar tres modelos de ControlNet diferentes. Eso se traduce en VRAM agotada y un workflow que se convierte en un laberinto de nodos difícil de mantener.

ControlNet Union llega para cortar ese nudo. Un solo archivo. Múltiples canales de control. Especialmente diseñado para arquitecturas de nueva generación como FLUX en ComfyUI.

🏗️ Workflow Pro: ControlNet Union

🧠 VRAM: 8GB - 24GB 📡 MODEL: FLUX / SDXL

🏗️ ¿Qué es ControlNet Union y por qué es una Revolución?

ControlNet Union no es una “colección” de modelos empaquetados juntos, sino una arquitectura entrenada para ser multimodal desde su base. Diferencia importante. Tradicionalmente, cada ControlNet (Canny, OpenPose, Depth) era una copia completa del modelo base con capas adicionales entrenadas para una única tarea. Un modelo por función. Sin excepciones.

Importante

El problema de la fragmentación: Cargar tres ControlNets de SDXL (aprox. 2.5GB cada uno) sumado al modelo base (6.5GB) y el VAE, ponía de rodillas incluso a las RTX 3090 de 24GB.

ControlNet Union (desarrollado por equipos como X-Labs e InstantX) utiliza una técnica de entrenamiento donde un único modelo aprende a interpretar diferentes canales de entrada. Esto significa que:

  1. Ahorras espacio en disco: Un solo archivo de ~2.5GB sustituye a 8 o 10 modelos individuales.
  2. Eficiencia de VRAM: Al ser un solo modelo, la gestión de memoria de ComfyUI evita las cargas y descargas constantes de la GPU que antes provocaban cuellos de botella.
  3. Simultaneidad nativa: Le indicas al modelo que la entrada A es una pose y la entrada B es un mapa de profundidad, y él lo procesa de forma integrada, no secuencial.

🏗️ Instalación Paso a Paso: ComfyUI-ControlNet-Union

Para utilizar esta tecnología, descargar el modelo no es suficiente. Necesitas nodos que sepan comunicarse con esta arquitectura unificada, porque los nodos estándar de ControlNet no entienden el sistema de tipos que usa Union.

🏗️ 1. Instalación de Custom Nodes

La implementación más popular y estable actualmente es la de X-Labs.

  1. Abre tu ComfyUI Manager.
  2. Busca e instala: ComfyUI-XLabs-AI.
  3. Reinicia ComfyUI completamente.

Alternativamente, vía terminal en tu carpeta custom_nodes:

git clone https://github.com/XLabs-AI/x-flux-comfyui

🏗️ 2. Descarga del Modelo Maestro

Debes descargar el modelo FLUX.1-dev-ControlNet-Union-Pro. Lo encontrarás en Hugging Face bajo el repositorio de Shakker-Labs o el repositorio original de InstantX/Union en el que se basan la mayoría de variantes.

💡 Consejo

Ruta Crítica: A diferencia de otros ControlNets, los nodos de X-Labs buscan los modelos en ComfyUI/models/xlabs/controlnets/. Si colocas el archivo en la carpeta genérica de controlnets, el nodo no lo encontrará. Crea estas carpetas si no existen antes de mover el archivo.


🏗️ Configuración del Nodo: El Cerebro de la Unión

El corazón de este workflow es el nodo “Apply Flux ControlNet” combinado con “Set Union ControlNet Type”. El segundo no es opcional: sin él, el modelo no sabe qué tipo de señal está recibiendo y los resultados serán impredecibles.

🏗️ Anatomía del Workflow

Para que ControlNet Union funcione con múltiples entradas, el esquema debe ser el siguiente:

  1. Preprocesadores: Nodos individuales para Canny, Depth (usando Zoe o MiDaS) y OpenPose.
  2. Selector de Tipo (Set Union ControlNet Type): Este nodo es obligatorio. Se coloca entre el preprocesador y el nodo de aplicación. Tiene un menú desplegable donde seleccionas:
    • 0: Canny
    • 1: Tile
    • 2: Depth
    • 3: Blur
    • 4: Pose
    • 5: Gray
    • 6: Low Res
  3. Nodo de Aplicación (Apply Flux ControlNet): Recibe la imagen preprocesada, el tipo definido y el modelo Union.

🏗️ Ejemplo Práctico: Combinando Pose, Depth y Canny en un Solo Nodo

Imagina que quieres generar un personaje en una pose de yoga muy específica (Pose), dentro de una habitación cuya estructura quieres mantener (Depth), y con un patrón de ropa determinado (Canny).

🏗️ Configuración de los Nodos

  1. Pose: Conecta tu imagen de referencia a un nodo DWPose Estimator. La salida va a un Set Union ControlNet Type configurado en Pose.
  2. Depth: Otra imagen (o la misma) a un Depth Map Estimator. La salida a un Set Union ControlNet Type configurado en Depth.
  3. Canny: Salida a Set Union ControlNet Type configurado en Canny.

🏗️ El Encadenamiento (Chaining)

En ComfyUI, para usar múltiples controles, encadenas las condiciones (Conditioning) en serie.

  • Conecta el Conditioning de tu Prompt Positivo al primer Apply Flux ControlNet.
  • La salida de este va al Conditioning del segundo.
  • La salida del segundo al tercero.
  • El último Conditioning se conecta al Sampler.
⚠️ Advertencia

Fuerza (Strength): Al combinar varios controles, la imagen puede volverse rígida o “quemada”. Mantén las fuerzas acumuladas por debajo de 1.0. Un punto de partida razonable: Pose 0.7, Depth 0.4, Canny 0.3. Ajusta desde ahí según el resultado.


🏗️ Gestión de VRAM y Optimización para GPUs Modestas

FLUX con ControlNet Union activo exige hardware en serio: con menos de 16GB de VRAM dedicada, necesitas aplicar al menos dos de estas medidas para que el workflow no colapse a mitad de la generación.

  1. Uso de GGUF: No uses el modelo flux1-dev.safetensors original de 23GB. Usa las versiones GGUF (Q4_K_M o Q5_0). Esto reducirá el uso de memoria a la mitad sin pérdida perceptible de calidad.
  2. Modo FP8: Configura los pesos de ControlNet en fp8 en las opciones del nodo de carga.
  3. VAE Tiled: Si recibes errores de memoria al decodificar la imagen final, usa el nodo VAE Decode (Tiled). Divide la imagen en fragmentos pequeños para que la GPU pueda procesarlos uno a uno.
  4. Resolución: No intentes generar a 2K directamente con ControlNet Union activado. Quédate en 1024x1024 o 1216x832 y luego haz un Upscale (consulta nuestra guía de upscaling 4K).

🏗️ FAQ Técnico: Resolviendo Problemas Comunes

🏗️ ¿Puedo usar este modelo con Stable Diffusion 1.5 o XL?

No directamente. El modelo Union Pro de X-Labs está diseñado para la arquitectura de FLUX. Existen versiones “Union” para SDXL de InstantX que siguen una lógica similar, aunque con un rango de tipos de control más reducido y menor capacidad de simultaneidad.

🏗️ ¿Por qué obtengo una imagen gris o con ruido aleatorio?

Suele ser un desajuste entre el Sampler y el ControlNet. Comprueba que el XLabs Sampler tenga los steps y cfg recomendados para el modelo base que estás usando. Para FLUX Dev, los valores de referencia son 20-30 steps y un guidance_scale de 3.5. Salirte de ese rango con ControlNet activo amplifica el ruido de forma visible.

🏗️ ¿Qué hace el parámetro ‘Global Average Pooling’?

Si lo activas, el ControlNet interpreta la imagen de forma global en lugar de píxel por píxel. Tiene sentido para el modo Gray o Low Res, donde la información espacial fina no importa tanto. Para Pose o Canny, déjalo desactivado: activarlo difumina los detalles estructurales que precisamente quieres preservar.


Dominar ControlNet Union cambia la forma en que trabajas en ComfyUI. Dejas de negociar con lo que el modelo decide generar y empiezas a dictar la estructura, la profundidad y la anatomía de cada imagen. Un solo archivo. Control total.

Si quieres llevar ese control al nivel de detalle más fino, la guía avanzada de Inpainting para manos es el siguiente paso lógico.

Preguntas frecuentes

¿Qué es ControlNet Union y por qué es mejor que los modelos individuales?
ControlNet Union es un modelo 'unificado' que contiene múltiples arquitecturas de control (Canny, Depth, Pose, etc.) en un solo archivo. Es mejor porque reduce drásticamente la fragmentación del flujo de trabajo, permite usar varios tipos de control simultáneamente con menos sobrecarga de VRAM y simplifica la gestión de archivos en tu carpeta de modelos.
¿Puedo usar ControlNet Union con 8GB de VRAM?
Es posible si usas versiones GGUF cuantizadas de FLUX (como Q4_0) y el modelo Union en modo fp8. Sin embargo, para una experiencia fluida con múltiples controles simultáneos, se recomiendan 12GB o más, ya que FLUX y ControlNet Union son altamente demandantes de memoria.
¿Por qué mis controles no parecen afectar a la imagen final?
Asegúrate de estar usando el nodo 'Set Union ControlNet Type' antes de cada entrada de control. Si no especificas el tipo (ej. Canny o Pose), el modelo Union no sabrá cómo interpretar el mapa de entrada. También verifica que la fuerza (strength) sea superior a 0.5.
¿Es compatible ControlNet Union con el sampler estándar de ComfyUI?
Generalmente, los modelos de X-Labs funcionan mejor con su propio 'XLabs Sampler'. El sampler estándar puede funcionar, pero a menudo produce resultados inconsistentes o ignora el control si no se configuran correctamente los 'timesteps' de aplicación.
Compartir X LinkedIn

También te puede interesar