Wrappers de condicionamiento LoRA basados en áreas y nodos de planificación LoRA para ComfyUI.
- ✨ Características
- 📦 Instalación
- ✅ Configuración recomendada (multiárea/multitema)
- 🔧 Nodos
- 🧩 Dependencias opcionales
- 🧭 Workflow de ejemplo con múltiples áreas
- 🖼️ Galería
- 💙 Financiamiento y apoyo
- 📄 Licencia
- Canal de acondicionamiento basado en áreas para indicaciones de múltiples sujetos y múltiples regiones.
- Control de fuerza LoRA programado de un nodo con una salida de vista previa de curva.
- Para una composición consistente de múltiples temas en múltiples áreas, se recomienda encarecidamente ControlNet + OpenPose a través de comfyui-openpose-studio.
- Sin ControlNet/OpenPose, la composición de múltiples sujetos y múltiples áreas suele ser inconsistente y puede requerir muchos reintentos.
- Solo Python: no se requieren JavaScript ni dependencias de interfaz.
- ComfyUI (construcción reciente)
- Python 3.10+
- Dependencias opcionales por nodo:
matplotlib
- Clona este repositorio en
ComfyUI/custom_nodes/. - Reinicie ComfyUI.
- Confirme que los nodos aparecen en
LoRA Pipeline/.
- Utilice ControlNet OpenPose (recomendado): comfyui-openpose-studio.
- Mantenga el aviso global mínimo y general.
- Mantenga
global_strengthbajo (regla general: por debajo de0.5). - Equilibre la fuerza por área,
global_strengthy LoRA; no maximices todas las fortalezas. - Ejemplos de valores de referencia que funcionaron bien: fortalezas del área alrededor de
0.75, fortalezas LoRA alrededor de0.90.
| Conditioning Pipeline (Combine) | Conditioning Pipeline (Set Area) | Load LoRA (Scheduled) |
|---|---|---|
![]() |
![]() |
![]() |
Defina una entrada condicionada por área a la vez. Este nodo define una región rectangular con ancho, alto, x e y, luego aplica un mensaje de acondicionamiento dedicado y una fuerza a esa región como parte de un proceso de acondicionamiento encadenado.
De un vistazo:
- Utilice una instancia de nodo por mensaje de región/tema.
- Encadene múltiples instancias para construir un canal de acondicionamiento regional.
- Permite un control limpio de múltiples sujetos antes de la combinación final.
Entradas:
conditioning(CONDITIONING, requerido)width,height,x,y(FLOAT,0.0-1.0normalizado)strength(FLOAT, predeterminado1.0)pipeline_in(CONDITIONING_PIPELINE, opcional)
Salidas:
pipeline_out(CONDITIONING_PIPELINE)
Notas de comportamiento:
- Crea una nueva canalización si
pipeline_inno está conectado. - Agrega una nueva entrada regional cuando
pipeline_inestá conectado. - Mantiene las entradas ordenadas para que puedas crear pilas regionales predecibles.
- Las fortalezas de área más bajas a menudo mejoran la calidad general de la imagen, pero reducen la autoridad de control por área.
- Equilibre la fuerza del área junto con global_strength y la fuerza LoRA en Create Hook Lora.
Errores comunes:
- Proporcionar coordenadas de píxeles en lugar de valores
0.0-1.0normalizados. - Estableciendo
width/heightcerca de0y esperando un efecto visible. - Olvidar pasar el pipeline final a
Conditioning Pipeline (Combine).
Combinar el condicionamiento global positivo/negativo con el pipeline del área para obtener resultados conscientes de la región. Junto con Set Area, esta es la ruta principal para múltiples LoRA y condicionamientos separados por sujeto/zona.
De un vistazo:
- Convierte tu pipeline regional en salidas finales positivas/negativas.
- Mantiene el contexto del prompt global mientras agrega control regional local.
Entradas:
global_positive(CONDITIONING, requerido)global_negative(CONDITIONING, requerido)pipeline(CONDITIONING_PIPELINE, requerido)global_strength(FLOAT, predeterminado0.3)
Salidas:
positive_out(CONDITIONING)negative_out(CONDITIONING)areas_out(CONDITIONING_AREAS)
Detalles de areas_out:
areas_out expone la lista de regiones de área configuradas como una salida de datos estructurada. Cada entrada contiene las coordenadas normalizadas (x, y, width, height) y strength que se definieron en la canalización mediante Conditioning Pipeline (Set Area). Conecte areas_out a ComfyUI-OpenPose-Studio para reflejar automáticamente sus áreas de condicionamiento en el editor de OpenPose — la colocación de poses se alineará con las regiones exactas que condicionó. Esta salida también puede ser consumida por cualquier otra extensión o nodo que acepte metadatos de área para generación de máscaras o procesamiento posterior consciente de regiones.
Notas de comportamiento:
- Si la canalización está vacía o no es válida, las salidas vuelven a las entradas globales y
areas_outes una lista vacía. - Aplica entradas regionales, luego un pase combinado predeterminado para regiones no cubiertas.
global_strengthcontrola la fuerza con la que el contexto global compite con las áreas locales.- Presionar global_strength demasiado alto puede reducir la influencia del acondicionamiento por área y afectar negativamente la calidad de la imagen.
- Los buenos resultados generalmente provienen de equilibrar la fuerza global con la fuerza por área y la fuerza LoRA en lugar de maximizar todos los valores.
Errores comunes:
- Alimentar solo una corriente condicionante en lugar de positiva y negativa.
- Subir demasiado
global_strengthy perder detalles del área. - Construya entradas de área pero olvídese de conectar las salidas combinadas a su ruta de muestreo.
Aplique un LoRA con fuerza constante o una curva programada sobre el progreso de la difusión, en un nodo limpio.
De un vistazo:
- Reemplaza cadenas desordenadas de múltiples LoRA/nodos de control nativos.
- Mantiene la sincronización, la interpolación y la vista previa juntas.
- Cableado de gráficos más limpio para el comportamiento temporal LoRA.
Entradas:
model(MODEL, requerido)clip(CLIP, requerido)lora_name(STRING, requerido)strength_start,strength_end(FLOAT)interpolation(STRING:linear,ease_in,ease_out,ease_in_out)start_percent,end_percent(FLOAT,0.0-1.0)keyframes_count(INT, predeterminado4)apply_to_conds(BOOLEAN, opcional)
Salidas:
model(MODEL)clip(CLIP)curve_preview(IMAGE)
Notas de comportamiento:
- Si
lora_nameesNone, el paso del modelo/clip y la vista previa aún se representan. - Si las fortalezas inicial y final coinciden, se comporta como una aplicación LoRA constante.
- La vista previa de curvas ayuda a verificar rápidamente el tiempo antes de renderizar por completo.
Errores comunes:
- Olvidando
matplotlibal usarcurve_preview. - Usar una ventana de programación que no coincide con la intención de sincronización del muestreador.
- Esperando que este nodo genere directamente
CONDITIONING.
Instale solo lo que necesita, en el mismo entorno Python utilizado por ComfyUI.
ScheduledLoRALoadervista previa de curva:python -m pip install matplotlib
Puede arrastrar y soltar esta imagen de flujo de trabajo en ComfyUI para importar/cargar el gráfico completo.
- Utilice
Create Hook Loranativo para cargar un LoRA y definir el aviso/condicionamiento del área para el Área 1. - Conecte ese condicionamiento a
Conditioning Pipeline (Set Area)y configurewidth,height,x,yystrengthpara esa región.
- Repite exactamente el mismo patrón: otro
Create Hook Lora+ otroConditioning Pipeline (Set Area). - Puedes seguir repitiendo este patrón para áreas adicionales.
- Encadene
pipeline_outdel Área 1 al Área 2 (entradas de pipeline concatenadas). - Envíe
pipeline_outdesde la última área aConditioning Pipeline (Combine), lo que fusiona el pipeline del área con el condicionamiento global. - Enrutar la salida combinada a
KSamplerdirectamente o aControlNet; en este ejemplo, se enruta aControlNet.
- OpenPose/ControlNet es opcional en general, pero para este flujo de trabajo de composición de múltiples temas y áreas múltiples es muy recomendable para una composición consistente.
- Consulte comfyui-openpose-studio del mismo autor (repositorio más nuevo).
El estilo global significa aplicar Styler Pipeline una vez a toda la imagen, además (o en lugar) del acondicionamiento por área.
- Regla general: conecte
Styler Pipelineantes deKSampler. - Cuando se usa ControlNet,
Styler Pipelinese puede conectar antes de aplicar ControlNet o después de aplicar ControlNet. - En la práctica, el resultado suele ser equivalente, así que elija la ubicación que le resulte más conveniente en su gráfico.
- Aumentar demasiado
global_strengthreduce la influencia relativa de los condicionamientos por área y puede debilitar LoRA/identidad de estilo por área. - Una mayor intensidad global también puede afectar negativamente a la calidad de la imagen.
- Mantenga
global_strengthbajo y mantenga el aviso global mínimo/general. - Regla general: utilice valores inferiores a
0.5en general (probados hasta0.5) y evite confiar en el condicionamiento global más allá de la orientación general. - Reducir la fuerza de LoRA tiende a reducir la identidad o la fidelidad del carácter de LoRA, mientras que reducir la fuerza del área tiende a reducir el control por área.
- No se recomienda maximizar todo, porque altas potencias combinadas pueden sacrificar la calidad de la imagen. Esto es especialmente cierto cuando se mezclan LoRAs de diferentes autores, lo que puede producir una calidad inconsistente.
- Regla general para LoRA de varios caracteres: cuando sea posible, utilice LoRA del mismo autor o un enfoque de capacitación similar para obtener resultados combinados más consistentes.
| Avance | Descripción |
|---|---|
![]() |
Conditioning Pipeline — múltiples áreas con ControlNet OpenPose Demuestra múltiples áreas verticales con múltiples LoRA sin LoRA bleeding, usando ControlNet OpenPose. Requiere comfyui-openpose-studio. |
![]() |
Conditioning Pipeline — múltiples áreas con ControlNet y Styling Demuestra múltiples áreas y múltiples LoRA con estilo por área aplicado a cada región de forma independiente. Requiere comfyui-openpose-studio y comfyui-styler-pipeline. Este workflow utiliza estilo por área, lo que significa que cada área tiene sus propios estilos configurados por separado. El estilo global también es posible conectando el nodo Styler justo antes de ControlNet. |
En este post podés ver un workflow completo que combina múltiples áreas de conditioning, OpenPose, ControlNet y Styler, todos usados al mismo tiempo.
Este complemento se desarrolla y mantiene de forma independiente, con el uso regular de agentes de IA pagos para acelerar la depuración, las pruebas y las mejoras en la calidad de vida. Si lo encuentra útil, el apoyo financiero ayuda a que el desarrollo avance de manera constante.
Tu contribución ayuda:
- Financiar herramientas de IA para soluciones más rápidas y nuevas funciones
- Cubrir el trabajo continuo de mantenimiento y compatibilidad en las actualizaciones de ComfyUI
- Evite ralentizaciones en el desarrollo cuando se alcancen los límites de uso
Tip
¿No donar? Una estrella de GitHub ⭐ todavía ayuda mucho al mejorar la visibilidad y ayudar a más usuarios
Mostrar dirección USDC
0xe36a336fC6cc9Daae657b4A380dA492AB9601e73
[!WARNING] Envíe USDC únicamente en Arbitrum One. Las transferencias enviadas en cualquier otra red no llegarán y pueden perderse permanentemente.
Licencia MIT: consulte LICENSE para obtener el texto completo.
Mantenido por: andreszs Estado: Desarrollo activo









