ControlNet Pose en ComfyUI: Controla la Postura con OpenPose
¿Alguna vez has generado una imagen con IA y el personaje tiene los brazos en posiciones imposibles o la pose no es la que esperabas? ControlNet Pose en ComfyUI resuelve exactamente este problema. Con OpenPose, puedes especificar la postura exacta que quieres que adopte tu personaje, desde una pose relajada hasta movimientos complejos con múltiples figuras. Este flujo de trabajo es especialmente poderoso cuando usas SDXL, que genera resultados más realistas y detallados.
A diferencia de simplemente describir la pose en tu prompt, controlar pose con Stable Diffusion mediante ControlNet te da precisión anatómica garantizada. La IA respeta exactamente la posición de articulaciones, brazos y piernas que extraes de una imagen de referencia, mientras mantiene libertad creativa en estilo, vestuario y expresión facial.
Resultado del workflow: antes y después
Pose de referencia (esqueleto OpenPose)
Personaje generado siguiendo la pose
De un vistazo: ControlNet Pose en ComfyUI
| Aspecto | Detalles |
|---|---|
| Función principal | Controlar la postura exacta de personajes en generaciones de IA |
| Preprocesador base | OpenPose (detección de esqueleto corporal) |
| Modelos recomendados | controlnet-openpose-sdxl-1.0.safetensors |
| Strength ideal | 0.8-0.95 (según precisión requerida) |
| Tiempo de procesamiento | 5-30 seg (según preprocesador elegido) |
| Casos de uso | Ilustraciones, secuencias de movimiento, anatomía precisa |
¿Qué es ControlNet Pose y cómo funciona?
ControlNet es un modelo de control que guía la generación de imágenes hacia características específicas. La variante Pose utiliza OpenPose, un algoritmo de detección de esqueleto humano, para analizar una imagen de referencia y extraer los puntos clave del cuerpo (cabeza, hombros, codos, muñecas, caderas, rodillas, tobillos).
El proceso funciona en tres pasos:
- Detección: OpenPose analiza tu imagen de referencia y crea un mapa esquelético
- Codificación: ControlNet convierte ese esqueleto en instrucciones que la red neuronal entiende
- Generación guiada: Stable Diffusion genera la imagen final respetando la pose detectada
Lo interesante aquí es que obtienes control sobre la anatomía sin sacrificar la calidad creativa. A diferencia de simplemente usar una imagen como referencia, ControlNet workflow ComfyUI te permite cambiar el estilo, la ropa, la expresión facial y otros detalles mientras mantienes la postura exacta.
💡 Consejo: ControlNet Pose es el puente entre tus referencias visuales y la IA: extrae solo la información de postura, descartando todo lo demás, para que generes personajes con anatomía perfecta.
Requisitos y configuración inicial
Antes de comenzar, necesitas preparar tu entorno ComfyUI correctamente.
Nodos y extensiones necesarias
Instala el custom node comfyui_controlnet_aux. Este paquete incluye los preprocesadores OpenPose que transforman tu imagen de referencia en datos de pose. Sin él, ComfyUI no podrá detectar la postura.
También requieres:
- ControlNetLoader: carga el modelo ControlNet
- ControlNetApplyAdvanced: aplica el control a tu generación
- KSampler: el generador estándar de Stable Diffusion
Descarga del modelo correcto
El modelo esencial es controlnet-openpose-sdxl-1.0.safetensors. Descárgalo desde Hugging Face y colócalo exactamente en la carpeta ComfyUI/models/controlnet/.
⚠️ Importante: Verifica que el nombre del archivo sea exacto. El error más común es “ControlNet model not found”, que casi siempre ocurre porque el archivo tiene un nombre ligeramente diferente (espacios adicionales, guiones vs guiones bajos).
Preprocesadores OpenPose: DW_OpenposeFull vs OpenPose
ComfyUI ofrece dos preprocesadores principales, cada uno optimizado para casos de uso distintos.
| Característica | DW_OpenposeFull | OpenPose |
|---|---|---|
| Velocidad | Más lento (20-30 seg) | Más rápido (5-10 seg) |
| Detección de manos | ✅ Sí, muy preciso (21 puntos/mano) | ❌ No |
| Detección de cara | ✅ Sí, 68 puntos faciales | ❌ No |
| Uso de VRAM | Mayor (6-8 GB) | Menor (3-4 GB) |
| Ideal para | Poses detalladas, primer plano | Poses generales, cuerpo completo |
| Puntos detectados | 17 + 42 (manos) + 68 (cara) | 17 puntos básicos |
DW_OpenposeFull es tu opción si necesitas control fino sobre las manos o expresiones faciales. Úsalo cuando el personaje está en primer plano o cuando la precisión es crítica para detalles como gestos de manos.
OpenPose es más eficiente para poses generales. Si tu GPU tiene limitaciones o necesitas procesar rápidamente, este preprocesador es suficiente para obtener resultados de calidad.
💡 Consejo: Elige DW_OpenposeFull si importan las manos y la cara; elige OpenPose si necesitas velocidad y tienes VRAM limitada.
Construcción del workflow paso a paso
Estructura básica del nodo
Tu ControlNet workflow ComfyUI tendrá esta estructura:
- Load Image: carga tu imagen de referencia con la pose deseada
- Preprocesador OpenPose (DW_OpenposeFull u OpenPose): detecta el esqueleto
- ControlNetLoader: carga el modelo SDXL
- CLIP Text Encode (Positive/Negative): define tu prompt
- ControlNetApplyAdvanced: conecta todo
- KSampler: genera la imagen
- VAE Decode: convierte a imagen final
Conexiones críticas
El nodo ControlNetApplyAdvanced tiene cuatro entradas esenciales:
- positive: tu prompt codificado (del nodo CLIP positivo)
- negative: prompts a evitar (del nodo CLIP negativo)
- control_net: el modelo ControlNet cargado
- image: la imagen de pose detectada (salida del preprocesador)
La salida del ControlNetApplyAdvanced se conecta directamente a la entrada “conditioning” del KSampler.
Parámetros clave: strength, start_percent y end_percent
Estos tres parámetros determinan cuánto y cuándo ControlNet influye en la generación. Son el corazón del control fino en controlar pose stable diffusion.
Strength (0.0 - 1.0)
Define la intensidad del control. Los valores recomendados dependen de tu objetivo:
- 0.6 - 0.7: Máxima libertad creativa. ControlNet sugiere la pose pero permite desviaciones. Ideal cuando quieres que la IA interprete la pose de manera artística.
- 0.8 - 0.85: Balance entre control y creatividad. La pose se respeta bastante pero hay espacio para mejoras anatómicas.
- 0.9 - 1.0: Control estricto. La pose se seguirá exactamente. Usa esto cuando necesites precisión absoluta.
Start_percent y end_percent
Estos parámetros controlan en qué momento del proceso de generación se aplica ControlNet.
- start_percent: 0.0 (siempre comienza desde el inicio)
- end_percent: 0.6 es el valor estándar
¿Por qué no aplicar ControlNet durante toda la generación? Porque en los últimos pasos, el modelo está refinando detalles (texturas, colores, expresión). Si ControlNet sigue activo, puede degradar la calidad final. Bajando end_percent a 0.5 o incluso 0.4 mejora la definición de características faciales.
Excepción: Si tu personaje tiene anatomía extraña o miembros deformes, reduce end_percent a 0.5 para que los últimos pasos corrijan esos problemas.
📌 A tener en cuenta: Strength 0.85-0.95 + end_percent 0.6-0.7 es la configuración ganadora para la mayoría de casos; ajusta según necesites más libertad creativa o más precisión.
Técnicas avanzadas: múltiples personajes
Para escenas con dos o más personajes, necesitas encadenar ControlNets.
- Crea dos imágenes de referencia con las poses deseadas
- Procesa ambas con sus respectivos preprocesadores OpenPose
- Carga dos modelos ControlNet
- Aplica el primero con
ControlNetApplyAdvanced - Conecta su salida a un segundo
ControlNetApplyAdvanced - Aplica el segundo ControlNet
Ajusta el strength del segundo ControlNet un poco más bajo (0.7-0.8) para evitar conflictos entre instrucciones de pose.
Errores comunes y soluciones
”ControlNet model not found”
Causa: El archivo del modelo tiene un nombre incorrecto o está en la carpeta equivocada.
Solución:
- Verifica que esté en
ComfyUI/models/controlnet/ - Comprueba que el nombre sea exacto:
controlnet-openpose-sdxl-1.0.safetensors - Reinicia ComfyUI después de agregar el archivo
La pose no se respeta
Causa: El valor de strength es demasiado bajo o el preprocesador no detecta correctamente.
Solución:
- Aumenta strength a 0.9 o 1.0
- Verifica que el preprocesador OpenPose está detectando correctamente la pose (deberías ver líneas de esqueleto en la imagen procesada)
- Revisa que la imagen de referencia tenga iluminación clara y pose sin ambigüedades
Personaje con anatomía extraña
Causa: ControlNet sigue activo durante los pasos finales donde la IA intenta “mejorar” la anatomía.
Solución: Reduce end_percent a 0.5. Esto permite que los últimos pasos corrijan proporciones sin violar la pose general.
La imagen de salida está borrosa
Causa: Demasiados pasos o strength muy alto compitiendo con el prompt.
Solución:
- Aumenta el número de pasos a 30-40
- Reduce strength a 0.75-0.8
- Asegúrate de que tu prompt es específico y coherente
Descarga de workflow listo para usar
Muchos creadores comparten workflows completos en plataformas como Civitai o GitHub. Un workflow básico incluye:
- Load Image → DW_OpenposeFull
- ControlNetLoader (SDXL)
- CLIP Text Encode (positivo y negativo)
- ControlNetApplyAdvanced (strength 0.8, start 0.0, end 0.6)
- KSampler (30 pasos, CFG 7.5)
- VAE Decode
Descarga uno como punto de partida y personalízalo según tus necesidades.
Preguntas frecuentes
P: ¿Puedo usar ControlNet Pose con Flux en ComfyUI?
R: Sí, pero necesitas los modelos ControlNet específicos para Flux (diferentes a los de SDXL). Los modelos ControlNet-SDXL no son compatibles con Flux. Busca modelos ‘controlnet-flux-openpose’ en HuggingFace. La configuración de nodos es similar pero usa los cargadores de Flux.
P: ¿Qué diferencia hay entre OpenPose y DW_OpenposeFull?
R: OpenPose detecta el esqueleto corporal básico (17 puntos). DW_OpenposeFull detecta también las manos (21 puntos por mano) y la cara (68 puntos). Para poses con manos visibles o expresiones faciales importantes, usa DW_OpenposeFull aunque sea más lento.
P: ¿Por qué el personaje no respeta la pose de referencia?
R: Hay tres causas habituales: strength demasiado bajo (súbelo a 0.85-0.95), end_percent demasiado bajo (ponlo en 0.7-0.8), o la imagen de referencia tiene iluminación o ángulo que confunde al preprocesador. Revisa que la pose detectada (el esqueleto visualizado) sea correcta antes de procesar.
P: ¿Puedo usar una foto mía como referencia de pose?
R: Sí, es exactamente para eso. El preprocesador extrae solo la información de postura (posición de articulaciones) y descarta completamente el aspecto visual de la persona de referencia. Tu cara, ropa e identidad no aparecen en el resultado final.
P: ¿Puedo usar ControlNet Pose con Stable Diffusion 1.5?
R: Sí, pero necesitas el modelo controlnet-openpose-sd15.safetensors en lugar del SDXL. La calidad será menor que con SDXL, pero funciona correctamente.
P: ¿Qué sucede si mi imagen de referencia tiene múltiples personas?
R: OpenPose detectará todas las personas, pero ControlNet solo controlará la pose más prominente. Para múltiples personajes, usa la técnica de encadenamiento mencionada arriba.
P: ¿Es necesario usar una foto real como referencia?
R: No. Puedes usar dibujos, ilustraciones o incluso esquemas. OpenPose detectará la pose basándose en la estructura corporal, no en el estilo.
P: ¿Cuál es la diferencia entre ControlNet Pose y ControlNet Canny?
R: Pose controla la anatomía y postura. Canny controla bordes y composición. Son complementarios: puedes usar ambos en cadena para máximo control.
P: ¿Funciona mejor con prompts detallados o simples?
R: Ambos funcionan, pero prompts específicos mejoran resultados. “Mujer joven, cabello rojo, estilo anime, sonrisa” es mejor que simplemente “persona”. ControlNet se encarga de la pose, tu prompt se encarga del resto.
Sigue leyendo
Si quieres profundizar en otras técnicas de control en ComfyUI, consulta nuestras guías sobre ControlNet Canny para composición avanzada y ControlNet Depth para control de perspectiva. También te recomendamos explorar cómo combinar múltiples ControlNets en un mismo workflow para obtener resultados aún más precisos. Finalmente, si trabajas con Flux, descubre cómo adaptar tus workflows SDXL a esta nueva arquitectura de modelo.
🏆 Nuestra recomendación
Si buscas control anatómico preciso y trabajas con SDXL, usa ControlNet Pose con strength 0.85-0.95 y end_percent 0.6-0.7 como base. Si priorizas velocidad y tienes VRAM limitada, elige OpenPose en lugar de DW_OpenposeFull. Si necesitas detalles de manos o expresiones faciales críticas, invierte en DW_OpenposeFull aunque tarde más. Para múltiples personajes, encadena ControlNets con strength decreciente (0.85 → 0.75) para evitar conflictos.
Siguientes pasos en ComfyUI
Primeros pasos
Preguntas frecuentes
- ¿Puedo usar ControlNet Pose con Flux en ComfyUI?
- Sí, pero necesitas los modelos ControlNet específicos para Flux (diferentes a los de SDXL). Los modelos ControlNet-SDXL no son compatibles con Flux. Busca modelos 'controlnet-flux-openpose' en HuggingFace. La configuración de nodos es similar pero usa los cargadores de Flux.
- ¿Qué diferencia hay entre OpenPose y DW_OpenposeFull?
- OpenPose detecta el esqueleto corporal básico (17 puntos). DW_OpenposeFull detecta también las manos (21 puntos por mano) y la cara (68 puntos). Para poses con manos visibles o expresiones faciales importantes, usa DW_OpenposeFull aunque sea más lento.
- ¿Por qué el personaje no respeta la pose de referencia?
- Hay tres causas habituales: strength demasiado bajo (súbelo a 0.85-0.95), end_percent demasiado bajo (ponlo en 0.7-0.8), o la imagen de referencia tiene iluminación o ángulo que confunde al preprocesador. Revisa que la pose detectada (el esqueleto visualizado) sea correcta antes de procesar.
- ¿Puedo usar una foto mía como referencia de pose?
- Sí, es exactamente para eso. El preprocesador extrae solo la información de postura (posición de articulaciones) y descarta completamente el aspecto visual de la persona de referencia. Tu cara, ropa e identidad no aparecen en el resultado final.