Cambiar tema

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

Easton editorial illustration: one large rounded ComfyUI-style node canvas with a coordinate grid, two simplified 2.5D character silhouettes isolated in red-left and blue-right regions

"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

TipoSíntoma típicoSolución
Mezcla espacialLa ropa roja izquierda afecta a la derecha; el azul del primer plano afecta al fondoConditioning regional (Set Area / RegionalPrompt)
Mezcla de atributosEn «blue hair, yellow eyes», blue afecta a los ojosVinculación de atributos (Cutoff)
Identidad inconsistenteEl mismo personaje cambia de cara con otro seedFaceID / LoRA (no se trata aquí)

Tabla de selección: problema → enfoque → herramienta → uso inadecuado

ProblemaEnfoque recomendadoNodesUso inadecuado
Separar personajes izquierda-derechaRegiones de coordenadas nativasConditioningSetArea + ConditioningCombineMáscaras complejas, porque hay que calcular coordenadas
Mezcla de color o ropaVinculación de atributosCutoff BasePrompt + Set Region + Regions To ConditioningRegiones por coordenadas; SDXL requiere pruebas porque el README indica resultados débiles con SDXL 0.9
Regiones de máscara complejasMuestreo regional por máscaraImpact Pack: RegionalPrompt + CombineRegionalPrompts + RegionalSamplerRequiere Impact Pack y puede causar nodes faltantes
Máscaras simples por bloquesNodes regionales simplificadosInspire Pack: Regional Conditioning By Color MaskDepende de Impact Pack o IPAdapter Plus
Pose incorrectaControl de poseControlNet (OpenPose / Canny / Depth)No resuelve la mezcla de atributos
Identidad inconsistenteFijación de identidadFaceID / ReActor / LoRANo 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ámetroSignificadoUnidadRangoNota
x / yCoordenada superior izquierdaPíxeles0 - MAX_RESOLUTIONEl origen está arriba a la izquierda
width / heightAnchura y altura de la regiónPíxeles64 - MAX_RESOLUTION, paso 8La UI usa paso 8 porque el código divide entre 8 al escribir en el latent
strengthPeso del conditioning regionalFlotante0 - 10, valor 1.0Los 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_Cutoff en ComfyUI-Manager
  • O clona git clone https://github.com/BlenderNeko/ComfyUI_Cutoff dentro de custom_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

NodeEntradaSalidaFunción
RegionalPromptmask + advanced_sampler + variation_seed/strength/methodREGIONAL_PROMPTSVincula una máscara a un sampler y crea un prompt regional
CombineRegionalPromptsVarios REGIONAL_PROMPTSREGIONAL_PROMPTSCombina varios prompts regionales
RegionalSamplerbase_sampler + REGIONAL_PROMPTS + overlap_factor + restore_latentlatentAplica muestreo a las regiones en cada paso
RegionalSamplerAdvancedEntradas de RegionalSampler + control de pasoslatentControla por pasos en vez de denoise

Parámetros:

  • overlap_factor: controla el rango de transición fuera de la región
  • restore_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 Pack en ComfyUI-Manager
  • Reinicia ComfyUI y actualiza el navegador después de instalar

Problemas comunes:

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:

NodeFunció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 MaskNodes 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

HerramientaQué controlaQué no resuelve
Prompt regional (Set Area / Regional)Posición y asignación del promptConsistencia de identidad; mezcla de atributos, que Set Area no resuelve
ControlNet (OpenPose / Canny / Depth)Pose y estructuraMezcla de atributos; asignación de posición
IPAdapterInfluencia de una imagen de referencia en estilo o composiciónAislamiento regional; identidad fija, porque IPAdapter influye en el estilo general
FaceID / LoRAConsistencia de identidad o estiloPrompts 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:

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. 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. 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. 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. 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. 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. 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. 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. 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?
ConditioningSetArea usa coordenadas en píxeles del lienzo final. ConditioningSetAreaPercentage usa valores de 0 a 1.
¿Por qué las coordenadas de Set Area deben ser múltiplos de 8?
ComfyUI escribe height, width, y y x en el área latente tras dividir cada valor entre 8. Los múltiplos de 8 alinean los límites con la cuadrícula latente.
¿Cutoff es una herramienta de prompt regional?
No. Cutoff aísla relaciones entre atributos de tokens como colores y ropa, no coordenadas espaciales. Usa Set Area o RegionalPrompt para regiones izquierda-derecha.
¿Cuándo conviene RegionalPrompt en lugar de Set Area?
Usa Set Area para divisiones rectangulares simples. RegionalPrompt y RegionalSampler de Impact Pack sirven para formas complejas, máscaras existentes o muestreo regional en cada paso.
¿Cómo ajusto strength cuando las regiones se superponen?
Empieza con 1.0 para sujetos locales y 0.3-0.5 para el fondo global. Baja la rama secundaria al aumentar la superposición y compara con un seed fijo.
¿Por qué el prompt no coincide con las dos personas de OpenPose?
OpenPose controla la pose y los prompts regionales la asignación espacial. Debes alinearlos manualmente; los nodes no saben qué esqueleto pertenece a cada región.
¿Qué hago si un node aparece rojo o falta?
Instala o actualiza Impact Pack, Inspire Pack o Cutoff con ComfyUI-Manager, reinicia y actualiza el navegador. Después revisa la versión del workflow y las dependencias de Python.

10 min de lectura · Publicado el: 28 ago 2026 · Actualizado el: 28 ago 2026

Comentarios

Inicia sesión con GitHub para dejar un comentario

Easton BlogEaston Blog