Serie ComfyUI (XXI) - Consistencia de personajes con IPAdapter
En el artículo anterior de la serie exploramos cómo mejorar la consistencia de personajes utilizando prompts consistentes, LoRA y OpenPose, y aunque conseguimos resultados bastante coherentes, seguía existiendo un problema importante: el personaje todavía cambiaba entre imágenes porque en realidad el modelo seguía reconstruyendo el personaje desde cero en cada generación.
En este artículo vamos a añadir al workflow IPAdapter que es una de las herramientas que han aparecido dentro del ecosistema de Stable Diffusion y que cambia completamente la forma de trabajar consistencia visual. Antes describíamos al personaje, ahora mostramos al modelo quién es el personaje.
Aquí es importante entender algo clave: IPAdapter NO controla la pose, ni tampoco sustituye al prompt. Su función principal es mantener identidad visual, es decir, cara, rasgos, peinado, apariencia general y percepción del personaje.
OpenPose controla la postura (que incluso en este workflow podríamos no necesitar usarlo)
LoRA controla estilo
el prompt controla escena y descripción

Usando este workflow, vamos a generar el personaje en distintas poses, composiciones y escenas, pero manteniendo la misma identidad visual, la misma percepción facial y a misma estética general.
Este artículo marca un salto importante dentro de la serie porque empezamos a acercarnos a algo mucho más profesional: workflows narrativos consistentes, es decir, personajes recurrente, storytelling visual, escenas conectadas e identidad visual estable
El workflow que hemos creado para este artículo, se encuentra disponible para descarga al final de este artículo (📁 wf_ComfyUI_SDXL_IPAdapter_OpenPose_LoRA_CharacterConsistency.json)
El problema real de la consistencia de personajes
Cuando alguien empieza a trabajar con generación de imágenes mediante IA suele ocurrir algo curioso: conseguir una imagen buena es relativamente fácil, pero en cuanto intentas generar varias imágenes del mismo personaje, distintas escenas, distintas poses o distintos ángulos, aparece uno de los mayores problemas de toda la IA generativa: la consistencia visual.
Aunque utilices el mismo prompt, el mismo modelo, el mismo LoRA y la misma estética, el personaje puede cambiar muchísimo entre generaciones; cambia la cara, el peinado, la expresión, la ropa, la percepción general del personaje, incluso aunque la descripción textual sea prácticamente idéntica.
Aquí es importante entender algo fundamental: el modelo no “recuerda” realmente al personaje, cada imagen se genera desde cero. El modelo intenta reinterpretar continuamente el prompt, la composición, la pose, el estilo, y todo esto provoca drift visual, inconsistencias faciales, cambios anatómicos y reinterpretaciones constantes.
El problema aumenta cuanto más complejo es el workflos. Si añadimos ControlNet, LoRA, escenas complejas, estamos añadiendo nuevas variables que producen nuevas reinterpretaciones.
En el artículo anterior usábamos OpenPose para mantener la estructura corporal, la silueta, la postura, y eso ayudaba muchísimo a estabilizar el personaje, pero con OpenPose no controlamos la identidad facial, ni los rasgos concretos, sólo controlamos la estructura corporal.
Usando LoRA ayudamos bastante a mantener la estética visual, la iluminación, las texturas, el lenguaje visual y la atmósfera general, pero con el LoRA tampoco se "conoce" realmente al personaje, por lo que no podemos garantizar que el personaje siga siendo exactamente la misma persona.
El cerebro humano detecta inconsistencias muy rápido. Es extremadamente bueno detectando cambios faciales, cambios de identidad y pequeñas variaciones visuales, y por eso, aunque técnicamente las imágenes sean "parecidas", un personaje puede parecer inconsistente aunque conserve la ropa y colores similares.
Por esto, es necesario dar el siguiente gran salto:
👉 enseñar al modelo quién es el personaje.
No describirlo, mostrarlo directamente, y eso es exactamente lo que hace IPAdapter.
Herramienta | Qué controla |
Prompt | descripción |
LoRA | estilo |
OpenPose | postura |
IPAdapter | identidad visual |
Qué es IPAdapter y por qué cambia completamente el workflow
IPAdapter (Image Prompt Adapter) es un sistema que permite utilizar una imagen como referencia durante la generación.
En lugar de describir únicamente al personaje mediante texto, proporcionamos una imagen de referencia que sirve como guía visual para mantener su identidad.
Esa imagen actúa como una guía visual que ayuda a mantener la identidad del personaje.
No copia la imagen original.
No hace un "face swap".
No reemplaza al modelo.
Simplemente añade una nueva fuente de información durante el proceso de generación.
IPAdapter no copia la imagen original ni realiza un face swap. Su objetivo es conservar rasgos como:
la cara
el peinado
las proporciones generales
la apariencia del personaje
IPAdapter no controla ni la pose, ni la composición, ni el escenario, ni el estilo artístico.
Con IPAdapter el flujo de trabajo incorpora una nueva fuente de información:
Imagen de referencia
↓
IPAdapter
↓
Prompt + SDXL
↓
Imagen final
Ahora el modelo no solo interpreta una descripción textual, sino que también dispone de una referencia visual del personaje.
🎯Qué vas a lograr
El objetivo no es simplemente generar imágenes de calidad, sino aprender a mantener la identidad visual de un personaje mientras modificamos su pose, composición o escenario. Para ello construiremos un workflow que combina cuatro herramientas clave:
SDXL como modelo base.
LoRA para definir el estilo visual.
OpenPose para controlar la postura.
IPAdapter para mantener la identidad del personaje.
🧠 Al finalizar este artículo serás capaz de:
Entender qué aporta IPAdapter dentro de un workflow de ComfyUI.
Utilizar una imagen de referencia para mantener la identidad de un personaje.
Combinar IPAdapter con OpenPose sin que ambos entren en conflicto.
Generar un mismo personaje en distintas poses manteniendo una apariencia coherente.
Ajustar los parámetros principales de IPAdapter para obtener un buen equilibrio entre fidelidad y creatividad.
Construir workflows reutilizables para storytelling, concept art o ilustraciones de personajes.
Más que aprender un nodo nuevo, aprenderás a separar cuatro conceptos que hasta ahora estaban mezclados:
Identidad → IPAdapter.
Postura → OpenPose.
Estilo → LoRA.
Escena → Prompt.
Entender esta separación hará que tus workflows sean mucho más fáciles de controlar y ampliar en el futuro.
🧩 Requisitos
Para seguir este artículo y ejecutar correctamente el workflow IPAdapter + OpenPose + LoRA en ComfyUI, necesitas disponer de los siguientes recursos.
💻 Entorno
ComfyUI instalado y funcionando correctamente.
Se recomienda una GPU dedicada para obtener tiempos de generación razonables.
🧠 Modelo base (Checkpoint)
En este workflow utilizaremos el mismo modelo empleado en el artículo anterior:
juggernautXL_v8Rundiffusion.safetensors (https://civitai.com/models/133005?modelVersionId=782002)
Aunque puedes utilizar cualquier checkpoint compatible con SDXL, Juggernaut XL ofrece un buen equilibrio entre calidad, detalle y estabilidad para este tipo de workflows.
🎨 LoRA
Para mantener la estética del personaje utilizaremos un único LoRA:
cyberpunk_xl_v1.safetensors
Su función será aportar un estilo visual coherente sin modificar la identidad del personaje.
🧍 ControlNet
Para controlar la postura utilizaremos:
OpenPose Preprocessor
t2i-adapter-openpose-sdxl-1.0.safetensors
Este conjunto será el encargado de mantener la estructura corporal en cada una de las imágenes generadas.
🧠 IPAdapter
La principal novedad del workflow es la incorporación de IPAdapter. Necesitaremos los siguientes modelos:
ip-adapter-plus_sdxl_vit-h.safetensors
CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors
Estos modelos permitirán utilizar una imagen como referencia para conservar la identidad visual del personaje.
🖼️ Imágenes necesarias
Para este workflow utilizaremos dos imágenes independientes.
Imagen de referencia del personaje:
Será la imagen que utilizará IPAdapter para mantener la identidad visual.
Lo ideal es que sea un retrato o plano medio, con buena iluminacion y donde la cara sea claramente visible
Imagen de referencia de la pose:
Será la imagen utilizada por OpenPose para extraer el esqueleto corporal.
De esta forma podremos comprobar cómo la identidad permanece estable aunque cambie completamente la postura.
🗂️ Crear o cargar el workflow en ComfyUI
Tienes dos maneras de trabajar con este flujo:
🅰️ Opción A — Cargar el workflow ya creado
1️⃣ Descarga el archivo JSON adjunto:
📁 wf_ComfyUI_SDXL_IPAdapter_OpenPose_LoRA_CharacterConsistency.json
2️⃣ Abre ComfyUI.
3️⃣ En el menú superior selecciona:Workflow → Load
4️⃣ Carga el archivo JSON. Verás en el lienzo todos los nodos conectados y listos para funcionar.

🅱️ Opción B — Crear el workflow desde cero
Si prefieres entenderlo pieza a pieza, puedes recrearlo manualmente. En la siguiente sección explicamos qué hace cada bloque del flujo.

🧠 Qué significa realmente "identidad visual"
Hasta ahora hemos hablado varias veces de mantener la identidad de un personaje. Pero ¿qué significa realmente ese concepto? Cuando observamos dos imágenes, nuestro cerebro es capaz de reconocer casi instantáneamente si representan a la misma persona, aunque haya cambiado la ropa, la postura o el escenario.
Eso ocurre porque no nos fijamos únicamente en un detalle, sino en el conjunto de rasgos que forman la identidad visual.
🎭 Identidad visual no significa copiar una imagen
Uno de los errores más habituales es pensar que IPAdapter intenta reproducir exactamente la imagen de referencia, pero no es así. Su objetivo no es copiar una fotografía, sino utilizarla como guía para conservar aquellos rasgos que hacen reconocible al personaje.
Se convervan rasgos como la forma del rostro, el peinado, las proporciones generales y algunos rasgos característicos, mientras otros elementos pueden cambiar completamente: ropa, pose, fondo, iluminaión y estilo.
⚡ Consistencia no es clonación
Concepto | Qué significa |
Clonación | Reproducir exactamente la misma imagen. |
Consistencia | Mantener un personaje reconocible aunque cambien otros elementos. |
En la mayoría de proyectos creativos lo que buscamos es lo segundo. Queremos que el personaje parezca siempre el mismo, aunque aparezca en escenas completamente diferentes.
IPAdapter no pretende limitar la creatividad del modelo, al contrario. Su función es aportar una base estable sobre la que el resto del workflow pueda trabajar. Así
el prompt define la escena
LoRA aporta el estilo
OpenPose controla la postura
IPAdapter mantiene la identidad
Y esa separación de responsabilidades es la que permite construir personajes reutilizables y mucho más consistentes entre distintas imágenes.
⚙️ El workflow: estructura general
La lógica del workflow es la siguiente:
Checkpoint SDXL
↓
LoRA
↓
Prompt
↓
IPAdapter (Identidad)
↓
ControlNet OpenPose (Postura)
↓
KSampler
↓
VAE Decode
↓
Save / Preview
🧩 Qué hace cada bloque
Bloque | Función |
Checkpoint SDXL | Modelo base de generación |
LoRA | Define el estilo visual |
Prompt | Describe la escena y el personaje |
IPAdapter | Mantiene la identidad visual |
OpenPose + ControlNet | Controla la postura |
KSampler | Genera la imagen |
VAE Decode | Convierte el resultado latente en imagen |
Save / Preview | Visualiza y guarda el resultado |
🔗 Cómo fluye la información
En este workflow conviven cuatro flujos de información diferentes.
🧠 1. Flujo del modelo
El checkpoint SDXL proporciona la capacidad de generar la imagen y sirve como base para todo el proceso.
Checkpoint
↓
LoRA
↓
KSampler
🎨 2. Flujo del estilo
El LoRA modifica el comportamiento del modelo para conseguir una estética concreta.
LoRA
↓
Modelo SDXL
En este artículo utilizaremos un estilo cyberpunk para mantener una apariencia homogénea entre todas las imágenes.
👤 3. Flujo de identidad
La imagen de referencia del personaje pasa por IPAdapter.
Imagen personaje
↓
IPAdapter
Este flujo aporta los rasgos visuales que harán reconocible al personaje durante toda la generación.
🧍 4. Flujo de postura
La segunda imagen de referencia se procesa mediante OpenPose.
Imagen pose
↓
OpenPose
↓
ControlNet
Este flujo únicamente controla la estructura corporal y la posición del personaje.
🧱 Entendiendo el workflow paso a paso
Vamos a analizar el workflow nodo a nodo para entender cómo se combinan IPAdapter, OpenPose, LoRA y SDXL para conseguir personajes mucho más consistentes.
1️⃣ CheckpointLoaderSimple (modelo base)
Qué hace:
Carga el modelo SDXL que utilizará el workflow para generar la imagen.
En este ejemplo utilizamos:
juggernautXL_v8Rundiffusion.safetensors (https://civitai.com/models/133005?modelVersionId=782002)
Qué tocar:
El checkpoint utilizado. Puedes sustituirlo por cualquier modelo compatible con SDXL.
Salida:
MODEL → LoraLoader
CLIP → LoraLoader
VAE → VAEDecode

2️⃣ LoraLoader (estilo)
Qué hace:
Carga el LoRA encargado de aportar el estilo visual del personaje.
En este workflow utilizamos:
cyberpunk_xl_v1.safetensors (https://civitai.com/models/135492/cyberpunk-style-sci-fi-lora-xl)
Con una intensidad moderada conseguimos mantener una estética homogénea sin alterar en exceso la identidad del personaje.
Qué tocar:
Modelo LoRA.
Model Strength. En nuestro caso utilizamos un valor aproximado de 0.60.
CLIP Strength. En nuestro caso utilizamos un valor aproximado de 0.60.
Salida:
MODEL → IPAdapter Advanced
CLIP → CLIPTextEncode (+)
CLIP → CLIPTextEncode (–)
3️⃣ CLIPTextEncode (Prompt positivo)
Qué hace:
Define la descripción del personaje y del escenario. Aunque IPAdapter mantiene la identidad visual, el prompt continúa siendo el encargado de definir elementos como ropa, escenario, iluminación, materiales y ambiente.
Qué tocar:
El prompt positivo.
futuristic industrial female guardian, glowing blue energy core in chest, dark cobalt blue and pearl black tactical sci-fi full armor, cinematic lighting, industrial cyberpunk atmosphere, full body, detailed face, consistent character design, ultra detailed, realistic, high contrastSalida:
CONDITIONING → IPAdapter Advanced
4️⃣ CLIPTextEncode (Prompt negativo)
Qué hace:
Define los elementos que queremos evitar durante la generación. Por ejemplo, mala anatomía, manos deformadas, imágenes borrosas, texto y marcas de agua. También puede utilizarse para evitar cambios no deseados en el aspecto del personaje.
Qué tocar:
El prompt negativo.
bad anatomy, bad hands, extra fingers, missing fingers, extra limbs, deformed body, distorted face, blurry, low quality, watermark, text, logo, different outfit, different hair colorSalida:
CONDITIONING → IPAdapter Advanced
5️⃣ LoadImage (imagen de referencia del personaje)
Qué hace:
Carga la imagen que utilizará IPAdapter para mantener la identidad visual del personaje.
Lo ideal es utilizar un retrato o un plano medio donde la cara sea claramente visible.
Qué tocar:
La imagen de referencia.
Cuanto más limpia y reconocible sea la imagen, mejores resultados obtendremos.
Salida:
IMAGE → IPAdapter Advanced
6️⃣ CLIPVisionLoader
Qué hace:
Carga el modelo CLIP Vision utilizado por IPAdapter para analizar la imagen de referencia.
En este workflow utilizamos:
CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors
(https://huggingface.co/ModelsLab/CLIP-ViT-H-14-laion2B-s32B-b79K)
Este modelo se descarga y se mueve a "C:\pinokio\api\comfy.git\app\models\clip_vision\"
Qué tocar:
Modelo CLIP Vision.
Salida:
CLIP_VISION → IPAdapter Advanced
7️⃣ IPAdapterModelLoader
Qué hace:
Carga el modelo IPAdapter compatible con SDXL. Hay varios, pero en este ejemplo utilizamos:
ip-adapter-plus_sdxl_vit-h.safetensors
Se puede descargar en: "https://github.com/cubiq/ComfyUI_IPAdapter_plus"
Se tiene que colocar en la siguiente ruta: "C:\pinokio\api\comfy.git\app\models\ipadapter\"
Qué tocar:
Modelo IPAdapter.
Salida:
IPADAPTER → IPAdapter Advanced

8️⃣ IPAdapter Advanced
Qué hace:
Combina el modelo SDXL, el modelo CLIP, la imagen de referencia y el modelo IPAdapter para introducir la identidad visual del personaje en el proceso de generación.
Es el nodo responsable de mantener la coherencia facial entre distintas imágenes.
Qué tocar:
Weight: en este workflow utilizamos un Weight de 0.65, que ofrece un buen equilibrio entre fidelidad y creatividad.
Start At.
End At.
Salida:
MODEL → ControlNetApplyAdvanced
9️⃣ LoadImage (imagen de referencia de la pose)
Qué hace:
Carga la imagen que servirá para definir la postura del personaje.
Qué tocar:
La imagen de referencia.
Salida:
IMAGE → OpenPosePreprocessor

🔟 OpenPosePreprocessor
Qué hace:
Extrae el esqueleto corporal de la imagen de referencia. A partir de él se construirá la postura del personaje.
Qué tocar:
Resolución del preprocesado: 768 en nuestro ejemplo
detect_body: enable
detect_hand: enable
detect_face: disable
Salida:
IMAGE → PreviewImage
IMAGE → ControlNetApplyAdvanced
1️⃣1️⃣ PreviewImage
Qué hace:
Permite visualizar el resultado del preprocesado OpenPose antes de aplicarlo al workflow.
Es muy útil para comprobar que la pose se ha detectado correctamente.
Qué tocar:
Nada.
Salida:
Vista previa del esqueleto.
1️⃣2️⃣ ControlNetLoader
Qué hace:
Carga el modelo ControlNet encargado de interpretar la información procedente de OpenPose.
En este workflow utilizamos:
t2i-adapter-openpose-sdxl-1.0.safetensors
Se puede descargar de: https://huggingface.co/TencentARC/t2i-adapter-openpose-sdxl-1.0/tree/main
Y se ha de colocar en: "C:\pinokio\api\comfy.git\app\models\controlnet\SDXL"
Qué tocar:
Modelo ControlNet.
Salida:
CONTROL_NET → ControlNetApplyAdvanced

1️⃣3️⃣ ControlNetApplyAdvanced
Qué hace:
Aplica el control de postura sobre el modelo generado por IPAdapter.
Es el nodo que combina identidad y estructura corporal.
Qué tocar:
Strength.
Start.
End.
En nuestro caso utilizamos un Strength de 1.20, ya que durante las pruebas comprobamos que un valor más alto ayudaba a respetar mejor la pose cuando también intervenía IPAdapter.
Salida:
CONDITIONING → KSampler
1️⃣4️⃣ EmptyLatentImage
Qué hace:
Define la resolución de la imagen que se va a generar.
En este artículo utilizamos:
768 × 1152
Un formato vertical ideal para personajes de cuerpo completo.
Qué tocar:
Anchura.
Altura.
Salida:
LATENT → KSampler

1️⃣5️⃣ KSampler
Qué hace:
Genera la imagen final combinando toda la información recibida del workflow.
Qué tocar:
Steps.
CFG.
Seed.
Sampler.
Scheduler.
En este workflow utilizamos aproximadamente:
Steps: 30
CFG: 6.5
Salida:
LATENT → VAEDecode
1️⃣6️⃣ VAEDecode
Qué hace:
Convierte la representación latente generada por el sampler en una imagen visible.
Qué tocar:
Nada.
Salida:
IMAGE → SaveImage
IMAGE → PreviewImage
1️⃣7️⃣ SaveImage / PreviewImage
Qué hace:
Permite visualizar el resultado y almacenarlo en disco. Es el último paso del workflow.
Qué tocar:
Nada.
Salida:
Imagen final generada.
🎛️ Ajustes clave: cómo equilibrar identidad y pose
Una vez construido el workflow, llega la parte más interesante: aprender a ajustar sus parámetros. En este caso no buscamos únicamente generar una buena imagen, sino mantener un equilibrio entre cuatro aspectos diferentes:
identidad visual
postura
estilo
creatividad
La dificultad está en que todos ellos interactúan entre sí. Un cambio en cualquiera de estos parámetros puede afectar al resultado final.
👤 1. IPAdapter — control de la identidad
IPAdapter es el encargado de mantener la apariencia general del personaje. El parámetro más importante es el Weight. En nuestro workflow utilizamos: Weight: 0.65. Este valor ofrece un buen equilibrio entre mantener la identidad y permitir que el modelo siga siendo creativo.
Weight | Resultado |
0.40 – 0.55 | Más libertad creativa |
0.60 – 0.75 | Equilibrio entre identidad y creatividad |
0.80 – 1.00 | Máxima fidelidad a la imagen de referencia |
Si el valor es demasiado alto, el modelo tenderá a copiar demasiados elementos de la imagen original y perderá flexibilidad.
🧍 2. OpenPose — control de la postura
OpenPose controla exclusivamente la estructura corporal.
Durante las pruebas comprobamos que, al combinarlo con IPAdapter, era necesario aumentar ligeramente su intensidad. En este workflow utilizamos: Strength: 1.20. Con este valor conseguimos que la postura se respetara mucho mejor incluso cuando la identidad visual estaba siendo controlada por IPAdapter.
Strength | Resultado |
0.70 – 0.90 | Pose más flexible |
1.00 – 1.20 | Buen equilibrio |
> 1.20 | Pose muy rígida |
🎨 3. LoRA — control del estilo
El LoRA aporta el lenguaje visual del personaje. En nuestro caso utilizamos: Strength: 0.60
Un valor moderado permite mantener una estética cyberpunk sin modificar excesivamente la identidad del personaje. Si el valor es demasiado alto, el estilo puede llegar a imponerse sobre el resto del workflow.
🎲 4. Seed
La seed sigue siendo un parámetro importante. Mantener la misma seed ayuda a obtener imágenes más coherentes entre sí. Cambiarla introduce nuevas composiciones y variaciones visuales.
Cuando quieras comprobar el efecto de un cambio en el workflow, lo más recomendable es mantener la misma seed y modificar únicamente el parámetro que estés analizando.
⚙️ 5. CFG
En este artículo utilizamos un: CFG: 6.5
Es un valor equilibrado para este tipo de workflows. Valores demasiado bajos producen imágenes con mayor libertad creativa, mientras que valores muy altos pueden hacer que el resultado sea excesivamente rígido.
🧠 6. Steps
Para este ejemplo utilizamos: 30 Steps
Con esta configuración obtenemos un buen equilibrio entre calidad y tiempo de generación. Reducir el número de pasos acelera el proceso, aunque también puede disminuir el nivel de detalle.
📐 7. Resolución
La resolución elegida es: 768 × 1152
Es un formato vertical muy adecuado para generar personajes de cuerpo completo y permite mantener un buen nivel de detalle sin aumentar demasiado el consumo de memoria.
💡 La clave del workflow
Durante las pruebas descubrimos que el parámetro más delicado no era el prompt ni el LoRA, sino el equilibrio entre IPAdapter y OpenPose.
Si IPAdapter tiene demasiado peso, el personaje tenderá a conservar la postura de la imagen de referencia.
Si OpenPose tiene demasiado peso, la pose se respetará perfectamente, pero la identidad visual puede perder naturalidad.
Encontrar el equilibrio entre ambos es la clave para conseguir personajes consistentes y al mismo tiempo flexibles.
Por eso los valores utilizados en este artículo (IPAdapter Weight 0.65 y OpenPose Strength 1.20) constituyen un excelente punto de partida para la mayoría de casos.
🧪 Casos típicos y cómo corregirlos
Caso | Qué ocurre | Causa probable | Solución |
🔴 La pose no se respeta | El personaje mantiene parte de la postura original | IPAdapter demasiado dominante | Bajar Weight de IPAdapter o aumentar Strength de OpenPose |
🔴 La cara cambia demasiado | El personaje parece otra persona | Weight de IPAdapter demasiado bajo | Aumentar ligeramente el Weight |
🔴 Mantiene la ropa de la foto | No aplica el vestuario indicado en el prompt | Weight demasiado alto o prompt poco específico | Reducir Weight y reforzar el prompt |
🔴 Imagen demasiado rígida | El personaje parece poco natural | OpenPose demasiado fuerte | Reducir Strength de ControlNet |
🔴 Estilo inconsistente | Cambian iluminación o materiales | LoRA demasiado bajo | Incrementar ligeramente el LoRA |
🔴 Anatomía extraña | Brazos o piernas deformados | Mala imagen de pose | Utilizar una referencia OpenPose más clara |
🔴 Resultados muy distintos | Cada imagen parece un personaje diferente | Cambian demasiados parámetros a la vez | Modificar una sola variable en cada prueba |
🔁 Qué puedes probar a continuación
🧪 Prueba | ⚙️ Qué hacer | 👀 Qué vas a observar |
🧍 Cambiar la pose | Utilizar distintas imágenes OpenPose | Cómo cambia la postura manteniendo la identidad del personaje |
🌆 Cambiar el escenario | Mantener el personaje y modificar únicamente el fondo | La capacidad de reutilizar el mismo personaje en diferentes entornos |
🎨 Cambiar el estilo | Sustituir el LoRA cyberpunk por uno anime o realista | Cómo afecta el estilo sin perder completamente la identidad |
👤 Cambiar la imagen de referencia | Utilizar otra fotografía distinta | Cómo cambia la identidad visual del personaje |
⚖️ Ajustar el Weight de IPAdapter | Probar valores entre 0.50 y 0.90 | El equilibrio entre fidelidad y creatividad |
🧍 Ajustar OpenPose | Variar el Strength entre 0.80 y 1.30 | Cómo cambia el respeto por la postura |
🎲 Cambiar la Seed | Mantener todo igual excepto la semilla | Nuevas composiciones manteniendo el personaje |
📐 Cambiar la resolución | Probar formatos cuadrados, verticales u horizontales | Cómo influye la composición en la imagen final |
🗺️ Conclusión
En este workflow hemos combinado cuatro tecnologías que trabajan de forma complementaria:
SDXL, como modelo base de generación.
LoRA, para definir el estilo visual.
OpenPose, para controlar la postura.
IPAdapter, para mantener la identidad del personaje.
Esta separación de responsabilidades hace que el workflow sea mucho más flexible y fácil de controlar.
Probablemente el aprendizaje más valioso de este artículo sea entender que la consistencia de un personaje no depende de una única herramienta.
el prompt describe la escena
LoRA define el estilo
OpenPose controla la postura
IPAdapter mantiene la identidad visual
Cuando cada uno cumple su función, el resultado es mucho más estable que intentando resolverlo todo únicamente con un prompt.
A partir de este punto dejamos de pensar en imágenes individuales y empezamos a construir personajes reutilizables, ya que podemos generar al mismo personaje en distintas poses, en diferentes escenarios, con composiciones variadas, y todo ello manteniendo una identidad reconocible, y eso abre la puerta a proyectos mucho más ambiciosos, como cómics, storyboards, videojuegos o ilustraciones narrativas.
Si quieres seguir aprendiendo a dominar la IA en local y construir workflows realmente útiles:
🌐 Recursos útiles
🌍 Hugging Face: uno de los mayores repositorios de IA del mundo, donde encontrarás miles de modelos —incluidos los compatibles con Stable Diffusion y ComfyUI— listos para descargar y usar.
🎨CivitAI: plataforma comunitaria donde los usuarios comparten modelos, estilos, LoRAs y nodos específicos para ComfyUI, clasificados por categoría, versión y nivel de complejidad.
🧠 En Lozkorp:
Descubre el artículo previo donde introdujimos ComfyUI dentro del ciclo “Generación de imágenes con IA en local (IV)”:🔗 Generación de imágenes con IA en local (IV) — ComfyUI
Serie ComfyUI (V) -- Generar imágenes a partir de prompts guardados en un archivo de texto
Serie ComfyUI (VI) — Extraer prompts desde una carpeta de imágenes (WD14 Tagger)
Serie ComfyUI (VII) — Img2Img simple: mejorar o modificar una imagen en local
Serie ComfyUI (VIII) — Upscale de imágenes: qué es, cómo funciona y workflow comparativo
Serie ComfyUI (IX) — Upscale y normalización automática de imágenes
Serie ComfyUI (XI) — Introducción a ControlNet: control real sobre la forma
Serie ComfyUI (XII) — ¿Qué es un LoRA y cómo usarlo en Stable Diffusion?
Serie ComfyUI (XIII) — Multi-LoRA: cómo combinar estilos sin romper la imagen
Serie Comfy-UI (XIV): ControlNet + LoRA: control total de forma y estilo
Serie ComfyUI (XV) — ControlNet + LoRA en FLUX: nuevas opciones para control de forma y estilo
Serie ComfyUI (XVI) — Multi-ControlNet: combinando varios controles en un mismo workflow
Serie ComfyUI (XVII) — Multi-ControlNet para personajes: controlando pose y detalle
Serie ComfyUI (XVIII) — FLUX Turbo: generación rápida y nuevos workflows
Serie ComfyUI (XIX) — FLUX + Multi-LoRA: combinando estilos con Power Lora Loader
Serie ComfyUI (XX) — Consistencia de personajes con ControlNet, LoRA y prompts
Archivo JSON de este ejemplo
📁 wf_ComfyUI_SDXL_IPAdapter_OpenPose_LoRA_CharacterConsistency.json





















Comentarios