Design wechseln

Regionale Prompts in ComfyUI: Mehrere Motive mit Set Area, RegionalPrompt und Cutoff trennen

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

"Der ComfyUI-Kernquellcode definiert Parameter und Abbildung auf Latent-Bereiche für ConditioningSetArea, ConditioningSetAreaPercentage und ConditioningCombine."

Auf einer 1024x768-Leinwand soll links ein kurzhaariges Mädchen in Rot und rechts ein Junge mit blauer Jacke stehen. Das Ergebnis färbt die rechte Jacke rot und die linken Haare blau; Kleidung und Haarfarben beider Personen vermischen sich. Das liegt weder am Seed noch an einem zu schwachen Modell. Der CLIP-Textencoder liest den ganzen Satz als Kontext: In „red hair, blue jacket“ kann red zu jacket und blue zu hair wandern. Regions-Conditioning begrenzt einen Prompt zwar räumlich im Latent, doch das Embedding enthält weiterhin den global codierten Kontext. Drei Wege helfen: native Koordinatenregionen mit ConditioningSetArea + Combine, Attributbindung mit Cutoff und maskenbasiertes regionales Sampling mit Impact Pack Regional. Jeder Weg hat einen eigenen Einsatzbereich und eigene Grenzen.

Warum sich Prompts bei mehreren Motiven vermischen

CLIP codiert den globalen Kontext

Der CLIP-Textencoder von Stable Diffusion codiert Wörter nicht vollständig unabhängig, sondern wertet den ganzen Satz aus. In „blue hair, yellow eyes“ kann blue die eyes beeinflussen, weil die Tokens beim Erzeugen des Embeddings zusammenwirken. ConditioningSetArea begrenzt die Bedingung auf eine Latent-Region, das Embedding selbst entsteht jedoch aus dem globalen Kontext. Blau kann daher weiterhin zu den Augen wandern. Regionale Prompts verringern räumliche Vermischung, etwa Rot von links nach rechts, verhindern aber keine Vermischung auf Token-Ebene, etwa blue mit eyes.

Drei Arten der Vermischung

ArtTypisches SymptomLösungsrichtung
Räumliche VermischungRote Kleidung links beeinflusst rechts; Blau im Vordergrund beeinflusst den HintergrundRegions-Conditioning (Set Area / RegionalPrompt)
AttributvermischungIn „blue hair, yellow eyes“ beeinflusst blue die AugenAttributbindung (Cutoff)
Inkonsistente IdentitätDasselbe Motiv erhält bei anderem Seed ein anderes GesichtFaceID / LoRA (hier nicht behandelt)

Auswahl: Problem → Ansatz → Werkzeug → ungeeigneter Fall

ProblemEmpfohlener AnsatzNodesUngeeignet für
Figuren links und rechts trennenNative KoordinatenregionenConditioningSetArea + ConditioningCombineKomplexe Masken, weil Koordinaten berechnet werden müssen
Farb- oder KleidungsvermischungAttributbindungCutoff BasePrompt + Set Region + Regions To ConditioningKoordinatenbereiche; SDXL muss getestet werden, da das README schwache Ergebnisse mit SDXL 0.9 nennt
Komplexe MaskenregionenMaskenbasiertes regionales SamplingImpact Pack: RegionalPrompt + CombineRegionalPrompts + RegionalSamplerBenötigt Impact Pack und kann zu fehlenden Nodes führen
Einfache FarbblockmaskenVereinfachte Regions-NodesInspire Pack: Regional Conditioning By Color MaskHängt von Impact Pack oder IPAdapter Plus ab
Falsche PosePosensteuerungControlNet (OpenPose / Canny / Depth)Löst keine Attributvermischung
Inkonsistente IdentitätIdentitätssteuerungFaceID / ReActor / LoRALöst keine regionalen Prompts

Eine sinnvolle Kombination lautet: Regionale Prompts bestimmen die Position → OpenPose bestimmt die Pose → ein globales Conditioning mit strength 0.3-0.5 vereinheitlicht die Stimmung. Positionen aus OpenPose, ControlNet oder IPAdapter müssen manuell zu den Regionen passen. Die Nodes erkennen nicht automatisch, dass die linke OpenPose-Person zur linken Prompt-Region gehört.

Nativer Weg: ConditioningSetArea + Combine

Koordinatenparameter

ParameterBedeutungEinheitBereichHinweis
x / yKoordinate oben linksPixel0 - MAX_RESOLUTIONUrsprung liegt oben links
width / heightBreite und Höhe der RegionPixel64 - MAX_RESOLUTION, Schritt 8UI-Schritt 8, weil beim Schreiben in den Latent durch 8 geteilt wird
strengthGewicht des Regions-ConditioningsFließkommazahl0 - 10, Standard 1.0Gewichte überlappender Regionen werden beim Sampling normalisiert

