在ComfyUI裡頭,ControlNet節點可以說是讓AI繪畫真正「聽話」的關鍵工具,沒有它,你只能靠隨機的種子參數和繁瑣的提示詞去碰運氣。一開始我接觸這個節點時也覺得有點複雜,畢竟節點式的工作流看起來像電路板一樣,但只要搞懂它的輸入輸出邏輯,你會發現它其實比WebUI的ControlNet還要靈活。
基礎安裝與節點獲取
首先,你要確保ComfyUI已經安裝了對應的ControlNet擴展。最常見的做法是透過ComfyUI Manager去搜尋「ControlNet」或「Sd-advanced-controlnet」並安裝。安裝完後重啟介面,你就會在節點選單中的「controlnet」分類裡找到一堆節點,比如「Apply ControlNet」、「ControlNetLoader」、「Load ControlNet Model」等等。別被名字嚇到,核心其實就兩個角色:一個負責加載模型,一個負責應用到你的潛在圖像上。
解構應用流程:以OpenPose為例
拿你提供的OpenPose骨骼姿勢圖來舉例,這是最直觀的應用場景。假設你已經有一個圖像生成主線(比如用Ksampler生成圖),要讓它按照骨骼圖擺動作,步驟如下:
- 加載圖片與提取特徵:用「Load Image」節點載入你的骨骼PNG。然後加上一個「OpenPose Preprocessor」節點(如果有的話),它可以幫你自動從圖片中提取姿勢點;如果你直接用的是標準骨骼圖,其實也可以跳過預處理,讓ControlNet模型自己去識別。
- 設定ControlNet模型:用「ControlNetLoader」節點,選擇一個專門為OpenPose訓練的模型(比如
control_v11p_sd15_openpose或更新的版本)。權重(strength)建議從0.8開始測試,太高容易僵化,太低又難以約束姿勢。 - 應用控制:把預處理後的圖像(或原始骨骼圖)連接到「Apply ControlNet」節點的「controlnet_img」端口,同時把模型連接到「controlnet」端口,最後將這個節點的「output」連到你的Ksampler的「controlnet」輸入。如此一來,生成的角色就會盡可能貼近骨骼姿勢。
進階參數與實戰心得
千萬別以為連上就完事了。ControlNet節點還有幾個關鍵參數值得玩味:節點步數(start_percent, end_percent)決定了控制效果在生成過程的介入時機。比如你想讓前半段嚴格遵循姿勢,後半段讓AI自由發揮細節,就可以設start=0, end=0.5。另外,控制模式(control_mode)可以改為「My prompt is more important」或「ControlNet is more important」——如果你要生成貓娘或非人角色,建議把控制權重降低或讓提示詞主導,否則容易出現手腳扭曲。
我有次試著用一張誇張的跳舞骨骼圖生成一個坐著的角色,結果腿長了兩倍,差點變成蜘蛛精。後來調整了strength到0.6並把end_percent設到0.7,才終於讓角色自然坐下。這種經驗告訴你,ControlNet不是萬能神藥,它需要與提示詞和參數反覆磨合。
常見錯誤與解決
很多人遇到「圖片完全不動」或「畫面全黑」的狀況,八成是節點連接錯了:記得「Apply ControlNet」的輸入是潛在圖像(latent),而不是直接餵給VAE解碼後的圖片。另外,確保你的ControlNet模型與你使用的主模型匹配——SD1.5的模型不能用在SDXL上,反之亦然。
總之,ComfyUI的ControlNet節點就像一個精密樂器,初學者可以先照著OpenPose這類明確的姿勢圖練習,再慢慢嘗試HED、Depth甚至IP-Adapter等不同類型的控制。玩熟了之後,你會發現它不只是「控制工具」,而是打破AI繪畫瓶頸的鑰匙。

評論(13)
原來是這樣接的,之前一直卡在節點連錯
OpenPose那個例子我試過,確實姿勢能控住,但權重要調
有用 SD1.5 的模型在哪可以下載啊?
start_percent 設0.2跟0有啥差別?求解
說得簡單,我調了半天還是歪的,感覺沒那麼神
我也是調跳舞圖結果腿長兩倍,後來strength降到0.6才正常
一開始節點搞混了圖片直接黑屏,後來才發現要連latent
節點名字都差不多,看得眼花撩亂😵
雖然看不懂但感覺很厲害😂
好複雜喔,我還是用WebUI算了
講得很清楚,先收藏慢慢試
Depth控制效果怎麼樣?有人試過嗎?
最後那句話說得太對了,就是得反覆磨合