Prompts regionales en ComfyUI: separa varios sujetos con Set Area, RegionalPrompt y Cutoff

"El código central de ComfyUI define los parámetros y el mapeo al área latente de ConditioningSetArea, ConditioningSetAreaPercentage y ConditioningCombine."
Preparas una imagen de 1024x768 con una chica de pelo corto y ropa roja a la izquierda, y un chico con chaqueta azul a la derecha. El resultado pone rojo en la chaqueta derecha y azul en el pelo izquierdo; la ropa y los colores de ambos sujetos se contaminan. No es un problema del seed ni de un modelo poco potente. El codificador de texto CLIP lee la frase completa como contexto: en «red hair, blue jacket», red puede desplazarse a jacket y blue a hair. Los nodes de conditioning regional limitan el prompt dentro del espacio latente, pero el embedding conserva el contexto global. Hay tres rutas: regiones de coordenadas nativas con ConditioningSetArea + Combine, vinculación de atributos con Cutoff y muestreo regional por máscara con Impact Pack Regional. Cada una resuelve un problema distinto y tiene sus límites.
Por qué se mezclan los prompts de varios sujetos
CLIP codifica el contexto global
El codificador de texto CLIP de Stable Diffusion no codifica cada palabra de forma independiente, sino que interpreta toda la frase. En «blue hair, yellow eyes», blue puede influir en eyes porque los tokens interactúan al generar el embedding. ConditioningSetArea limita la condición a una región latente, pero el embedding procede del contexto global, por lo que el azul aún puede llegar a los ojos. Los prompts regionales reducen la mezcla espacial, como el rojo izquierdo que afecta a la derecha, pero no impiden la mezcla de atributos a nivel de tokens.
Tres tipos de mezcla
| Tipo | Síntoma típico | Solución |
|---|---|---|
| Mezcla espacial | La ropa roja izquierda afecta a la derecha; el azul del primer plano afecta al fondo | Conditioning regional (Set Area / RegionalPrompt) |
| Mezcla de atributos | En «blue hair, yellow eyes», blue afecta a los ojos | Vinculación de atributos (Cutoff) |
| Identidad inconsistente | El mismo personaje cambia de cara con otro seed | FaceID / LoRA (no se trata aquí) |
Tabla de selección: problema → enfoque → herramienta → uso inadecuado
| Problema | Enfoque recomendado | Nodes | Uso inadecuado |
|---|---|---|---|
| Separar personajes izquierda-derecha | Regiones de coordenadas nativas | ConditioningSetArea + ConditioningCombine | Máscaras complejas, porque hay que calcular coordenadas |
| Mezcla de color o ropa | Vinculación de atributos | Cutoff BasePrompt + Set Region + Regions To Conditioning | Regiones por coordenadas; SDXL requiere pruebas porque el README indica resultados débiles con SDXL 0.9 |
| Regiones de máscara complejas | Muestreo regional por máscara | Impact Pack: RegionalPrompt + CombineRegionalPrompts + RegionalSampler | Requiere Impact Pack y puede causar nodes faltantes |
| Máscaras simples por bloques | Nodes regionales simplificados | Inspire Pack: Regional Conditioning By Color Mask | Depende de Impact Pack o IPAdapter Plus |
| Pose incorrecta | Control de pose | ControlNet (OpenPose / Canny / Depth) | No resuelve la mezcla de atributos |
| Identidad inconsistente | Fijación de identidad | FaceID / ReActor / LoRA | No resuelve los prompts regionales |
Una combinación útil sigue este orden: prompts regionales para la posición → OpenPose para la pose → conditioning global con strength 0.3-0.5 para unificar el ambiente. Las posiciones de OpenPose, ControlNet o IPAdapter deben alinearse manualmente con las regiones. Los nodes no saben que la persona OpenPose de la izquierda pertenece a la región de prompt izquierda.
Ruta nativa: ConditioningSetArea + Combine
Parámetros de coordenadas
| Parámetro | Significado | Unidad | Rango | Nota |
|---|---|---|---|---|
| x / y | Coordenada superior izquierda | Píxeles | 0 - MAX_RESOLUTION | El origen está arriba a la izquierda |
| width / height | Anchura y altura de la región | Píxeles | 64 - MAX_RESOLUTION, paso 8 | La UI usa paso 8 porque el código divide entre 8 al escribir en el latent |
| strength | Peso del conditioning regional | Flotante | 0 - 10, valor 1.0 | Los pesos de regiones superpuestas se normalizan durante el muestreo |
El paso es 8 porque ConditioningSetArea.append() escribe el área latente como (height // 8, width // 8, y // 8, x // 8). Una imagen 512x512 se convierte en 64x64 en el espacio latente, por lo que las coordenadas deben alinearse a múltiplos de 8. ConditioningSetAreaPercentage acepta valores de 0 a 1 si prefieres porcentajes.
Conexión desde el prompt hasta el sampler
Este ejemplo divide un lienzo 1024x768 entre dos sujetos:
Paso 1: región del prompt izquierdo
- Prompt del sujeto izquierdo → CLIP Text Encode (salida conditioning)
- Conditioning → ConditioningSetArea (x=0, y=0, width=512, height=768, strength=1.0)
- Salida del conditioning con datos de región
Paso 2: región del prompt derecho
- Prompt del sujeto derecho → CLIP Text Encode (salida conditioning)
- Conditioning → ConditioningSetArea (x=512, y=0, width=512, height=768, strength=1.0)
- Salida del conditioning con datos de región
Paso 3: combinar conditionings
- Salida Set Area izquierda → ConditioningCombine (entrada 1)
- Salida Set Area derecha → ConditioningCombine (entrada 2)
- Salida Combine → conditioning positive de KSampler
Paso opcional: conditioning global del fondo
- Prompt de fondo → CLIP Text Encode
- Conditioning → ConditioningSetArea (x=0, y=0, width=1024, height=768, strength=0.3-0.5)
- Combinar con los conditionings regionales a baja strength para unificar el ambiente
Punto clave: strength no es «opacidad», sino el peso de la predicción de ruido. Cuando las regiones se superponen, los pesos se normalizan antes del muestreo, por lo que no necesitas calcular el total.
Regiones superpuestas y ajuste de strength
Cuando las regiones se superponen, strength controla la mezcla de sus conditionings. El muestreo normaliza los pesos automáticamente. Un buen inicio es strength=1.0 para sujetos en primer plano y strength=0.3-0.5 para el fondo global. Reducir el fondo limita la interferencia, pero no la elimina: colores contradictorios en los prompts aún pueden interactuar por el contexto global de CLIP.
Vinculación de atributos: Cutoff
Cuándo usarlo y cómo funciona
El caso típico es blue influyendo en eyes dentro de «blue hair, yellow eyes», porque CLIP codifica toda la frase. Cutoff intenta limitar un atributo a una parte concreta del prompt. Oculta los target tokens, regenera el embedding y usa la dirección resultante para aislar mejor las relaciones entre atributos.
Cutoff no es un prompt regional basado en coordenadas. Trata relaciones entre tokens, no posiciones. Sus nodes son Cutoff BasePrompt, Cutoff Set Region, Cutoff Regions To Conditioning y Cutoff Regions To Conditioning (ADV), bajo conditioning > cutoff.
Advertencia para SDXL: el README informa resultados pobres con SDXL 0.9. Las versiones actuales de SDXL o FLUX necesitan pruebas; Cutoff no es una solución universal estable.
Instalación y uso
Instalación:
- Busca
ComfyUI_Cutoffen ComfyUI-Manager - O clona
git clone https://github.com/BlenderNeko/ComfyUI_Cutoffdentro decustom_nodes - Reinicia ComfyUI después de instalar
Flujo básico:
- Introduce el prompt completo en BasePrompt, por ejemplo «blue hair, yellow eyes»
- Define la vinculación en Set Region, por ejemplo «blue» con «hair»
- Genera conditioning con Regions To Conditioning
- Pasa ese conditioning por Set Area si también necesitas limitar la posición
Límites y precauciones
Cutoff no sirve para dividir por coordenadas. Vincula atributos de tokens, pero no coloca «ropa roja a la izquierda y ropa azul a la derecha». Para resolver ambos problemas, vincula primero los atributos con Cutoff y limita después la región con Set Area.
Su efecto con SDXL es incierto. El README menciona resultados débiles con SDXL 0.9 y las versiones actuales requieren pruebas. Si usas principalmente SDXL, prueba Cutoff con un ejemplo de colores sencillo antes de depender de él.
Muestreo regional por máscara: Impact Pack Regional
Nodes RegionalPrompt y RegionalSampler
| Node | Entrada | Salida | Función |
|---|---|---|---|
| RegionalPrompt | mask + advanced_sampler + variation_seed/strength/method | REGIONAL_PROMPTS | Vincula una máscara a un sampler y crea un prompt regional |
| CombineRegionalPrompts | Varios REGIONAL_PROMPTS | REGIONAL_PROMPTS | Combina varios prompts regionales |
| RegionalSampler | base_sampler + REGIONAL_PROMPTS + overlap_factor + restore_latent | latent | Aplica muestreo a las regiones en cada paso |
| RegionalSamplerAdvanced | Entradas de RegionalSampler + control de pasos | latent | Controla por pasos en vez de denoise |
Parámetros:
overlap_factor: controla el rango de transición fuera de la regiónrestore_latent: restaura el base latent fuera de la máscara durante el muestreo regional para reducir ruido extra
RegionalSampler aplica muestreo regional en cada paso. En cambio, TwoSamplersForMask realiza muestreo global y después combina por máscara. El primero ofrece control más fino del proceso de cada región.
Instalación y solución de problemas
Instalación:
- Busca
ComfyUI Impact Packen ComfyUI-Manager - Reinicia ComfyUI y actualiza el navegador después de instalar
Problemas comunes:
- Node rojo o faltante → importar workflows e instalar nodes faltantes
- Error de dependencias de Python → consulta el futuro artículo sobre solución de problemas y mantenimiento de ComfyUI
Ruta simplificada: Inspire Pack Regional Conditioning (opcional)
Si no quieres calcular coordenadas de Set Area, una máscara de bloques de color simplifica el flujo. Inspire Pack ofrece:
| Node | Función |
|---|---|
| Regional Prompt Simple (Inspire) | Entrada simplificada de prompt regional |
| Regional Prompt By Color Mask (Inspire) | Define regiones con una máscara por colores |
| Regional Conditioning Simple (Inspire) | Conditioning regional simplificado |
| Regional Conditioning By Color Mask (Inspire) | Define regiones de conditioning por colores |
| Regional IPAdapter Mask / By Color Mask / Encoded Mask | Nodes regionales relacionados con IPAdapter |
Algunos nodes dependen de Impact Pack o IPAdapter Plus. Revisa las dependencias del README antes de usarlos.
Esta ruta encaja cuando ya tienes una máscara por bloques, como rojo a la izquierda y azul a la derecha, y quieres evitar cálculos manuales de píxeles.
Límites de combinación y riesgos del segundo pase
Combinación con ControlNet, IPAdapter y LoRA
| Herramienta | Qué controla | Qué no resuelve |
|---|---|---|
| Prompt regional (Set Area / Regional) | Posición y asignación del prompt | Consistencia de identidad; mezcla de atributos, que Set Area no resuelve |
| ControlNet (OpenPose / Canny / Depth) | Pose y estructura | Mezcla de atributos; asignación de posición |
| IPAdapter | Influencia de una imagen de referencia en estilo o composición | Aislamiento regional; identidad fija, porque IPAdapter influye en el estilo general |
| FaceID / LoRA | Consistencia de identidad o estilo | Prompts regionales; mezcla de atributos |
El orden práctico es: prompts regionales para la posición → OpenPose para la pose → conditioning global débil para un ambiente común. Debes alinear manualmente OpenPose, ControlNet o IPAdapter con las regiones; no pueden vincular automáticamente «la persona de la izquierda».
Mezcla de colores en el segundo pase, upscale o inpaint
Si el segundo pase, upscale o reparación facial omite el conditioning regional, el modelo puede buscar otra vez consistencia global y mezclar colores de pelo o ropa separados en la primera fase. El ejemplo Area Composition advierte que los colores de pelo pueden unirse si el segundo pase no incluye un prompt regional.
Decide si los pases posteriores deben conservar el conditioning regional o si un Inpaint local es mejor. Si el primer pase usó Set Area, considera redefinir las regiones durante el upscale para que la consistencia global no destruya la separación.
Siguientes pasos y lecturas relacionadas
Los prompts regionales son solo una parte de una composición con varios sujetos. El control de pose, la consistencia de identidad, las imágenes de referencia y la reparación en alta resolución necesitan otras herramientas.
Publicados:
- Importar workflows e instalar nodes faltantes: resuelve la instalación de custom nodes y los nodes ausentes
- Plantillas de prompt para Stable Diffusion: bases para casos donde un prompt no describe bien varios sujetos
- Guía de ComfyUI ControlNet: controla pose y estructura junto con el posicionamiento regional
- Guía de ComfyUI LoRA: mantiene personajes o estilos y distingue mezcla multi-LoRA de mezcla de prompts regionales
Otros artículos cubrirán IPAdapter, FaceID y consistencia facial, entrenamiento de LoRA, reparación en alta resolución e Inpainting. Combinadas con prompts regionales, estas herramientas reducen la incertidumbre en escenas con varios sujetos.
Crear regiones izquierda y derecha con Set Area
En un lienzo de 1024×768, asigna el positive conditioning de cada sujeto a una mitad y unifica el ambiente con conditioning global de baja strength.
⏱️ Estimated time: 20 min
- 1
Step 1: Define el lienzo final
Configura el latent o Empty Latent Image en 1024×768 y calcula todas las coordenadas a partir de ese tamaño final. - 2
Step 2: Escribe el prompt del sujeto izquierdo
Usa un CLIP Text Encode separado para el sujeto izquierdo. Mantén su color, ropa y peinado solo en esta rama local. - 3
Step 3: Define la región izquierda
Conecta el conditioning izquierdo a ConditioningSetArea y usa x=0, y=0, width=512, height=768 y strength=1.0. - 4
Step 4: Define la región derecha
Crea un segundo CLIP Text Encode y ConditioningSetArea para el sujeto derecho con x=512, y=0, width=512, height=768 y strength=1.0. - 5
Step 5: Combina los conditionings locales
Une las dos ramas con datos de región mediante ConditioningCombine y conecta la salida al positive de KSampler. - 6
Step 6: Añade conditioning global débil
Para unificar iluminación o fondo, añade conditioning de lienzo completo con strength 0.3-0.5 para no cubrir las ramas locales. - 7
Step 7: Alinea el control de pose
Para posiciones o gestos de dos personas, añade OpenPose, Depth o Canny y alinea manualmente la pose con las regiones. - 8
Step 8: Revisa los pases posteriores
Antes de escalar, hacer un segundo pase o inpaint, decide si conservarás el conditioning regional para evitar que colores y atributos vuelvan a mezclarse.
FAQ
¿x, y, width y height son píxeles o porcentajes?
¿Por qué las coordenadas de Set Area deben ser múltiplos de 8?
¿Cutoff es una herramienta de prompt regional?
¿Cuándo conviene RegionalPrompt en lugar de Set Area?
¿Cómo ajusto strength cuando las regiones se superponen?
¿Por qué el prompt no coincide con las dos personas de OpenPose?
¿Qué hago si un node aparece rojo o falta?
10 min de lectura · Publicado el: 28 ago 2026 · Actualizado el: 28 ago 2026
Guía práctica de ComfyUI y Stable Diffusion
Si llegaste desde búsqueda, lo más rápido es ir al artículo anterior o siguiente de esta misma serie.
Anterior
Entrenar tu propio LoRA con ComfyUI: datos, etiquetas y validación
Prepara el dataset y los captions, ajusta dim, alpha, learning rates, steps y opciones de VRAM, detecta el sobreajuste y valida el LoRA en ComfyUI.
Parte 10 de 16
Siguiente
Ampliar y reparar imágenes en ComfyUI: Hires Fix, FaceDetailer e inpainting
Compara upscaling de píxeles, remuestreo latente, FaceDetailer, inpainting y mosaicos, y corrige cambios de rostro, uniones visibles y desbordes de la máscara.
Parte 12 de 16



Comentarios
Inicia sesión con GitHub para dejar un comentario