Farbverlaufen in ComfyUI stoppen: Prompt-Gewichte, Conditioning Concat und Conditioning Average

Bitte um eine weiße Vase mit roten Blumen, und das Rot sickert in die Vase und den Hintergrund. Hier steht, warum, und wie du mit Gewichten, Conditioning (Concat) und ConditioningAverage jeden Teil des Prompts getrennt hältst.

Anton Tenitsky13. Oktober 20265 Min. LesezeitVideoversion unten

Diese Anleitung wurde mit KI aus dem Englischen übersetzt und kann Fehler enthalten. Zum Original.

Zwei Prompts, gold crown und white skull isolated, durch einen Node Conditioning (Concat) verbunden, mit weißen Totenköpfen mit sauberen goldenen Kronen in der Warteschlange

Bitte Stable Diffusion um „a white vase with red flowers“, und oft bekommst du etwas anderes: weiße Blumen, einen rosa Hintergrund, einen roten Tisch. Die Farben verlaufen ineinander, weil sich jedes Wort im Prompt dasselbe Conditioning teilt. ComfyUI hat einige Wege, sie getrennt zu halten. Hier gehe ich von einfachen Prompt-Gewichten zu zwei Conditioning-Nodes, die viel vorhersehbarere Ergebnisse liefern.

Kurz gefasst

  • Gewichte: (red:1.5) macht ein Wort stärker. Bleib zwischen etwa 0,5 und 1,5.
  • Zufallsauswahl: {red|blue|yellow|pink} wählt eine Option pro Bild, aber die Farben verlaufen trotzdem.
  • Conditioning (Concat): ein Prompt pro Objekt, aneinandergehängt. Die Farben bleiben, wo sie hingehören.
  • ConditioningAverage: mischt zwei Prompts; der Stärke-Regler legt das Gleichgewicht fest.

Wenn du neu bei ComfyUI bist, beginne mit ComfyUI-Node-Grundlagen und Text-zu-Bild.

Einrichtung

Beginne mit Workflow → Browse Templates → Image generation. Als Checkpoint nutze ich epiCPhotoGasm, ein SD-1.5-Modell mit realistischeren Bildern. Mein Test-Prompt ist „white vase with red flowers“. Drücke Strg+Enter zum Ausführen und Q, um frühere Ergebnisse im Warteschlangen-Panel zu zeigen. Die Batch-Anzahl neben der Queue-Schaltfläche legt fest, wie viele Bilder jeder Durchlauf erzeugt.

Ein Wort gewichten

Setze das Wort mit einem Doppelpunkt und einem Wert in Klammern: white vase with (red:1.5) flowers. Das macht das Rot röter. Du kannst das Wort auch auswählen und Strg+Hoch oder Strg+Runter drücken, um den Wert in kleinen Schritten zu ändern. Die Community-Dokumentation zu ComfyUI erklärt die vollständige Syntax, einschließlich Verschachtelung und der Auswahlen mit {a|b} unten. Halte die Werte zwischen etwa 0,5 und 1,5.

Ein Prompt mit dem Text white vase with (red:2.2) flowers, mit Ergebnissen, bei denen sich das Rot auf einen roten Tisch ausbreitet
Bei 2,2 geht das Rot zu weit: Es breitet sich auf den Tisch aus und fügt Artefakte hinzu.

Ich habe höhere Werte probiert. Bei 2,2 wurde es viel zu rot und führte Artefakte ein.

Zufällige Optionen, und wo das Verlaufen auftritt

Geschweifte Klammern mit durch | getrennten Optionen wählen für jedes Bild eine zufällig aus: white vase with {red|blue|yellow|pink} flowers. Führe einen Batch mit vier aus, und du bekommst verschiedene Farben. Es gibt keine echte Schleife durch die Liste; es ist zufällig. (Um Prompts der Reihe nach zu durchlaufen, siehe meinen Prompt-Cycler-Node.)

Ein Node CLIP Text Encode mit dem Prompt white vase with {red|blue|yellow|pink} flowers
Geschweifte Klammern: Pro Bild wird zufällig eine Farbe gewählt.

Hier wird das Problem offensichtlich. Das Modell berechnet die Farben gemeinsam und vermischt sie über das Bild: blaue und weiße Blumen, ein Hintergrund, der blau oder rosa wird. Es gibt keine Kontrolle darüber, wohin welche Farbe geht.

Conditioning (Concat): ein Prompt pro Objekt

Um diese Kontrolle zu erzwingen, teile den Prompt auf:

  1. Füge ein zweites CLIP Text Encode hinzu und verbinde das clip des Checkpoints.
  2. Füge Conditioning (Concat) hinzu. Verbinde die beiden Prompts mit seinen Eingängen conditioning_to und conditioning_from und seinen Ausgang mit dem Eingang positive des KSampler.
  3. Setze white vase in einen Prompt und red flowers in den anderen.

Concat ist die Abkürzung für Konkatenation: Stücke nebeneinanderlegen, ohne sie zu verschmelzen. „Snow“ und „ball“ werden zu „snowball“; die Zahlen 3, 5, 7, 8 werden zum String „3,5,7,8“, nicht zu ihrer Summe. Die Prompts bleiben getrennt, sodass das Rot nicht in einen rosa Hintergrund oder einen roten Tisch überläuft.

