Węzeł Apply ControlNet w ComfyUI
Apply ControlNet dołącza obraz przewodni i załadowany ControlNet do pozytywnego i negatywnego CONDITIONING z określoną siłą oraz procentami startu i końca, dzięki czemu sampler podąża za krawędziami, głębią lub pozą z przewodnika.
Co robi Apply ControlNet
Apply ControlNet (nowszy ControlNetApplyAdvanced, pokazany jako Apply ControlNet) przyjmuje pozytywne i negatywne conditioning, CONTROL_NET, przetworzony obraz przewodni oraz w nowszych wersjach VAE. Zwraca nowe conditioning, które przekazuje sygnał kontrolny do samplera. strength skaluje wpływ (1.0 to pełny), start_percent i end_percent ograniczają kontrolę do części procesu próbkowania, np. 0.0-0.6, więc kompozycja jest ustalana na początku, a model swobodnie dopracowuje szczegóły.
Obraz przewodni musi być już w formie, jakiej oczekuje ControlNet: ControlNet Canny chce białe krawędzie na czarnym tle, ControlNet Depth wymaga szarej mapy głębi, OpenPose potrzebuje kolorowego szkieletu. Preprocesory z pakietu ControlNet Aux tworzą to z fotografii. Dla Tile ControlNet przewodnikiem jest sam obraz, często rozmyty lub zmniejszony.
Wejścia
Nazwa | Typ | Co to jest |
|---|---|---|
positive / negative | CONDITIONING | Z węzłów CLIP Text Encode. |
control_net | CONTROL_NET | Z Load ControlNet Model. |
image | IMAGE | Przetworzony obraz przewodni (krawędzie, głębia, poza lub obraz dla Tile). |
vae | VAE | Opcjonalne w nowszych wersjach; wymagane przez niektóre ControlNet Flux i Union. |
strength | FLOAT | 0-2, jak mocno podążać za przewodnikiem. Zwykle 0.6-1.0. |
start_percent / end_percent | FLOAT | Część próbkowania, w której kontrola jest aktywna. |
Wyjścia
Nazwa | Typ | Co to jest |
|---|---|---|
positive | CONDITIONING | Kontrolowane pozytywne conditioning dla KSampler. |
negative | CONDITIONING | Kontrolowane negatywne conditioning dla KSampler. |
Jak używać Apply ControlNet
- Załaduj zdjęcie przez Load Image i przeprowadź je przez preprocesor (Canny Edge, Depth Anything, DWPose).
- Załaduj pasujący ControlNet przez Load ControlNet Model.
- Dodaj Apply ControlNet; podłącz positive, negative, control_net i obraz przewodni.
- Ustaw strength na 0.8 i end_percent na 0.8 jako punkt startowy.
- Podłącz oba wyjścia do KSampler positive i negative; zachowaj rozmiar latent zgodny z proporcjami przewodnika.
Ustawienia i wskazówki
- Łącz kilka węzłów Apply ControlNet (np. poza + głębia), podając wyjścia jednego do następnego.
- Zmniejsz end_percent (0.5-0.7), by model mógł dodać szczegóły i uniknąć sztywnego, odrysowanego wyglądu.
- Trzymaj obraz przewodni w tym samym proporcjach co latent; jest skalowany, by pasował.
- Dla powiększania Tile używaj strength 0.5-0.8, by szczegóły mogły się zmieniać.
- Podejrzyj wynik preprocesora: czarny lub zaszumiony przewodnik wyjaśnia większość przypadków „braku efektu”.
Rozwiązywanie problemów z Apply ControlNet
Wynik ignoruje przewodnik
Dlaczego tak się dzieje
strength bliskie 0, end_percent za niskie, czarny obraz przewodni lub Union ControlNet bez określonego typu.
Jak to naprawić
Podejrzyj przewodnik, ustaw strength 0.8-1.0 i end_percent 1.0 do testu, potem zmniejsz. Dodaj SetUnionControlNetType dla modeli union.
Błąd: mat1 i mat2 nie można pomnożyć / niezgodność ControlNet
Dlaczego tak się dzieje
Rodzina ControlNet nie pasuje do checkpointa (SD 1.5 vs SDXL vs Flux).
Jak to naprawić
Użyj ControlNet z tej samej rodziny co checkpoint.
Przepalone, wysokokontrastowe, posteryzowane zdjęcie
Dlaczego tak się dzieje
strength powyżej 1 z mocnym ControlNet (Canny lub Lineart) i wysokim cfg.
Jak to naprawić
Ustaw strength 0.6-0.9, end_percent 0.7, cfg w normalnym zakresie modelu.
Stary workflow pokazuje „Apply ControlNet (OLD)”
Dlaczego tak się dzieje
Węzeł single-conditioning został przemianowany; nadal działa, ale nie ma kontroli startu/końca i negatywnego przebiegu.
Jak to naprawić
Zamień go na Apply ControlNet i podłącz zarówno positive, jak i negative.
Błąd Flux ControlNet o brakującym vae
Dlaczego tak się dzieje
Niektóre ControlNet Flux i Union potrzebują VAE do zakodowania przewodnika.
Jak to naprawić
Podłącz wyjście VAE z Load VAE do wejścia vae w Apply ControlNet.
Pytania o Apply ControlNet
Czy muszę przetwarzać obraz?
Tak, poza ControlNet Tile i Inpaint, które biorą sam obraz. Każdy ControlNet jest trenowany na konkretny typ mapy.
Czy mogę używać ControlNet z img2img?
Tak. Latent pochodzi z VAE Encode, kontrola z tego węzła; działają niezależnie.
Ile ControlNet mogę nałożyć?
Tyle, ile pozwala VRAM; zwykle dwa lub trzy. Każdy dodaje pamięć i czas.
Powiązane węzły
Load ControlNet Model
ComfyUI core
Load ControlNet Model wczytuje plik ControlNet (lub T2I-Adapter / ControlNet Union) z models/controlnet i zwraca obiekt CONTROL_NET do użycia w Apply ControlNet.
Load Image
ComfyUI core
Load Image wczytuje obraz z folderu wejściowego ComfyUI (lub z przesłanego pliku) i daje na wyjściu tensor IMAGE oraz MASKĘ z kanału alfa, czyli punkt startowy dla img2img, inpaintingu, ControlNet i IP-Adapter.
KSampler
ComfyUI core
KSampler wykonuje pętlę odszumiania: bierze model, prompt i latent, i tworzy gotowy latent obrazu, kontrolowany przez seed, kroki, cfg, sampler, scheduler i denoise.
CLIP Text Encode (Prompt)
ComfyUI core
CLIP Text Encode zamienia tekstowy prompt na CONDITIONING używając modelu enkodera tekstu. Jeden node trzyma pozytywny prompt, drugi negatywny.
Ultimate SD Upscale
ComfyUI_UltimateSDUpscale
Ultimate SD Upscale powiększa obraz modelem ESRGAN, a potem przetwarza go kafelek po kafelku przez model dyfuzji z twoim promptem przy niskim denoise, dodając prawdziwe detale przy 2x-4x powiększeniu bez wyczerpywania VRAM.
Więcej węzłów ComfyUI
ComfyUI Manager
ComfyUI-Manager
ComfyUI Manager to rozszerzenie, które instaluje, aktualizuje i naprawia niestandardowe paczki węzłów i modele bezpośrednio z interfejsu, rozwiązuje brakujące węzły w importowanych przepływach pracy i robi migawki twojej konfiguracji.
Load Checkpoint
ComfyUI core
Load Checkpoint (CheckpointLoaderSimple) otwiera plik modelu .safetensors lub .ckpt i udostępnia trzy części potrzebne w każdym workflow: MODEL dyfuzji, enkoder tekstowy CLIP oraz VAE.
Save Image
ComfyUI core
Save Image zapisuje tensor IMAGE do ComfyUI/output jako PNG, z całym workflow osadzonym w metadanych pliku, dzięki czemu obraz można przeciągnąć z powrotem do ComfyUI i przywrócić graf.
VAE Decode
ComfyUI core
VAE Decode zamienia wylosowany LATENT na pikselowy OBRAZ za pomocą VAE; VAE Decode (Tiled) robi to samo, ale w kafelkach dla bardzo dużych obrazów.
Empty Latent Image
ComfyUI core
Empty Latent Image tworzy pusty latentny obraz (szerokość, wysokość, batch_size), od którego zaczyna się generowanie obrazu z tekstu; wymiary muszą być wielokrotnością 8 i pasować do rodziny modelu.
Load LoRA
ComfyUI core
Load LoRA (LoraLoader) nakłada plik LoRA na MODEL i CLIP z osobnymi siłami, dzięki czemu styl, postać lub koncepcja mogą być dodane do dowolnego checkpointu bez łączenia.
