Design wechseln

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

Easton editorial illustration: central orange ControlNet node with visible input and output sockets, three compact reference tiles showing a pose skeleton, Canny edges, and depth contours, one framed output portrait whose pose and composition match the reference tiles

"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.

ZielSteuerungPreprocessorHäufige SD1.5-Gewichte
Person in vorgegebener Pose erzeugenPosensteuerungOpenPose / DWPosecontrol_v11p_sd15_openpose
Linien der Referenz übernehmenKantensteuerungCannycontrol_v11p_sd15_canny
Räumliche Ebenen und Komposition bewahrenTiefensteuerungDepth (MiDaS / LeReS)control_v11f1p_sd15_depth
Handskizze als Vorgabe nutzenSkizzensteuerungScribblecontrol_v11p_sd15_scribble
Weiche Konturen bewahrenSoft-Edge-SteuerungSoftEdge (HED / PiDiNet)control_v11p_sd15_softedge

Bei der Wahl gelten zwei Punkte:

  1. 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.

  2. 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.

ParameterBereichStartwertWirkungTestmethode
strength0–101.0Einfluss der SteuerkarteSeed festhalten und von 1.0 aus leicht erhöhen oder senken; offiziell ist 0.5–1.5 ein üblicher Testbereich
start_percent0–10Startpunkt der ControlNet-WirkungPose und Komposition zunächst ab 0 steuern und erst nach erfolgreicher Basis verzögern
end_percent0–11Endpunkt der ControlNet-WirkungBei 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, CLIP und VAE fü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_NET spä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:

  1. Positive und negative Conditionings laufen beide durch Apply ControlNet bis zum nächsten Knoten.
  2. Der Eingang image erhält die vorverarbeitete Karte.
  3. 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

PreprocessorHäufige SD1.5-GewichteAuswahl für SDXLAuswahl für FLUX
Cannycontrol_v11p_sd15_cannySDXL-Gewichte mit ausdrücklich unterstützter Canny-KarteFür das Ziel-FLUX-Modell dokumentierte Canny-Gewichte
OpenPose / DWPosecontrol_v11p_sd15_openposeSDXL-Gewichte mit ausdrücklich unterstützten Posen-KeypointsFür das Ziel-FLUX-Modell dokumentierte Pose-Gewichte
Depth (MiDaS / LeReS)control_v11f1p_sd15_depthSDXL-Gewichte mit ausdrücklich unterstützter TiefenkarteFür das Ziel-FLUX-Modell dokumentierte Depth-Gewichte
Scribblecontrol_v11p_sd15_scribbleSDXL-Gewichte mit ausdrücklich unterstützter Scribble-KarteIm Modellhinweis prüfen; nicht jedes Union-Modell unterstützt Scribble
SoftEdge (HED / PiDiNet)control_v11p_sd15_softedgeSDXL-Gewichte mit ausdrücklich unterstützter SoftEdge-KarteModellhinweis 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

BasismodellControlNet-AuswahlVerzeichnisHinweis
SD1.5control_v11*_sd15_* ist eine häufige FamilieComfyUI/models/controlnetsd15 kennzeichnet SD1.5 und nicht SDXL
SDXLAusdrücklich für SDXL markierte GewichteComfyUI/models/controlnetFür denselben Steuerungstyp gibt es mehrere Implementierungen; Modellhinweis beachten
FLUXMit dem Ziel-FLUX-Modell kompatibles ControlNet- oder Union-ModellComfyUI/models/controlnetKnoten, 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.

  1. Erstes ControlNet:

    • OpenPose-Gewichte und eine Posenkarte laden.
    • strength=1.0, start_percent=0, end_percent=0.7 testen.
  2. Zweites ControlNet:

    • Depth-Gewichte und eine Tiefenkarte laden.
    • Niedriger beginnen, etwa mit strength=0.6, start_percent=0, end_percent=0.6.
  3. 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_percent zunä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:

  1. Zwei Steuerungen desselben Typs sind nicht verboten, doch Karten derselben Struktur erhöhen oft Konflikt und Aufwand.
  2. Ergänzende Signale wie OpenPose + Depth oder OpenPose + Canny bevorzugen.
  3. Seed fixieren und einzelne mit kombinierten Steuerungen vergleichen.
  4. Nicht mit zwei hohen strength-Werten beginnen.
  5. Jeweils nur einen Parameter ändern und den reproduzierbaren Workflow speichern.
  6. Zweites ControlNet erst ergänzen, wenn das erste sichtbar wirkt.