Eine klare Glasvase mit roten Tulpen vor einer schlichten weißen Wand, mit verketteten Prompts erzeugt
Verkettete Prompts: rote Blumen und ein sauberer Hintergrund. Hier wurde die Vase durchsichtig.

In einem Batch mit vier bekam ich meist rote Blumen in einer Vase auf sauberem Hintergrund. Manchmal gab es einen Glitch zu einem Blumenfeld oder die Vase wurde durchsichtig. transparency zum negativen Prompt hinzuzufügen, stoppte die meisten durchsichtigen Vasen, aber nicht jedes Mal.

Wenn alles in einem Prompt steht, verteilt sich das Gewicht auf alle Tokens, sodass du rote und weiße Blumen vermischt bekommst. Manchmal funktioniert das, aber es ist unvorhersehbar.

Einen dritten Prompt hinzufügen

Kopiere einen Prompt-Node mit Strg+C, Strg+Umschalt+V (Einfügen mit seinen Verbindungen) und verkette einen zweiten Concat-Node: die Ausgabe des ersten Concat plus einen dritten Prompt, black background, in den positiven Eingang des KSampler.

Drei Prompts, white vase, red flowers und black background, durch Conditioning-Concat-Nodes verkettet, mit roten Blumen in Vasen auf Schwarz in der Warteschlange
Drei Prompts, drei Konzepte: Die Farben bleiben meist, wo sie hingehören.

Nach dem Korrigieren eines Tippfehlers bekam ich weiße Vasen mit roten Blumen auf schwarzem Hintergrund. Es gibt ab und zu noch Glitches (eine Vase kam schwarz heraus), aber insgesamt werden die Prompts weit vorhersehbarer, und du suchst aus, was passt. Ohne das vermischen sich die Farben überall.

ConditioningAverage: ein Regler zwischen zwei Prompts

ConditioningAverage nimmt dieselben beiden Eingänge und mischt sie. Sein conditioning_to_strength legt das Gleichgewicht fest:

  • Bei 1,0: überwiegend rote Blumen, die stärkere Seite.
  • Bei 0,5: ein ausgewogenes Bild einer weißen Vase mit roten Blumen.
  • Bei etwa 0,21: weiße Blumen in einer weißen Vase.
ConditioningAverage bei Stärke 0,53, das gold crown und white skull mischt, mit Ergebnissen von einem Totenkopf mit Goldkrone bis zu einer Frau mit goldenem Kopfschmuck
Average bei 0,53: ein goldener Totenkopf mit Krone, eine Schaufensterpuppe und eine Frau, die niemand bestellt hat.

Mit „white skull“ und „gold crown“ und man, woman, female, male im negativen Prompt bekam ich trotzdem einige Personen. Bei einem niedrigen Wert nahm es überwiegend den weißen Totenkopf und nichts von der Krone. Höher wurde alles golden, der Totenkopf eingeschlossen, oder es zeigte nur die Krone. Irgendwo dazwischen bekam ich einen goldenen Totenkopf mit goldener Krone und einen Glitch: eine Frau mit so etwas wie einem Totenkopf obenauf. Ich verändere diese Werte sehr gern; die zufälligen Ergebnisse können faszinierend sein. Etwas mehr Prompt-Arbeit („white skull isolated“, plus face im negativen) zeigte weniger Gesichter.

Für saubere Ergebnisse nimm Concat

Für diese Art von Prompt funktioniert Concat viel besser. Mit gold crown und white skull isolated, verbunden durch Conditioning (Concat), hörte das Gold auf, mit dem Totenkopf zu verschmelzen.

Verkettete Prompts gold crown und white skull isolated, mit sauberen weißen Totenköpfen mit goldenen Kronen
Concat: ein weißer Totenkopf und eine goldene Krone, ohne dass Gold in den Knochen verläuft.

Ich habe das Bild ausgewählt, das mir gefiel, und es mit dem Workflow aus kostenloses KI-Upscaling mit SD 1.5 viermal hochskaliert.

Die Videoversion ansehen (7:46)

Alles oben steht auch im Video, falls du lieber am Bildschirm mitmachst. Das Video ist auf Englisch.

Häufige Fragen

Was ist Farbverlaufen bei Stable Diffusion?

Wenn ein Prompt mehrere Farben oder Materialien nennt, vermischt das Modell sie: Eine „white vase with red flowers“ kann mit weißen Blumen, einem rosa Hintergrund oder einem roten Tisch herauskommen. Die Wörter teilen sich ein Conditioning, daher breitet sich ihr Einfluss über das Bild aus.

Wie ändere ich das Gewicht eines Wortes in einem ComfyUI-Prompt?

Setze es mit einem Wert in Klammern, wie (red:1.5), oder wähle das Wort aus und drücke Strg+Hoch / Strg+Runter. Werte zwischen etwa 0,5 und 1,5 sind sicher; bei 2,2 wurde das Bild viel zu rot und bekam Artefakte.

Was ist der Unterschied zwischen Conditioning Concat und Conditioning Average?

Concat behält die Prompts als getrennte Stücke nebeneinander, sodass sie sich nicht vermischen. Average mischt sie, und sein Stärke-Regler entscheidet, welcher Prompt dominiert.

Anton Tenitsky ist 3D-Artist mit mehr als 15 Jahren Erfahrung in der Computergrafik, tätig für Nickelodeon, Gameloft, Marvel Rivals und viele weitere Kunden. Mehr über mich

Ähnliche Anleitungen