Contenido

Tutorial de ControlNet en ComfyUI: controla la composición con líneas, poses y profundidad

Con solo prompts es difícil controlar con precisión «la pose de una persona», «la perspectiva de un edificio» o «la composición de la imagen». ControlNet te permite proporcionar una imagen de referencia y extraer información estructural (líneas, poses y profundidad) para que la imagen generada siga esa estructura.

Tipos de control habituales

TipoQué extrae de la imagen de referenciaIdeal para
CannyBordes y líneasConservar contornos y detalles, por ejemplo, de productos o edificios
LineartDibujo linealColorear un dibujo lineal y convertirlo en una ilustración completa
OpenPoseEsqueleto humano (pose, manos y rostro)Especificar la pose de una persona
DepthProfundidad (distancia)Conservar la estructura espacial y la perspectiva
ScribbleGarabato sencilloControlar la composición con un boceto hecho a mano
TileDetalles de la imagen originalMantener la coherencia y añadir detalles al ampliar una imagen

Qué necesitas

  1. Modelo de ControlNet: colócalo en models/controlnet/. Debe corresponder a la versión del modelo base (SD 1.5, SDXL y Flux tienen modelos ControlNet distintos). También existen modelos «Union», en los que un solo archivo admite varios tipos de control.
  2. Preprocesador (Preprocessor): convierte la imagen de referencia al formato que necesita ControlNet (por ejemplo, transforma una foto en líneas o en un esqueleto). Canny tiene un nodo integrado; los demás tipos suelen requerir el nodo personalizado comfyui_controlnet_aux (consulta Nodos personalizados y Manager).

Crea el flujo de trabajo (con Canny)

[Load Image] ─▶ [Canny] ─IMAGE────────────────┐
                                              ▼
[CLIP Text Encode positive] ─CONDITIONING─▶ [Apply ControlNet] ─positive─▶ [KSampler]
[CLIP Text Encode negative] ─CONDITIONING─▶                    ─negative─▶
[Load ControlNet Model] ─CONTROL_NET──▶
                         vae ─────────▶

Pasos:

  1. Empieza con el flujo de trabajo de texto a imagen.
  2. Añade Load Image y carga la imagen de referencia.
  3. Añade el nodo Canny y conéctale la imagen de referencia. Ejecútalo una vez y comprueba las líneas extraídas con Preview Image.
Resultado que muestra Preview Image después de la ejecución
Al pulsar Run, el resultado aparece directamente en los nodos Preview Image / Save Image (en este ejemplo, detección de bordes con Canny)
  1. Añade Load ControlNet Model y selecciona un modelo Canny.
  2. Añade Apply ControlNet:
    • Conecta positive y negative a las salidas de los dos nodos CLIP Text Encode.
    • Conecta control_net a Load ControlNet Model.
    • Conecta image a la salida de Canny.
    • Conecta vae al VAE del modelo (algunos modelos ControlNet lo necesitan).
  3. Conecta las salidas positive y negative de Apply ControlNet a KSampler.
  4. Ajusta las dimensiones de Empty Latent Image para que tengan la misma proporción que la imagen de referencia.
Flujo de trabajo de ControlNet Canny en ComfyUI
ControlNet (Canny): Detect Edges (Canny) extrae las líneas de la imagen de referencia; Apply ControlNet modifica los prompts positivos y negativos antes de conectarlos a KSampler

Parámetros

ParámetroDescripciónRecomendación
strengthIntensidad del control0.5~1.0. Un valor demasiado alto puede dar una imagen rígida y detalles poco naturales
start_percentEn qué fase del proceso de generación empieza el control0
end_percentEn qué fase termina el control0.6~1.0

Consejo: configura end_percent entre 0.5 y 0.7. Así, ControlNet determina la composición durante la primera mitad y el modelo puede desarrollar los detalles con libertad durante la segunda. El resultado suele ser más natural.

OpenPose: controla la pose de una persona

  1. Usa el preprocesador DWPose Estimator u OpenPose Pose (de controlnet_aux) para extraer el esqueleto de una foto de una persona.
  2. Comprueba que el esqueleto sea correcto con Preview Image.
  3. Conecta un modelo ControlNet de OpenPose.

La persona generada adoptará la misma pose que en la foto, pero su aspecto, ropa y entorno dependerán del prompt.

Depth: conserva la estructura espacial

Usa un preprocesador como Depth Anything para generar un mapa de profundidad. Es útil para:

  • Rediseñar una foto de interiores con un estilo de decoración diferente
  • Conservar la perspectiva de un edificio o una escena y cambiar la estación, la hora o el estilo artístico

Combina varios ControlNet

Encadena varios nodos Apply ControlNet: conecta las salidas positive y negative del primero a las entradas del segundo. Por ejemplo, OpenPose puede controlar la pose y Depth, la escena. Reduce moderadamente la intensidad de cada uno para evitar conflictos.

Problemas habituales

ProblemaCausa
Error o ningún efectoLa versión del modelo ControlNet no coincide con la del modelo base (por ejemplo, usar un ControlNet de SD 1.5 con SDXL)
Imagen rígida o con marcas de líneasstrength es demasiado alto o end_percent es demasiado elevado
La persona aparece deformadaLa proporción de la imagen de referencia y la de salida no coincide, o la extracción del esqueleto es incorrecta
No aparece el nodo del preprocesadorAún no has instalado comfyui_controlnet_aux

Actualizado 12 de octubre de 2026