Checkliste zur Fehlersuche

ProblemWahrscheinliche UrsachePrüfung
Bild sieht ohne ControlNet gleich ausKarte nicht verbunden, strength nahe 0, KSampler nutzt Original-Conditioning oder falsche ArchitekturKarte ansehen; image- und Conditioning-Kette prüfen; festen Seed vergleichen; Kompatibilität kontrollieren
Pose oder Linien stimmen nichtFalscher Preprocessor, fehlende Struktur oder zu geringer EinflussSkelett/Kanten prüfen; DWPose- oder Canny-Einstellungen testen; strength schrittweise erhöhen
Bild ist starr oder verzerrtZu hohe Stärke, verrauschte Karte oder Steuerung bis zum Endestrength senken; Karte bereinigen; end_percent von 1 auf 0.8 oder weniger setzen
Preprocessor fehltCustom Node nicht installiert oder Abhängigkeit konnte nicht ladencomfyui_controlnet_aux im Manager installieren; neu starten; Importfehler im Startprotokoll prüfen
SDXL-/FLUX-Gewichte laden nicht oder wirken nichtGewichte passen nicht zu Architektur oder KnotenBasismodell, Knoten und Beispiel-Workflow im Modellhinweis prüfen; nicht nur Dateinamen vertrauen
Apply ControlNet(Old) fehltVeralteter Knoten ist standardmäßig verborgenStandard-Apply-ControlNet verwenden; veraltete Knoten nur für alte Workflows einblenden
Mehrere ControlNets widersprechen sichKarten widersprechen sich, Nebensteuerung zu stark oder mehrere Werte zugleich geändertEinzeln testen; Seed fixieren; Nebensteuerung senken; Wirkbereich verkürzen; einen Wert ändern
Parameteränderung ist unsichtbarSeed ändert sich, Karte enthält wenig Struktur oder Pfad umgeht ControlNetSeed 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:

Einen einfachen ControlNet-Workflow in ComfyUI bauen

Vom Basismodell und Referenzbild zur vorverarbeiteten Strukturvorgabe im Sampling-Pfad.

  1. 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. 2

    Step 2: Referenz laden und vorverarbeiten

    Erzeuge mit OpenPose, Canny oder Depth eine Posen-, Kanten- oder Tiefenkarte.
  3. 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. 4

    Step 4: Apply ControlNet verbinden

    Verbinde positive, negative, control_net und das vorverarbeitete image und leite das Conditioning an KSampler weiter.
  5. 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. 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?
Beide wandeln eine Person in eine Keypoint-Steuerkarte um. DWPose liefert häufig vollständigere Körper-, Hand- und Gesichtspunkte; für eine grobe Ganzkörperpose reicht oft OpenPose. Prüfe trotzdem im Modellhinweis, welches Eingabeformat erwartet wird.
Welcher strength-Wert ist für ControlNet sinnvoll?
Beginne bei gleichem Seed ungefähr mit 1.0. Erhöhe schrittweise bei zu schwacher Vorgabe und senke bei starren oder verzerrten Bildern. Die offizielle Knotendokumentation nennt 0.5–1.5 als üblichen Testbereich, nicht als universell sicheren Bereich.
Was bedeuten start_percent und end_percent?
Sie definieren den Abschnitt des Diffusionsprozesses, in dem ControlNet aktiv ist. 0.0–0.8 bedeutet vom Start bis 80 %. Posen und Komposition beginnen meist bei 0; ein früheres Ende gibt späten Details mehr Freiheit.
Kann ich mehrere ControlNets verwenden?
Ja. Verbinde positive und negative Ausgänge eines Apply-ControlNet-Knotens mit den gleichnamigen Eingängen des nächsten und leite die letzten Ausgänge an den Sampler weiter. Prüfe vorher jede Steuerung einzeln.
Welches ControlNet passt zu FLUX?
Nutze Gewichte, deren Kompatibilität mit deinem FLUX-Basismodell und dem aktuellen ComfyUI-Workflow ausdrücklich dokumentiert ist. Union-Modelle sind eine Option; Modi, Knoten und Stärkebereiche hängen jedoch vom jeweiligen Modell ab.

8 Min. Lesezeit · Veröffentlicht am: 19. Juli 2026 · Aktualisiert am: 19. Juli 2026

Kommentare

Melde dich mit GitHub an, um einen Kommentar zu hinterlassen

Easton BlogEaston Blog