目錄

ComfyUI 局部重繪(Inpaint)與擴圖(Outpaint)教學

局部重繪(Inpaint) 只重新生成圖片中被遮罩(mask)標記的區域,其他部分保持不變。常用來:

  • 移除路人、雜物
  • 修正手部、臉部的瑕疵
  • 更換衣服、背景、物品

擴圖(Outpaint) 則是把圖片往外延伸,補出原本畫面外的內容。

繪製遮罩

  1. 新增 Load Image 並載入圖片。
  2. 在節點上按右鍵,選擇 Open in MaskEditor(遮罩編輯器)。
  3. 用筆刷塗出要重繪的區域,可以調整筆刷大小。
  4. 按 Save 儲存。

Load Image 節點會輸出 IMAGE 與 MASK 兩個結果。

方法一:VAE Encode (for Inpainting)

[Load Image] ─IMAGE─▶ [VAE Encode (for Inpainting)] ─LATENT─▶ [KSampler denoise=1.0]
             ─MASK──▶          ▲ vae
ComfyUI 局部重繪工作流程
局部重繪:Load Image 的 MASK 輸出接到 VAE Encode (for Inpainting),預覽圖中深色方塊就是遮罩區域
  • grow_mask_by:遮罩向外擴張的像素數(例如 6~16),讓接縫更自然。
  • 遮罩區域會被完全清空再重畫,所以 KSampler 的 denoise 要設為 1.0。
  • 最適合搭配 inpaint 專用模型(模型名稱通常帶有 inpainting)。

提示詞描述遮罩區域中要出現的內容,例如把路人遮起來後,提示詞寫 empty street, wet pavement。

方法二:Set Latent Noise Mask

[Load Image] ─▶ [VAE Encode] ─LATENT─▶ [Set Latent Noise Mask] ─▶ [KSampler denoise=0.5]
             ─MASK─────────────────────────────▲
  • 保留遮罩區域原本的內容作為參考,只在上面「修改」。
  • 可以使用一般模型。
  • denoise 設 0.4~0.7:數值越低越接近原圖。
VAE Encode (for Inpainting)Set Latent Noise Mask
遮罩區域原本的內容清空保留作為參考
denoise1.0小於 1.0
適合移除物品、完全換掉內容修正瑕疵、調整細節、改顏色
模型inpaint 專用模型效果最好一般模型即可

改善接縫

重繪區域和周圍不協調時:

  • 加大遮罩(grow_mask_by)或用 Grow Mask 節點擴張遮罩。
  • 用 模糊遮罩(例如在遮罩編輯器中使用柔邊筆刷)讓邊緣過渡更自然。
  • 把結果用 Image Composite Masked 貼回原圖,確保遮罩外的像素完全不變(VAE 編碼解碼會讓整張圖產生輕微變化)。

小區域的細節:裁切後重繪

要修正一張大圖中的小臉、小手時,直接重繪效果通常不好,因為那個區域的像素太少。進階的做法是:把遮罩周圍的區域裁切出來、放大,重繪後再縮小貼回原圖。社群的自訂節點(例如 Inpaint Crop and Stitch)可以自動完成這些步驟,安裝方法見 自訂節點與 Manager。

擴圖(Outpaint)

[Load Image] ─▶ [Pad Image for Outpainting] ─IMAGE─▶ [VAE Encode (for Inpainting)] ─▶ [KSampler]
                       (left/top/right/bottom、feathering)  ─MASK──▲
  1. Pad Image for Outpainting 在圖片周圍加上空白區域,並自動產生遮罩。設定要往哪個方向延伸多少像素,以及 feathering(邊緣羽化)。
  2. 接上 VAE Encode (for Inpainting),KSampler denoise 1.0。
  3. 提示詞描述整張圖(包含延伸出來的部分)的內容。

一次不要延伸太多(例如每次 256~512 像素),需要更大的範圍時可以分多次延伸。

使用新一代模型的編輯功能

Flux Kontext、Qwen-Image-Edit 等「圖像編輯模型」可以直接用文字指令修改圖片(例如「把天空換成夕陽」),不一定需要手動畫遮罩。官方範本中有這些模型的工作流程,見 Flux 等新一代模型。

更新於 2026年10月12日