Der Schritt beträgt 8, weil ConditioningSetArea.append() den Latent-Bereich als (height // 8, width // 8, y // 8, x // 8) schreibt. Ein 512x512-Bild wird im Latent-Raum zu 64x64, daher sollten die Koordinaten Vielfache von 8 sein. ConditioningSetAreaPercentage akzeptiert Werte von 0 bis 1, wenn Prozentwerte bequemer sind.

Verbindung vom Prompt zum Sampler

Dieses Beispiel teilt eine 1024x768-Leinwand zwischen zwei Motiven:

Schritt 1: Region für den linken Prompt

  • Prompt des linken Motivs → CLIP Text Encode (Conditioning-Ausgabe)
  • Conditioning → ConditioningSetArea (x=0, y=0, width=512, height=768, strength=1.0)
  • Conditioning mit Regionsdaten ausgeben

Schritt 2: Region für den rechten Prompt

  • Prompt des rechten Motivs → CLIP Text Encode (Conditioning-Ausgabe)
  • Conditioning → ConditioningSetArea (x=512, y=0, width=512, height=768, strength=1.0)
  • Conditioning mit Regionsdaten ausgeben

Schritt 3: Conditionings kombinieren

  • Linke Set-Area-Ausgabe → ConditioningCombine (Eingang 1)
  • Rechte Set-Area-Ausgabe → ConditioningCombine (Eingang 2)
  • Combine-Ausgabe → positive Conditioning des KSampler

Optional: globales Hintergrund-Conditioning

  • Hintergrund-Prompt → CLIP Text Encode
  • Conditioning → ConditioningSetArea (x=0, y=0, width=1024, height=768, strength=0.3-0.5)
  • Mit den Regions-Conditionings kombinieren und über geringe strength die Stimmung vereinheitlichen

Wichtig: strength ist keine „Deckkraft“, sondern das Gewicht der Rauschvorhersage. Bei überlappenden Regionen werden die Gewichte mehrerer Conditionings vor dem Sampling normalisiert; die Summe muss nicht manuell berechnet werden.

Überlappungen und strength einstellen

Bei überlappenden Regionen steuert strength die Mischung der Conditionings. Das Sampling normalisiert die Gewichte automatisch. Als Ausgangspunkt eignen sich strength=1.0 für Motive im Vordergrund und strength=0.3-0.5 für den globalen Hintergrund. Ein niedriger Hintergrundwert reduziert Störungen, beseitigt sie jedoch nicht vollständig. Widersprüchliche Farben in beiden Figuren-Prompts können sich über den globalen CLIP-Kontext weiterhin beeinflussen.

Attributbindung: Cutoff

Einsatzbereich und Funktionsweise

Das typische Beispiel ist blue, das in „blue hair, yellow eyes“ die eyes beeinflusst, weil CLIP den ganzen Satz als Kontext codiert. Cutoff soll ein Attribut nur auf einen festgelegten Teil des Prompts wirken lassen. Dazu maskiert es Ziel-Tokens, erzeugt das Embedding erneut und nutzt die resultierende Richtung, um Attributbeziehungen zu isolieren.

Cutoff ist kein koordinatenbasierter regionaler Prompt. Es verarbeitet Token-Beziehungen, nicht Positionen. Die Nodes heißen Cutoff BasePrompt, Cutoff Set Region, Cutoff Regions To Conditioning und Cutoff Regions To Conditioning (ADV) und liegen unter conditioning > cutoff.

SDXL-Hinweis: Das README berichtet schlechte Ergebnisse mit SDXL 0.9. Aktuelle SDXL- oder FLUX-Versionen müssen getestet werden; Cutoff ist keine universell zuverlässige Lösung.

Installation und Verwendung

Installation:

  • In ComfyUI-Manager nach ComfyUI_Cutoff suchen
  • Oder mit git clone https://github.com/BlenderNeko/ComfyUI_Cutoff manuell nach custom_nodes klonen
  • ComfyUI nach der Installation neu starten

Grundablauf:

  • Den vollständigen Prompt, etwa „blue hair, yellow eyes“, in BasePrompt eingeben
  • In Set Region die Attributbindung definieren, etwa „blue“ an „hair“
  • Mit Regions To Conditioning ein Conditioning erzeugen
  • Dieses Conditioning bei Bedarf mit Set Area räumlich begrenzen

Grenzen und Hinweise

Cutoff eignet sich nicht für Koordinatenbereiche. Es bindet Token-Attribute, platziert aber nicht „rote Kleidung links, blaue Kleidung rechts“. Für beide Probleme bindest du zuerst Attribute mit Cutoff und begrenzt das Ergebnis anschließend mit Set Area.

Die Wirkung mit SDXL ist unsicher. Das README nennt schwache Ergebnisse mit SDXL 0.9; aktuelle Versionen erfordern eigene Tests. Wer vor allem SDXL nutzt, sollte Cutoff zunächst mit einem einfachen Farbbeispiel prüfen.

Maskenbasiertes regionales Sampling: Impact Pack Regional

Nodes RegionalPrompt und RegionalSampler

NodeEingabeAusgabeZweck
RegionalPromptmask + advanced_sampler + variation_seed/strength/methodREGIONAL_PROMPTSVerbindet Maske und Sampler zu einem regionalen Prompt
CombineRegionalPromptsMehrere REGIONAL_PROMPTSREGIONAL_PROMPTSKombiniert mehrere regionale Prompts
RegionalSamplerbase_sampler + REGIONAL_PROMPTS + overlap_factor + restore_latentlatentWendet in jedem Schritt Sampling auf Regionen an
RegionalSamplerAdvancedEingaben von RegionalSampler + SchrittsteuerunglatentSteuert über Schritte statt denoise

Parameter:

  • overlap_factor: steuert den Übergangsbereich außerhalb der Region
  • restore_latent: stellt beim regionalen Sampling den base latent außerhalb der Maske wieder her und reduziert dort zusätzliches Rauschen

RegionalSampler sampelt Regionen in jedem Schritt. TwoSamplersForMask führt dagegen zuerst globales Sampling aus und kombiniert anschließend per Maske. Der erste Ansatz kontrolliert den Ablauf jeder Region genauer.

Installation und Fehlerbehebung

Installation:

  • In ComfyUI-Manager nach ComfyUI Impact Pack suchen
  • ComfyUI nach der Installation neu starten und den Browser aktualisieren

Typische Probleme:

Vereinfachter Weg: Inspire Pack Regional Conditioning (optional)

Wer keine Set-Area-Koordinaten berechnen möchte, kann den Ablauf mit einer Farbblockmaske vereinfachen. Inspire Pack enthält:

NodeZweck
Regional Prompt Simple (Inspire)Vereinfachte Eingabe regionaler Prompts
Regional Prompt By Color Mask (Inspire)Definiert Regionen per Farbblockmaske
Regional Conditioning Simple (Inspire)Vereinfachtes regionales Conditioning
Regional Conditioning By Color Mask (Inspire)Definiert Conditioning-Regionen per Farbblockmaske
Regional IPAdapter Mask / By Color Mask / Encoded MaskRegionale Nodes für IPAdapter

Einige Nodes hängen von Impact Pack oder IPAdapter Plus ab. Prüfe vor der Verwendung die Abhängigkeiten im README.

Dieser Weg passt zu vorhandenen Farbblockmasken, etwa links rot und rechts blau, und vermeidet manuelle Pixelberechnungen.

Kombinationsgrenzen und Risiken im zweiten Pass

Kombination mit ControlNet, IPAdapter und LoRA

WerkzeugGesteuertes ZielNicht gelöstes Problem
Regionaler Prompt (Set Area / Regional)Position und Prompt-ZuordnungIdentitätskonsistenz; Attributvermischung, die Set Area nicht löst
ControlNet (OpenPose / Canny / Depth)Pose und StrukturAttributvermischung; Positionszuordnung
IPAdapterEinfluss eines Referenzbildes auf Stil oder KompositionRegionale Trennung; feste Identität, da IPAdapter den Gesamtstil beeinflusst
FaceID / LoRAKonsistente Identität oder konsistenter StilRegionale Prompts; Attributvermischung

Die praktische Reihenfolge lautet: regionale Prompts für die Position → OpenPose für die Pose → schwaches globales Conditioning für eine gemeinsame Stimmung. Positionen aus OpenPose, ControlNet oder IPAdapter müssen manuell an den Regionen ausgerichtet werden; „die Person links“ wird nicht automatisch gebunden.

Farbvermischung bei zweitem Pass, Upscale oder Inpaint

Fehlt beim zweiten Pass, Upscale oder bei der Gesichtsreparatur das regionale Conditioning, kann das Modell wieder globale Konsistenz anstreben und zuvor getrennte Haar- oder Kleidungsfarben mischen. Das Area-Composition-Beispiel warnt, dass Haarfarben ohne regionalen Prompt im zweiten Pass zusammengeführt werden können.

Entscheide, ob spätere Pässe das regionale Conditioning beibehalten oder lokales Inpaint geeigneter ist. Nach einer Trennung mit Set Area können die Regionen beim Upscale erneut gesetzt werden, damit globale Konsistenz die Motivtrennung nicht aufhebt.

Nächste Schritte und weiterführende Beiträge

Regionale Prompts sind nur ein Teil einer Komposition mit mehreren Motiven. Posensteuerung, Identitätskonsistenz, Referenzbilder und hochauflösende Reparaturen benötigen weitere Werkzeuge.

Veröffentlicht:

Eigene Beiträge behandeln IPAdapter, FaceID und Gesichtskonsistenz, LoRA-Training, hochauflösende Reparaturen und Inpainting. Zusammen mit regionalen Prompts verringern diese Werkzeuge die Unsicherheit in Szenen mit mehreren Motiven.

Linke und rechte Motivregionen mit Set Area erstellen

Teile eine 1024×768-Leinwand in zwei Hälften, weise jedem Motiv sein positives Conditioning zu und vereinheitliche die Stimmung mit einem schwachen globalen Conditioning.

⏱️ Estimated time: 20 min

  1. 1

    Step 1: Endgültige Leinwand festlegen

    Stelle den Latent oder Empty Latent Image auf 1024×768 ein und berechne alle Regionskoordinaten aus dieser endgültigen Größe.
  2. 2

    Step 2: Prompt für das linke Motiv schreiben

    Verwende ein eigenes CLIP Text Encode für das linke Motiv. Farbe, Kleidung und Frisur gehören nur in diesen lokalen Zweig.
  3. 3

    Step 3: Linke Region festlegen

    Verbinde das linke Conditioning mit ConditioningSetArea und nutze x=0, y=0, width=512, height=768 und strength=1.0.
  4. 4

    Step 4: Rechte Region festlegen

    Erstelle für das rechte Motiv ein zweites CLIP Text Encode und ConditioningSetArea mit x=512, y=0, width=512, height=768 und strength=1.0.
  5. 5

    Step 5: Lokale Conditionings kombinieren

    Führe beide mit Regionsdaten versehenen Conditionings über ConditioningCombine zusammen und verbinde die Ausgabe mit positive des KSampler.
  6. 6

    Step 6: Schwaches globales Conditioning hinzufügen

    Für einheitliches Licht oder einen gemeinsamen Hintergrund ergänzt du ein vollflächiges Conditioning mit strength 0.3-0.5, damit es die lokalen Zweige nicht überdeckt.
  7. 7

    Step 7: Posensteuerung ausrichten

    Ergänze für Positionen und Gesten von zwei Personen OpenPose, Depth oder Canny und richte die Pose manuell an den Regionen aus.
  8. 8

    Step 8: Spätere Sampling-Pässe prüfen

    Entscheide vor Upscale, zweitem Pass oder Inpaint, ob das regionale Conditioning erhalten bleibt, damit Farben und Attribute nicht wieder zusammenlaufen.

FAQ

Sind x, y, width und height Pixel oder Prozentwerte?
Das native ConditioningSetArea verwendet Pixelkoordinaten der endgültigen Leinwand. ConditioningSetAreaPercentage verwendet Werte von 0 bis 1.
Warum sollten Set-Area-Koordinaten Vielfache von 8 sein?
ComfyUI schreibt height, width, y und x jeweils nach Division durch 8 in den Latent-Bereich. Vielfache von 8 richten Grenzen am Latent-Raster aus.
Ist Cutoff ein Werkzeug für regionale Prompts?
Nein. Cutoff isoliert vor allem Beziehungen zwischen Token-Attributen wie Farben und Kleidung, nicht räumliche Koordinaten. Für Links-rechts-Regionen nutzt du Set Area oder RegionalPrompt.
Wann sollte ich RegionalPrompt statt Set Area verwenden?
Set Area eignet sich für einfache rechteckige Links-rechts- oder Oben-unten-Aufteilungen. RegionalPrompt und RegionalSampler aus Impact Pack passen zu komplexen Formen, vorhandenen Masken oder regionalem Sampling in jedem Schritt.
Wie stelle ich strength bei überlappenden Regionen ein?
Beginne bei lokalen Motiven mit 1.0 und bei globalen Hintergründen mit 0.3-0.5. Senke den sekundären Zweig bei stärkerer Überlappung und vergleiche mit festem Seed.
Warum ordnet der Prompt die zwei Personen in OpenPose nicht richtig zu?
OpenPose steuert die Pose, regionale Prompts die räumliche Zuordnung. Du musst beides manuell ausrichten; die Nodes wissen nicht automatisch, welches Skelett zu welcher Prompt-Region gehört.
Was tun bei roten oder fehlenden Nodes?
Installiere oder aktualisiere Impact Pack, Inspire Pack oder Cutoff über ComfyUI-Manager, starte neu und aktualisiere den Browser. Prüfe danach Workflow-Version und Python-Abhängigkeiten.

8 Min. Lesezeit · Veröffentlicht am: 28. Aug. 2026 · Aktualisiert am: 28. Aug. 2026

Kommentare

Melde dich mit GitHub an, um einen Kommentar zu hinterlassen

Easton BlogEaston Blog