ControlNet: dominar la composición de tus images
ControlNet añade a un modelo de difusión una condición visual (contornos, profundidad, postura) que fija la composición mientras el prompt gobierna el estilo. Su método recibió el premio al mejor artículo en ICCV 2023. Se utiliza en ComfyUI, Forge o AUTOMATIC1111 y está disponible para SD 1.5, SDXL, SD 3.5 Large, Flux.1 y Z-Image Turbo. Cuidado: un control solo funciona con la familia de modelos para la que fue entrenado.
Un prompt describe un contenido; no describe una posición. ControlNet condiciona la generación de imágenes a una estructura de referencia, una pose, un contorno o un mapa de profundidad, para que el resultado siga una composición que tú decides. Esta guía, actualizada al 28 de septiembre de 2026, explica qué control elegir, cómo ajustar la fuerza y el intervalo de aplicación, cuánto pesan los archivos según la familia de modelos y en qué estado se encuentra la oferta oficial, que ha cambiado mucho desde SD 1.5.
#El problema que resuelve
El texto es un lenguaje poco adecuado para la geometría. Se describe un tema, un estilo y una atmósfera en un prompt, pero la posición de una mano, el ángulo de un edificio o la silueta exacta de un producto no se pueden fijar con palabras. Se vuelve a ejecutar con otra semilla y la composición cambia completamente. ControlNet modifica la entrada, no el prompt: proporcionas una imagen que codifica la estructura deseada, el modelo se condiciona a partir de ella en cada paso de eliminación de ruido, y el prompt gobierna todo lo demás.
El método proviene de un artículo de investigación: «Adding Conditional Control to Text-to-Image Diffusion Models», de Lvmin Zhang, Anyi Rao y Maneesh Agrawala, publicado en las actas de ICCV 2023 y ganador del premio al mejor artículo de la conferencia, el premio Marr. Su resumen describe el principio: ControlNet bloquea el modelo de difusión, reutiliza sus capas de codificación preentrenadas como base y conecta la copia entrenable mediante «zero convolutions», capas de convolución inicializadas a cero que hacen crecer gradualmente los parámetros y evitan que un ruido perjudicial perturbe el entrenamiento. Los autores también muestran que el entrenamiento sigue siendo robusto tanto con conjuntos de datos pequeños, de menos de 50 000 imágenes, como con conjuntos grandes, de más de un millón.
Lo que cambia para ti: se añade un control a un modelo existente sin reentrenarlo, y cada tipo de control es un archivo separado. Es por eso que se necesita el archivo adecuado para la familia de modelos correcta.
#Elegir el tipo de control
Imágenes y vídeos de IA en local, sin límites: ComfyUI, Flux, Z-Image, Wan 2.2 en tu GPU o tu Mac — flujos de trabajo listos para cargar, marco legal incluido.
- Espacio en línea de por vida
- PDF + archivos
- Actualizaciones de por vida
| Control | Lo que captura | Para qué | Modelo ControlNet 1.1 para SD 1.5 |
|---|---|---|---|
| Contornos (canny, softedge, lineart) | Líneas y siluetas | Conservar una forma exacta: un producto, un logo, un dibujo para colorear | control_v11p_sd15_canny, _softedge, _lineart, _lineart_anime |
| Profundidad | La distancia respecto a la cámara | Mantener el volumen y la perspectiva al cambiar materiales y detalles | control_v11f1p_sd15_depth |
| Postura | Un esqueleto de articulaciones | Los personajes: la postura está fija, el resto es libre | control_v11p_sd15_openpose |
| Segmentación | Regiones por categoría | La disposición de una escena: cielo aquí, edificio allí | control_v11p_sd15_seg |
| Esbozo (scribble) | Un boceto aproximado | Transformar un dibujo a mano en una imagen renderizada | control_v11p_sd15_scribble |
| Normales | La orientación de las superficies | Relieve y detalles sensibles a la iluminación | control_v11p_sd15_normalbae |
| Mosaico (tile) | El contenido de una zona de la imagen | Añadir detalle al ampliar | control_v11f1e_sd15_tile |
El repositorio oficial de ControlNet 1.1 anuncia 14 modelos, de los cuales 11 están listos para producción y 3 son experimentales, todos nombrados según una misma regla. Para la profundidad, enumera tres preprocesadores admitidos: Depth_Midas, Depth_Leres y Depth_Zoe. Un preprocesador es la herramienta que transforma tu imagen de referencia en un mapa de control, por ejemplo, una foto en un mapa de profundidad.
La regla práctica: elige el control menos restrictivo que siga captando lo que te importa. El condicionamiento por contornos de una fotografía reproduce esa fotografía: si ese es el resultado deseado, la generación era innecesaria. La profundidad o la pose suelen ofrecer un mejor equilibrio entre obediencia y creatividad.
#Los ajustes que cuentan
Los nombres varían según la herramienta, pero hay tres ajustes que aparecen en todas ellas. La tabla muestra cómo se llaman en los tres entornos más comunes, según la documentación de cada uno.
| Ajuste | ComfyUI (nodo Apply ControlNet) | Biblioteca diffusers | Extensión AUTOMATIC1111 |
|---|---|---|---|
| Intensidad del control | strength: cuanto mayor sea el valor, mayor será la influencia del control en la imagen | controlnet_conditioning_scale: el peso dado al control | Control Weight: el peso de la influencia del control, comparable al énfasis de una palabra del prompt |
| Momento de aplicación | start_percent y end_percent: 0,2 significa que el control comienza al 20 % del proceso de eliminación de ruido y 0,8 que se detiene al 80 % | control_guidance_start y control_guidance_end, como fracción de los pasos (de 0 a 1) | Start y End: la fracción de la generación en la que comienza y termina el control |
| Precisión del mapa | Resolución del preprocesador, que se debe ajustar en el nodo del preprocesador | Tamaño de la imagen de control | El modo Pixel-Perfect calcula automáticamente la mejor resolución del preprocesador |
La intensidad es la palanca más eficaz: cerca del máximo, el resultado es rígido, y reducir la intensidad corrige la mayoría de las imágenes estáticas. Detener el control antes de que termine la eliminación de ruido fija la composición y deja al modelo libertad para representar los materiales y la luz. La extensión de AUTOMATIC1111 añade un Control Mode con tres posiciones: Balanced, My prompt is more important y ControlNet is more important, para ajustar el equilibrio entre el prompt y el control.
#Valores iniciales publicados por los autores de los modelos
En lugar de inventar cifras, parte de las que indican los desarrolladores. Varían notablemente de una familia a otra, lo que recuerda que un ajuste válido para SD 1.5 no se puede trasladar tal cual.
| Modelo | Ajuste recomendado | Fuente |
|---|---|---|
| Flux.1 dev, Union Pro 2.0 (Shakker Labs), canny o soft edge | Fuerza 0,7; fin en 0,8 | Ficha del modelo |
| Flux.1 dev, Union Pro 2.0, profundidad | Intensidad 0,8; final en 0,8 | Ficha del modelo |
| Flux.1 dev, Union Pro 2.0, pose | Fuerza 0,9; fin en 0,65 | Ficha del modelo |
| Flux.1 dev, Union Pro 2.0, niveles de gris | Fuerza 0,9; fin en 0,8 | Ficha del modelo |
| Z-Image Turbo, Fun ControlNet Union | control_context_scale entre 0,65 y 0,80 | Ficha del modelo |
| Flux.1 dev, ControlNet canny de InstantX | Fuerza de 0,5 en el ejemplo oficial | Documentación de diffusers |
| SDXL, dos controles combinados (canny y profundidad) | 0,5 para cada uno en el ejemplo oficial | Documentación de diffusers |
#¿Qué ControlNet para qué familia?
La oferta ha cambiado mucho desde SD 1.5 y muchas guías están desactualizadas. La tabla distingue lo que publica el laboratorio del modelo de lo que publica la comunidad, ya que esto condiciona el mantenimiento y la licencia.
| Familia | Controles publicados por el editor del modelo | Controles de la comunidad o de terceros |
|---|---|---|
| SD 1.5 | ControlNet 1.1 de lllyasviel: 14 modelos (canny, profundidad, pose, segmentación, boceto, tile…) | Muchos modelos derivados |
| SDXL | Control-LoRA de Stability AI: canny, profundidad, recolor y sketch | ControlNet canny y de profundidad del equipo diffusers; ControlNet Union de xinsir (un archivo, varios modos) |
| SD 3.5 Large | Tres ControlNets de Stability AI, publicados el 26 de noviembre de 2024: Blur, Canny y Depth | Pocas referencias comparables |
| Flux.1 dev | FLUX.1 Canny y Depth de Black Forest Labs, en modelo completo y en LoRA, publicados en noviembre de 2024 | ControlNet Union de InstantX (versión beta) y Union Pro 2.0 de Shakker Labs |
| Z-Image Turbo | Ninguno en la página de Hugging Face del desarrollador (Tongyi-MAI) en el momento de nuestra comprobación | Fun ControlNet Union de Alibaba PAI: canny, HED, profundidad, pose y MLSD |
Hay dos puntos que merecen mencionarse. Primero, Black Forest Labs ha marcado FLUX.1 Depth y FLUX.1 Canny como obsoletos para su API, incluidas las versiones LoRA: los pesos abiertos siguen disponibles en Hugging Face, pero el proveedor ya no los mantiene. Segundo, los modelos «Union» agrupan varios modos en un solo archivo, lo que ahorra espacio en disco, a costa de una madurez variable: la ficha del ControlNet Union de InstantX para Flux lo presenta como una primera versión beta que posiblemente no esté completamente entrenada.
La licencia no coincide automáticamente con la del modelo base: cada archivo de control tiene la suya propia y varía de un archivo a otro.
| Control | Licencia | Puntos clave |
|---|---|---|
| ControlNet 1.1 para SD 1.5 | OpenRAIL | Licencia de tipo RAIL con restricciones de uso |
| ControlNet canny SDXL del equipo diffusers | OpenRAIL++ | Como SDXL: restricciones de uso listadas en el anexo |
| ControlNet Union SDXL de xinsir | Apache 2.0 | Permisiva |
| Control-LoRA de Stability AI | Stability AI Control-LoRA Community License | Más allá de 1 millón de usuarios activos al mes, se necesita una licencia de Stability AI para uso comercial |
| ControlNets SD 3.5 Large | Stability AI Community License | Gratuito para uso comercial si la facturación anual es inferior a 1 millón de dólares |
| FLUX.1 Canny y Depth [dev] | Licencia FluxDev no comercial | La ficha especifica que las imágenes generadas pueden usarse para fines personales, científicos y comerciales según la licencia |
| Union de InstantX y Union Pro 2.0 de Shakker Labs, para Flux | Licencia FluxDev no comercial | Leer antes de cualquier uso comercial |
| Fun ControlNet Union para Z-Image Turbo | Apache 2.0 | Permisiva |
#Lo que cuesta en archivos y memoria
Un ControlNet es una red adicional que se ejecuta junto al modelo base: aumenta el consumo de VRAM y el tiempo por imagen. Los tamaños de los archivos, publicados en Hugging Face, dan una primera estimación: se suman a los pesos del modelo base y de su codificador de texto.
| Control | Tamaño del archivo |
|---|---|
| ControlNet 1.1 para SD 1.5, versión original (.pth) | 1,45 GB cada uno |
| SDXL, ControlNet canny del equipo de diffusers | 5 GB en precisión completa, 2,5 GB en media precisión |
| SDXL, ControlNet Union de xinsir | 2,51 GB |
| SDXL, Control-LoRA de Stability AI | Aproximadamente 738 MB, frente a 4,7 GB del ControlNet original |
| SD 3.5 Large, ControlNet canny | 8,61 GB |
| Flux.1 dev, ControlNet Union de InstantX | 6,6 GB |
| Flux.1 dev, Union Pro 2.0 de Shakker Labs | 4,28 GB |
| Flux.1 dev, FLUX.1 Depth en LoRA (Black Forest Labs) | 1,24 GB, frente a 23,8 GB para el modelo Canny completo |
| Z-Image Turbo, Fun ControlNet Union | 3,1 GB |
Dos lecciones. En primer lugar, un control en forma de LoRA pesa una fracción de un modelo completo: Stability AI presenta sus Control-LoRA como una forma de llevar el control a una gama más amplia de tarjetas gráficas de consumo. En segundo lugar, hay que tener cuidado con el formato: los archivos .pth de ControlNet 1.1 son pickles de Python, algo que Hugging Face señala con una advertencia de importación de pickle. Da preferencia a las versiones .safetensors, que no pueden ejecutar código.
¿Cuánta VRAM adicional? Los desarrolladores no anuncian una cifra general, y la medición depende del modelo y de la resolución. Si la memoria está saturada, las soluciones deben aplicarse en este orden: bajar la resolución, reducir el número de controles simultáneos y, después, pasar a un control más ligero, como un Control-LoRA o una versión de media precisión. Para los requisitos básicos de memoria, ver la guía sobre la VRAM.
#Dónde usarlo
ControlNet no es una aplicación autónoma: funciona dentro de una interfaz de generación de imágenes. En ComfyUI, dos nodos hacen el trabajo: Load ControlNet, que lee los archivos de la carpeta models/controlnet, y Apply ControlNet, que recibe la imagen de control y los ajustes de la tabla anterior. La documentación de ComfyUI especifica que el núcleo del software no incluye todos los preprocesadores: a menudo se necesita una extensión como ComfyUI ControlNet aux. Recuerda que una extensión es código ejecutado con tus permisos: instala solo extensiones conocidas. Para Z-Image Turbo, el archivo de control se guarda en otra carpeta, models/model_patches.
En la interfaz web clásica, la extensión sd-webui-controlnet de AUTOMATIC1111 añade un panel bajo el prompt. Su última entrada de novedades, correspondiente a la versión 1.1.454, data de julio de 2024, al igual que su último commit: sigue funcionando con SD 1.5 y SDXL, pero no incorporará compatibilidad con los modelos recientes. Forge integra ControlNet directamente, según su README, sin recurrir a esta extensión.
#Combinar varios controles al mismo tiempo
Nada impide combinar dos controles, por ejemplo, uno de pose para la postura del personaje y otro de profundidad para el escenario. La documentación de diffusers establece la regla: para obtener buenos resultados, aplica máscaras a los condicionamientos para que no se solapen y experimenta con distintas intensidades para ajustar el peso de cada control. Su ejemplo de SDXL combina canny y profundidad con una intensidad de 0,5 cada uno. En ComfyUI, se encadenan los nodos Apply ControlNet. Los mismos principios se aplican en ambos casos: combinar únicamente controles que actúen sobre aspectos distintos de la imagen y reducir la intensidad de cada uno, porque los efectos se suman.
#Cuando se ignora el control
- El control no aparece en la lista
- El archivo está en el directorio incorrecto, o su archivo de configuración no tiene el mismo nombre que él. En ComfyUI, el directorio es models/controlnet.
- La salida ignora la referencia
- Incompatibilidad entre la familia del modelo base y la del control, un preprocesador que ha generado un mapa vacío o una intensidad demasiado baja. Visualiza el propio mapa de control antes de sospechar de otra cosa.
- Las imágenes quedan rígidas y sin vida
- Intensidad demasiado alta, o control aplicado durante todo el proceso de eliminación de ruido. Reduce la intensidad y detén el control antes del final.
- Resultado decepcionante con un modelo Union
- Los autores del modelo Union de InstantX escriben que incluso un modelo Union completamente entrenado puede rendir peor que los modelos especializados, como el de pose. Prueba un ControlNet específico y escribe un prompt detallado, como recomienda la ficha de Shakker Labs.
- Memoria saturada
- Baja la resolución, elimina un control o utiliza una versión más ligera del control.
- ComfyUI: instalar la interfaz basada en grafos
- AUTOMATIC1111: la interfaz web clásica
- Panorama de la generación de imágenes en local
- Kit de imágenes IA: workflows y ajustes de ControlNet por tarjeta gráfica
- Fuente: el repositorio oficial de ControlNet
- Fuente: el artículo de investigación original, ICCV 2023
- Fuente: los Control-LoRA de Stability AI para SDXL
- Fuente: FLUX.1 Tools y la declaración de Depth y Canny como obsoletos
#FAQ
¿Para qué sirve ControlNet?+
¿Se necesita una tarjeta gráfica potente para ControlNet?+
¿Por qué mi salida ignora la imagen de control?+
¿Qué control usar para la postura de un personaje?+
¿Existe ControlNet para SDXL, Flux y Z-Image?+
¿Se pueden usar varios ControlNets al mismo tiempo?+
¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.