ControlNet in ComfyUI: Posen und Bildaufbau mit OpenPose, Canny und Depth steuern

"Die offizielle ComfyUI-Dokumentation zu Apply ControlNet beschreibt Eingänge, strength-Bereich sowie start_percent und end_percent."
Ein Referenzbild soll Pose, Linien und Bildaufbau vorgeben. Das Ergebnis weicht trotzdem ab: Gliedmaßen verschieben sich, Konturen werden unscharf und die Komposition verändert sich.
Für solche strukturellen Vorgaben ist ControlNet gedacht. OpenPose steuert Posen, Canny liefert Kanten und Depth bewahrt räumliche Beziehungen. Danach bleiben drei praktische Fragen: Welcher strength-Wert passt, was bedeuten start_percent und end_percent, und wie vermeidest du Konflikte zwischen mehreren Steuerungen?
Wähle zuerst Preprocessor und Gewichte nach dem Steuerungsziel. Passe dann Stärke und Wirkbereich an. Bleibt das Ergebnis falsch, prüfe nacheinander die Knotenverbindungen, die Basismodell-Kompatibilität und konkurrierende Signale.
Schnellwahl nach Steuerungsziel
Entscheidend ist zunächst nicht der strength-Wert, sondern welche Struktur erhalten bleiben soll.
| Ziel | Steuerung | Preprocessor | Häufige SD1.5-Gewichte |
|---|---|---|---|
| Person in vorgegebener Pose erzeugen | Posensteuerung | OpenPose / DWPose | control_v11p_sd15_openpose |
| Linien der Referenz übernehmen | Kantensteuerung | Canny | control_v11p_sd15_canny |
| Räumliche Ebenen und Komposition bewahren | Tiefensteuerung | Depth (MiDaS / LeReS) | control_v11f1p_sd15_depth |
| Handskizze als Vorgabe nutzen | Skizzensteuerung | Scribble | control_v11p_sd15_scribble |
| Weiche Konturen bewahren | Soft-Edge-Steuerung | SoftEdge (HED / PiDiNet) | control_v11p_sd15_softedge |
Bei der Wahl gelten zwei Punkte:
-
OpenPose und DWPose erzeugen Posen-Keypoints. DWPose liefert häufig mehr Punkte für Körper, Hände und Gesicht und lohnt sich bei Gesten oder Gesichtskonturen.
-
Die Preprocessor-Ausgabe muss zu den ControlNet-Gewichten passen. Eine OpenPose-Karte braucht ein Posenmodell. Stimmen Karte, Modell oder Basisarchitektur nicht überein, bleibt die Wirkung gering oder der Workflow meldet einen Fehler.
Gewichte liegen normalerweise unter ComfyUI/models/controlnet. Starte ComfyUI neu oder aktualisiere die Modellliste und wähle sie in Load ControlNet Model.
ControlNet-Parameter im Überblick
strength, start_percent und end_percent bestimmen Einfluss und Zeitpunkt. Nutze die offiziellen Grenzen und die folgenden Startwerte als reproduzierbare Basis.
| Parameter | Bereich | Startwert | Wirkung | Testmethode |
|---|---|---|---|---|
strength | 0–10 | 1.0 | Einfluss der Steuerkarte | Seed festhalten und von 1.0 aus leicht erhöhen oder senken; offiziell ist 0.5–1.5 ein üblicher Testbereich |
start_percent | 0–1 | 0 | Startpunkt der ControlNet-Wirkung | Pose und Komposition zunächst ab 0 steuern und erst nach erfolgreicher Basis verzögern |
end_percent | 0–1 | 1 | Endpunkt der ControlNet-Wirkung | Bei zu starren Ergebnissen 0.8 oder weniger testen, damit späte Details freier werden |
start_percent und end_percent verstehen
Die Werte beschreiben ein Intervall, keine Wartezeit. Bei start_percent=0.2 und end_percent=0.8 wirkt ControlNet nur während 20 %–80 % des Diffusionsprozesses. Das erste und letzte Fünftel bleiben unbeeinflusst.
Große Strukturen wie Pose und Komposition entstehen früh. Für eine stabile Pose beginnt die Steuerung daher meist bei 0. Ist das Ergebnis zu starr, behalte start_percent=0 und senke end_percent von 1 auf 0.8.
Der volle Bereich (start_percent=0, end_percent=1) ist eine klare Vergleichsbasis. Bestätige zuerst die Wirkung und ändere anschließend immer nur einen Wert.
Den passenden strength-Wert wählen
strength regelt den Einfluss. Bei 0 ist diese Steuerung deaktiviert. Höhere Werte erzwingen die Karte meist stärker, doch verschiedene Basismodelle und Implementierungen reagieren unterschiedlich.
Starte um 1.0. Erhöhe in kleinen Schritten, wenn die Karte ignoriert wird, und senke bei steifer Anatomie, deformierten Linien oder verlorenen Details. 0.5–1.5 ist laut offizieller Dokumentation ein vernünftiger Testbereich, aber kein allgemeiner Sicherheitsbereich.
Workflow aufbauen
Die Kernkette lautet: Basis- und ControlNet-Modell laden, Referenz vorverarbeiten, die Steuerung auf positive und negative Conditionings anwenden und die Ergebnisse an KSampler schicken.
Schritt 1: Basismodell laden
Knoten: Load Checkpoint
- Wähle den Stable-Diffusion-Checkpoint.
- Halte fest, ob er SD1.5, SDXL oder eine andere Architektur nutzt; ControlNet muss dazu passen.
- Verwende
MODEL,CLIPundVAEfür den normalen Text-zu-Bild-Graphen.
Schritt 2: ControlNet-Modell laden
Knoten: Load ControlNet Model
- Wähle Gewichte, die zur Basisarchitektur und zum Typ der Steuerkarte passen.
- Verbinde den Ausgang
CONTROL_NETspäter mit Apply ControlNet.
Schritt 3: Referenz laden und vorverarbeiten
Knoten: Load Image plus ein Preprocessor wie OpenPose Preprocessor.
Load Image: Referenzbild hochladen.- Preprocessor: Referenz in Posen-, Kanten- oder Tiefenkarte umwandeln.
- Comfy Core enthält nicht alle Preprocessor. Installiere bei Bedarf
comfyui_controlnet_auxüber ComfyUI Manager.
ControlNet liest die vorverarbeitete Strukturkarte. Prüfe ihre Vorschau, damit fehlende Gliedmaßen, unterbrochene Kanten oder flache Tiefen nicht erst später auffallen.
Schritt 4: Apply ControlNet verbinden
Knoten: Apply ControlNet
control_net: von Load ControlNet Model.image: vom Preprocessor, nicht vom unverarbeiteten Bild.positive: vom positiven Prompt-Conditioning.negative: vom negativen Prompt-Conditioning.strength: zunächst 1.0.start_percent: zunächst 0.end_percent: zunächst 1.
Apply ControlNet gibt neue positive und negative Conditionings aus. Leite beide an KSampler. Erhält der Sampler weiterhin die ursprünglichen Conditionings, liegt ControlNet außerhalb des Sampling-Pfads.
Schritt 5: Erzeugen und vergleichen
Knoten: KSampler
model: von Load Checkpoint.positive/negative: von Apply ControlNet.latent_image: von Empty Latent Image oder einer anderen Latent-Quelle.- Fixiere den Seed für Vergleiche mit und ohne Steuerung, sonst verdeckt die Zufallsvariation die Wirkung.
Prüfe vor der Abstimmung drei Verbindungen:
- Positive und negative Conditionings laufen beide durch Apply ControlNet bis zum nächsten Knoten.
- Der Eingang
imageerhält die vorverarbeitete Karte. Apply ControlNet(Old)aus frühen Workflows ist veraltet; verwende den aktuellen Standardknoten.
Basismodell korrekt zuordnen
ControlNet-Implementierungen für SD1.5, SDXL und FLUX sind nicht austauschbar. Bestimme das Basismodell und verwende nur ausdrücklich kompatible Gewichte und Workflows.
Preprocessor und Modellkompatibilität
| Preprocessor | Häufige SD1.5-Gewichte | Auswahl für SDXL | Auswahl für FLUX |
|---|---|---|---|
| Canny | control_v11p_sd15_canny | SDXL-Gewichte mit ausdrücklich unterstützter Canny-Karte | Für das Ziel-FLUX-Modell dokumentierte Canny-Gewichte |
| OpenPose / DWPose | control_v11p_sd15_openpose | SDXL-Gewichte mit ausdrücklich unterstützten Posen-Keypoints | Für das Ziel-FLUX-Modell dokumentierte Pose-Gewichte |
| Depth (MiDaS / LeReS) | control_v11f1p_sd15_depth | SDXL-Gewichte mit ausdrücklich unterstützter Tiefenkarte | Für das Ziel-FLUX-Modell dokumentierte Depth-Gewichte |
| Scribble | control_v11p_sd15_scribble | SDXL-Gewichte mit ausdrücklich unterstützter Scribble-Karte | Im Modellhinweis prüfen; nicht jedes Union-Modell unterstützt Scribble |
| SoftEdge (HED / PiDiNet) | control_v11p_sd15_softedge | SDXL-Gewichte mit ausdrücklich unterstützter SoftEdge-Karte | Modellhinweis und Workflow auf den passenden Soft-Edge-Eingang prüfen |
Union-Modelle bündeln mehrere Steuerungsmodi in einem Gewichtssatz und sind eine mögliche FLUX-Lösung. Unterstützte Modi, Knoten und sinnvolle Stärken hängen vom konkreten Modell und seiner Workflow-Version ab.
Kompatibilitätstabelle der Basismodelle
| Basismodell | ControlNet-Auswahl | Verzeichnis | Hinweis |
|---|---|---|---|
| SD1.5 | control_v11*_sd15_* ist eine häufige Familie | ComfyUI/models/controlnet | sd15 kennzeichnet SD1.5 und nicht SDXL |
| SDXL | Ausdrücklich für SDXL markierte Gewichte | ComfyUI/models/controlnet | Für denselben Steuerungstyp gibt es mehrere Implementierungen; Modellhinweis beachten |
| FLUX | Mit dem Ziel-FLUX-Modell kompatibles ControlNet- oder Union-Modell | ComfyUI/models/controlnet | Knoten, Modi und Stärke sind modellspezifisch; SD1.5-Werte nicht übernehmen |
Basismodell auswählen
Wenn das Basismodell noch offen ist, hilft der Leitfaden zur Auswahl eines Stable-Diffusion-Modells. Dort werden Eigenschaften und Ressourcen verglichen; hier geht es nur um ControlNet-Kompatibilität.
Speicherort der Modelldatei
ControlNet-Gewichte gehören normalerweise nach ComfyUI/models/controlnet. Starte ComfyUI nach dem Download neu oder aktualisiere die Liste und wähle sie in Load ControlNet Model.
Bei vielen Dateien kannst du unterstützte Unterordner verwenden. Bewahre vor allem Quelle und Link zur Modellbeschreibung auf; ein selbst gesetztes Präfix beweist keine Kompatibilität.
Mehrere ControlNets abstimmen
Für Pose und Komposition zugleich lassen sich Apply-ControlNet-Knoten verketten. Prüfe jedes ControlNet vorher einzeln, damit sich zwei Fehler nicht in einem Graphen überlagern.
Apply-ControlNet-Knoten verketten
Verbinde die positiven und negativen Ausgänge des ersten Knotens mit den gleichnamigen Eingängen des zweiten.
-
Erstes ControlNet:
- OpenPose-Gewichte und eine Posenkarte laden.
strength=1.0,start_percent=0,end_percent=0.7testen.
-
Zweites ControlNet:
- Depth-Gewichte und eine Tiefenkarte laden.
- Niedriger beginnen, etwa mit
strength=0.6,start_percent=0,end_percent=0.6.
-
Reihenfolge:
- Prompt-Conditioning → erstes Apply ControlNet → zweites Apply ControlNet → KSampler.
- Positive und negative Kette verwenden dieselbe Reihenfolge.
Die Werte sind Startpunkte zur Fehlersuche, keine Optima. Pose und Tiefe beschreiben frühe Großstrukturen; beginne beide bei 0 und trenne ihre Rollen über Stärke und Endpunkt.
Regeln für die Abstimmung
Beginne mit Priorität und Wirkbereich.
Priorität festlegen:
- Hauptsteuerung um 1.0 testen.
- Nebensteuerung niedriger starten, etwa bei 0.5–0.7.
- Zieht das Bild in verschiedene Richtungen, zuerst die Nebensteuerung senken statt beide zu erhöhen.
Wirkbereich festlegen:
- Komposition und Pose brauchen frühen Einfluss;
start_percentzunächst bei 0 lassen. - Verschiedene
end_percent-Werte nutzen, zum Beispiel 0.7 für die Haupt- und 0.6 für die Nebensteuerung. - Für freiere späte Details früher beenden, statt die Steuerung beliebig in die zweite Hälfte zu verschieben.
Prüfe anschließend:
- Zwei Steuerungen desselben Typs sind nicht verboten, doch Karten derselben Struktur erhöhen oft Konflikt und Aufwand.
- Ergänzende Signale wie OpenPose + Depth oder OpenPose + Canny bevorzugen.
- Seed fixieren und einzelne mit kombinierten Steuerungen vergleichen.
- Nicht mit zwei hohen strength-Werten beginnen.
- Jeweils nur einen Parameter ändern und den reproduzierbaren Workflow speichern.
- Zweites ControlNet erst ergänzen, wenn das erste sichtbar wirkt.
Checkliste zur Fehlersuche
| Problem | Wahrscheinliche Ursache | Prüfung |
|---|---|---|
| Bild sieht ohne ControlNet gleich aus | Karte nicht verbunden, strength nahe 0, KSampler nutzt Original-Conditioning oder falsche Architektur | Karte ansehen; image- und Conditioning-Kette prüfen; festen Seed vergleichen; Kompatibilität kontrollieren |
| Pose oder Linien stimmen nicht | Falscher Preprocessor, fehlende Struktur oder zu geringer Einfluss | Skelett/Kanten prüfen; DWPose- oder Canny-Einstellungen testen; strength schrittweise erhöhen |
| Bild ist starr oder verzerrt | Zu hohe Stärke, verrauschte Karte oder Steuerung bis zum Ende | strength senken; Karte bereinigen; end_percent von 1 auf 0.8 oder weniger setzen |
| Preprocessor fehlt | Custom Node nicht installiert oder Abhängigkeit konnte nicht laden | comfyui_controlnet_aux im Manager installieren; neu starten; Importfehler im Startprotokoll prüfen |
| SDXL-/FLUX-Gewichte laden nicht oder wirken nicht | Gewichte passen nicht zu Architektur oder Knoten | Basismodell, Knoten und Beispiel-Workflow im Modellhinweis prüfen; nicht nur Dateinamen vertrauen |
| Apply ControlNet(Old) fehlt | Veralteter Knoten ist standardmäßig verborgen | Standard-Apply-ControlNet verwenden; veraltete Knoten nur für alte Workflows einblenden |
| Mehrere ControlNets widersprechen sich | Karten widersprechen sich, Nebensteuerung zu stark oder mehrere Werte zugleich geändert | Einzeln testen; Seed fixieren; Nebensteuerung senken; Wirkbereich verkürzen; einen Wert ändern |
| Parameteränderung ist unsichtbar | Seed ändert sich, Karte enthält wenig Struktur oder Pfad umgeht ControlNet | Seed und Sampler festhalten; Karte ansehen; Quellen von positive und negative am KSampler prüfen |
Nächste Schritte
ControlNet steuert Strukturen, die sich mit Prompts nicht präzise festlegen lassen. Wenn der Grundgraph funktioniert, helfen diese Beiträge weiter:
- ComfyUI installieren und Oberfläche kennenlernen: Einstieg bei fehlender Installation oder unbekannter Oberfläche.
- ComfyUI-Workflows wiederverwenden und reparieren: speichern, laden und fehlende Knoten beheben.
- Prompt-Vorlagen für Stable Diffusion erstellen: ControlNet für Struktur, Prompts für Motiv, Stil und Details verwenden.
Einen einfachen ControlNet-Workflow in ComfyUI bauen
Vom Basismodell und Referenzbild zur vorverarbeiteten Strukturvorgabe im Sampling-Pfad.
- 1
Step 1: Architektur des Basismodells bestimmen
Prüfe, ob der Checkpoint SD1.5, SDXL oder FLUX verwendet, und wähle ausdrücklich kompatible ControlNet-Gewichte. - 2
Step 2: Referenz laden und vorverarbeiten
Erzeuge mit OpenPose, Canny oder Depth eine Posen-, Kanten- oder Tiefenkarte. - 3
Step 3: ControlNet-Gewichte laden
Lege sie unter ComfyUI/models/controlnet ab und wähle in Load ControlNet Model die zum Preprocessor passenden Gewichte. - 4
Step 4: Apply ControlNet verbinden
Verbinde positive, negative, control_net und das vorverarbeitete image und leite das Conditioning an KSampler weiter. - 5
Step 5: Mit festem Seed abstimmen
Teste zuerst strength 1.0, start_percent 0 und end_percent 1 und ändere danach jeweils nur einen Wert. - 6
Step 6: Vor dem Verketten einzeln prüfen
Bestätige jede Steuerung separat, bestimme Haupt- und Nebensteuerung und reduziere Stärke oder Wirkbereich der Nebensteuerung.
FAQ
Worin unterscheiden sich OpenPose und DWPose?
Welcher strength-Wert ist für ControlNet sinnvoll?
Was bedeuten start_percent und end_percent?
Kann ich mehrere ControlNets verwenden?
Welches ControlNet passt zu FLUX?
8 Min. Lesezeit · Veröffentlicht am: 19. Juli 2026 · Aktualisiert am: 19. Juli 2026
ComfyUI & Stable Diffusion Praxisleitfaden
Wenn du über die Suche hier gelandet bist, kommst du am schnellsten weiter, indem du zum vorherigen oder nächsten Beitrag dieser Serie springst.
Vorheriger
Stable Diffusion Prompt-Vorlagen: Leitfaden für Produktbilder, Avatare, Poster und Game-Assets
Sie wissen nicht, wie Sie Stable-Diffusion-Prompt-Vorlagen schreiben sollen? Dieser Leitfaden zerlegt Produktbilder, Avatare, Poster und Game-Assets in positive Prompts, Negative Prompts, Gewichtung, ComfyUI-Iteration und Commercial-Checks.
Teil 4 von 5
Nächster
Dies ist bisher der neueste Beitrag dieser Serie.



Kommentare
Melde dich mit GitHub an, um einen Kommentar zu hinterlassen