你按照 YouTube 影片的指示,安裝了 ComfyUI,加入了 ReActor 節點,按下 Queue Prompt,卻得到這個畫面,而不是人臉交換:fatal error C1083: Python.h: No such file or directory。
有一位用戶在 ReActor 的儲存庫中說得最貼切,當時 insightface 拒絕在 Python 3.13 上編譯:「ChatGPT 和 Claude 也沒幫上忙……我又遇到另一個錯誤,然後掉進除錯的無底洞」(issue #166,2025 年)。
我曾經掉進那個無底洞。所以這份指南老老實實地做了兩件事。首先,是真實的 ComfyUI 人臉交換教學:精確的節點、精確的設定、所有陷阱,全部都有。然後,是逃生出口:同樣的交換,在瀏覽器分頁中重建,三十秒,無需安裝,而且一路做到影片。

一個沮喪的男人在夜晚面對兩台螢幕,一台佈滿糾結的 ComfyUI 節點線路,上面有紅色錯誤對話框,另一台則是整面終端機錯誤訊息
重點摘要
- ReActor 是預設的 ComfyUI 人臉交換節點:免費、開源,並在原始儲存庫被封鎖後,以 SFW 專案的形式重生(ComfyUI-ReActor,2026 年)。
- 它的交換引擎 inswapper_128 輸出的臉部是 128x128 像素。這就是為什麼原始交換看起來很模糊,直到你在上面疊加一個臉部還原模型。
- 影片人臉交換是逐幀進行的。有一次回歸測試在 RTX 4090 上花了 22 分鐘處理 81 幀,後來才被修復。
- 一個三模型的雲端鏈可以在大約 30 秒內完成單張圖片的交換,而且最後還能產出真正的影片和 GIF,完全不需要安裝。
我們今天要建立的 ComfyUI 人臉交換結果
先看圖,再讀文字。左邊是原始的傲慢威利旺卡(Condescending Wonka)劇照,1971 年 Gene Wilder 的那個畫面,後來成為網路上最常用的迷因模板之一。右邊是同一張畫面,但融合了一張完全不同的臉。同樣的冷笑、同樣的高帽、同樣的柔軟底片顆粒,只是換了一個人。

並排比較:左邊是原始的傲慢威利旺卡迷因劇照,右邊是同一張畫面融合了新臉的版本
而且,因為這麼傲慢的冷笑值得動起來,這裡是同一張交換後的畫面,製作成循環 GIF:

人臉交換後的威利旺卡畫面,製作成循環 GIF,隨著鏡頭慢慢推近,冷笑逐漸擴大
以上兩張圖片都可以透過兩種方式達成。路徑一是經典的 ComfyUI 人臉交換工作流程,使用 ReActor,本教學會逐個節點詳細說明。路徑二是我在 Atlas Cloud 上的一個瀏覽器分頁中執行的雲端鏈,每個步驟大約花了三十秒。你會得到兩種方法,然後可以決定你怎麼看待自己的夜晚。
為什麼 ComfyUI 人臉交換無處不在,以及為什麼初次嘗試總是失敗
ComfyUI 贏得了它的地位。節點圖編輯器在 2026 年約有 12.3 萬顆 GitHub 星星,而「comfyui face swap」成為預設搜尋詞,因為這個工具讓你擁有完全的控制權:選擇交換模型、選擇還原模型、將它串接到任何你想要的管線中。
這個生態系統中的人臉交換部分自帶戲劇性。原始的 ReActor 儲存庫從 GitHub 下架,然後以 ComfyUI-ReActor 的形式回歸,這是一個嚴格限於 SFW 的版本,內建裸體偵測功能,會拒絕不安全的輸入。這就是現在大家安裝的版本。
那麼,為什麼這麼多初次嘗試都以淚水收場?反覆出現的原因有四個:
- insightface 的編譯障礙。 ReActor 依賴 insightface,而 insightface 在安裝時會編譯 C++。Python 版本不對,你就會看到介紹中的
Python.h錯誤。Python 3.13 是已知的罪魁禍首;這個驅動網路上半數人臉交換的函式庫還沒有跟上它。 - 128 像素的臉。 交換模型叫做 inswapper_128,因為 128x128 就是它的輸出解析度。每一個原始交換看起來都有點融化的感覺,直到臉部還原模型重建細節。
- 影片是逐幀的痛苦。 一個人臉交換的影片只是數百張獨立圖片交換的組合。有一次版本回歸讓 81 幀花了 1,341 秒,也就是大約 22 分鐘,還是在一張 RTX 4090 和 24GB VRAM 上(issue #72,2024 年)。後來修復了,但逐幀計算的數學問題永遠不會消失。
- 沒有 NVIDIA,就沒有派對。 加速堆疊假設有 CUDA。在 Mac 或 AMD 顯示卡上,交換步驟大多會退回 CPU 執行,而上述所有問題都會以更殘酷的倍數出現。
這些都不是說要跳過 ComfyUI。而是說要用正確的設定和誠實的期望進去。以下是這些設定。
經典的 ComfyUI 人臉交換工作流程:逐步使用 ReActor
這是大多數「教學」會匆匆帶過的部分。在這裡放慢速度,你的第一次交換就會成功。
安裝 ComfyUI 人臉交換用的 ReActor
2026 年的乾淨路徑:
- 開啟 ComfyUI Manager,搜尋「ReActor」,安裝 ComfyUI-ReActor,重新啟動。
- 下載 inswapper_128.onnx,並放到
ComfyUI\models\insightface資料夾內。 - 臉部還原模型(GPEN-BFR-512、CodeFormer、GFPGAN)放在
ComfyUI\models\facerestore_models資料夾內。Manager 也可以幫你取得這些模型。 - 好消息:從 0.7.0 版開始,新的 ReActor 核心移除了舊版 Visual Studio C++ Build Tools 的需求,這個需求曾經讓數千個 Windows 安裝失敗。
- 壞消息:暫時避免使用 Python 3.13。insightface 0.7.3 無法針對它編譯。請使用 ComfyUI 便攜版內建的那個 Python 版本。
如果安裝完成但 ReActor 節點沒有出現,請檢查啟動時的 console 日誌。十次有九次是 insightface 只安裝了一半,解決方法是使用正確的 Python 版本重新執行 install.bat,而不是重新安裝 ComfyUI。
ComfyUI 人臉交換工作流程:重要的節點和設定
最小圖片工作流程是四個節點:
載入圖片(你的目標圖片) + 載入圖片(你要交換進去的臉) → ReActor Fast Face Swap → 儲存圖片
如果你是在同一個圖表中用 Stable Diffusion 產生目標圖片,請將 VAE Decode 的輸出接到 ReActor 的 input_image,而不是使用載入圖片節點。以下是實際的接線方式,來自 Comflowy 優秀的逐節點指南(Comflowy,2024 年):

ComfyUI 人臉交換工作流程圖,顯示載入圖片節點連接到 ReActor Fast Face Swap 節點,再輸出到儲存圖片節點
設定面板是讓交換從模糊變成可用的地方。我的速記表:
| ReActor 設定 | 建議值 | 原因 |
|---|---|---|
| swap_model | inswapper_128 | 唯一真正的選項;它就是引擎 |
| facedetection | retinaface_resnet50 | 最準確的偵測器;較小的速度快但會漏掉角度臉 |
| face_restore_model | GPEN-BFR-512 | 重建 128px 交換遺失的細節;CodeFormer 是替代方案 |
| face_restore_visibility | 0.7 到 0.8 | 全強度看起來像噴槍修圖;把它調回來一點 |
| codeformer_weight | 0.5 到 0.75 | 只有在使用 CodeFormer 時才需要;越低越保留身份,越高越清理 |
| input_faces_index | 0 | 要替換目標中的哪一張臉;從左到右數,用於團體照 |
在清晰、正面的來源照片上執行這個設定,你會得到一個真正令人尊敬的 comfyui face swap。柔和的光線、沒有太陽眼鏡、沒有頭髮遮住臉。來源臉部的品質比表格中的任何設定都重要。
ComfyUI ReActor 影片人臉交換,誠實版
是的,可以進行 comfyui reactor face swap video,而這就是嗜好變成生活方式的地方。標準的鏈接:
VHS Load Video(Video Helper Suite 將你的剪輯分割成幀) → ReActor Fast Face Swap(對每一幀執行) → 可選的 RIFE 插幀(平滑動作) → Video Combine(將幀重新拼接起來)。
教學中跳過的部分:
- 數學很殘酷。 一個 10 秒的片段,24fps,就是 240 次人臉交換。即使每幀花費 1 到 2 秒,一次嘗試就要 4 到 8 分鐘的 GPU 時間,而且你很少能在第一次嘗試就成功。
- 臉會游移。 ReActor 獨立處理每一幀,所以幀與幀之間的微小差異會表現為閃爍。RIFE 有幫助,但一個 comfyui face swap video 在慢動作下很少能撐住。
- VRAM 會暴增。 載入幾百幀,加上偵測和還原模型,很快就會碰到你的記憶體上限。
它確實有效。人們會分享很棒的結果。但每一個結果背後都是某人整個晚上的心血,而這就是接下來內容的背景。
Pica AI 和 Canva 人臉交換在哪裡碰到了障礙
安裝失敗後的自然反應是「好吧,那我用 App」。App 層級用不同的障礙取代了你的安裝痛苦。
Pica AI 是最先出現在搜尋結果中的人臉交換 App。它確實很簡單:上傳、點擊、完成。但免費方案很痛。在我自己的測試中,點數計數器停在 4,Pica 在撰寫本文時沒有公開的定價頁面,而且第三方評論一致回報同樣的限制:免費帳戶有浮水印和解析度上限。它在 Trustpilot 上的存在感很小,只有少數評論,反覆投訴帳單混淆和客服問題,而且影片交換在尖峰時段會明顯排隊。在笑點上加上浮水印,對迷因來說可不是小缺陷。浮水印就是笑點的殺手。
Canva face swap 則以另一種方式讓人驚訝:它其實不是 Canva 的。Canva 中的人臉交換來自其市集中的第三方 App,而不是原生功能。受歡迎的 FaceSwap App 每天只提供一個免費點數,而且只能做圖片交換;沒有認真的 canva face swap for video。對於一次性的簡報惡搞來說還不錯,但除此之外就是死路。
所以 App 層級省去了安裝,但用浮水印、每日配額和缺少影片功能來向你收費。這引出一個顯而易見的問題:如果你保留 ComfyUI 的模型混合自由度,但拋棄其他一切呢?
在雲端重建的 Face Swap ComfyUI 工作流程
這裡有一個重新框架,改變了我製作這些東西的方式。face swap comfyui 設定的強大之處在於可組合性:每個任務一個模型,串聯起來。這個想法不需要你的 GPU。我在一個 Atlas Cloud 瀏覽器分頁中,從模型遊樂場重建了整個鏈接,按次付費,而且每個步驟在我咖啡還熱的時候就完成了。
分工如下:
| 任務 | 模型 | 為什麼選這個 |
|---|---|---|
| 產生一個來源臉部 | GPT Image 2 | 乾淨的合成人像,沒有真人肖像的麻煩 |
| 將臉部融合到迷因或電影劇照中 | Nano Banana 2 (edit) | 保留底片顆粒、光線和「它本來就是這樣」的感覺 |
| 高保真度人像交換 | Seedream 5.0 Pro (edit) | 它的精緻感對粗糙的迷因來說是錯誤的,但對乾淨的人像來說卻是完美的 |
| 將結果動畫化 | Seedance 2.0 Mini | 圖片轉影片,5 秒的 720p 片段對迷因來說已經足夠 |
無需安裝、無需 insightface、沒有 VRAM 焦慮,而且這裡每一次執行的花費都不超過零錢。你可以在 Atlas Cloud 模型頁面 瀏覽整個目錄,並在投入任何東西之前先試玩每個遊樂場。
在教學開始前還有一件事要注意:Seedream 5.0 Pro 目前正在進行限時促銷,如果你的人像交換用途是這個,那就很重要。
Atlas Cloud Seedream 5.0 Pro 限時折扣橫幅,兩隻手繪的倉鼠拿著禮物盒
雲端 ComfyUI 人臉交換教學:從電影劇照到 GIF
現在是重現的部分。五個步驟,每個提示都可以直接複製貼上,而且我下面的每個螢幕截圖都是真實執行的。我們的目標:將一張新臉放進傲慢威利旺卡(Condescending Wonka)中,然後讓他動起來。
步驟 1:下載原始迷因,永遠不要重新創造它
在 AI 迷因工作中,最大的單一錯誤是要求模型畫出一個著名畫面的類似版本。AI 重新創造的旺卡不是旺卡。讀者會在零點五秒內識破偽造品,笑話就死了。下載真實的模板:
bash1curl -L -o wonka.jpg https://imgflip.com/s/meme/Creepy-Condescending-Wonka.jpg 2
那是真正的 1971 年電影劇照,帶有柔軟的底片顆粒和略微褪色的色彩,讓它看起來像「那個迷因」而不是「一個戴帽子的人的照片」。那些不完美之處是資產。在接下來的每個步驟中都要保護好它們。
步驟 2:產生來源臉部(GPT Image 2)
你可以在這裡使用你自己的自拍照:正面、光線均勻、沒有東西遮住臉。對於公開部落格,我寧願用合成臉來示範,所以我在 GPT Image 2 遊樂場 產生了一張。設定:品質 high,長寬比 1:1。
text1一位二十多歲後期、快樂男性的工作室人像照,棕色短髮、輕微鬍渣,直視鏡頭,中性背景,柔和均勻的光線,照片寫實,頭肩構圖。 2

Atlas Cloud 上的 GPT Image 2 遊樂場,已填入肖像提示,輸出面板中可見完成的來源臉部
這是我們將在後續教學中使用的臉部:

AI 生成的快樂男性工作室人像,二十多歲後期,棕色短髮,輕微鬍渣
步驟 3:使用 Nano Banana 2 Edit 融合人臉交換
這是將融合與貼紙貼上去效果區分開來的步驟。開啟 Nano Banana 2 edit 遊樂場,將旺卡劇照上傳為第一張圖片,你的來源臉部上傳為第二張圖片,設定解析度為 1k,然後貼上:
text1將威利旺卡的臉替換成第二張圖片中男性的臉,完全融合到劇照中。這張臉必須保持可辨識的人類外觀,並且看起來像同一個人:保留他自己的眼睛、眉毛、鼻子和嘴巴。給他迷因中那種精確的傲慢冷笑,下巴托在手上。嚴格保留原始照片的構圖、紫色夾克、棕褐色高帽、領結、柔軟的 1971 年底片顆粒、色彩和光線。新臉必須無縫融入原始畫面的紋理中。不要銳化、美化或放大圖片的其餘部分。 2
每次執行只處理一張臉。如果一個模板有兩張臉,請執行兩次,而不是一次要求兩張;編輯模型可以乾淨地處理一次身份轉移,但處理兩張時就會開始即興發揮。

Atlas Cloud 上的 Nano Banana 2 edit 遊樂場,已載入旺卡劇照和來源臉部,輸出面板中顯示融合結果
輸出,全尺寸。注意存活下來的東西:底片顆粒、帽子陰影、捲曲的頭髮、那隻托著下巴的傲慢姿勢。這就是「他一直都是這樣」的效果,這是貼上式的交換永遠無法達到的:

傲慢威利旺卡迷因,新臉完全融合,顆粒和光線完好無損
步驟 4:你的 ComfyUI 人臉交換影片時刻,沒有 ComfyUI
還記得 ReActor 章節中 240 幀/片的數學問題嗎?在這裡,它只是一次執行。開啟 Seedance 2.0 Mini 圖片轉影片遊樂場,上傳融合後的旺卡畫面,設定 720p 和 5 秒,然後貼上:
text11970 年代復古底片風格:戴高帽的男人慢慢將手更往臉上靠,同時他的傲慢冷笑擴大,眉毛微微揚起,鏡頭緩慢溫和地推近他的臉,柔和的底片顆粒閃爍,夢幻的粉彩背景保持失焦,沒有鏡頭切換。 2

Atlas Cloud 上的 Seedance 2.0 Mini 遊樂場,已載入融合後的旺卡畫面,輸出面板中顯示完成的 5 秒影片
完成的剪輯就是你在本文開頭看到的 GIF。這一步驟的總時間:大約一分鐘的排隊時間,完全不需要手動管理幀,也不會出現臉部游移,因為影片模型是將一個連貫的影像動畫化,而不是重新拼接 120 個獨立的交換結果。
步驟 5:將 MP4 轉換成 GIF
誠實的限制:影片遊樂場輸出的是 MP4,而不是 GIF。解決方法只需要一個提示。將這個貼到任何 LLM 中,ChatGPT 也行,或是 Atlas Cloud LLM 頁面 上的開源模型如 DeepSeek 或 Qwen:
text1寫一個 ffmpeg 指令,將 wonka.mp4 轉換成高品質的循環 GIF:寬度 480px,12 fps,使用 palettegen 和 paletteuse 在一個 filter_complex 中完成,無限循環。然後用一行解釋每個旗標。 2
你會得到類似這樣的結果,而這正是產生上面那個 GIF 的指令:
bash1ffmpeg -i wonka.mp4 -filter_complex "[0:v]fps=12,scale=480:-1:flags=lanczos,split[a][b];[a]palettegen[p];[b][p]paletteuse" -loop 0 wonka.gif 2
這就是整個鏈接。迷因下載、臉部產生、融合、動畫、GIF。五個步驟,一個瀏覽器分頁。
人臉交換甘道夫:You Shall Not Pass
同樣的食譜,不同的電影。從 https://i.imgflip.com/14xbe.jpg 下載原始劇照,在你的保留清單中保持鬍子、帽子和摩瑞亞的陰暗,然後讓融合提示發揮作用。一張現代臉從甘道夫的鬍子中瞪出來,正好擊中了那種「不對勁」的正確感覺:

You Shall Not Pass 甘道夫場景,新臉融合進去,鬍子、帽子和黑暗的摩瑞亞光線保持不變
人臉交換鐵達尼號船頭場景
「我在飛翔」的船頭場景是罕見的模板,既是電影經典,又擁有真正的高解析度(Imgflip 上的副本 https://i.imgflip.com/4k0a6c.png 是 1440x900)。有兩張臉可見,所以遵守每次執行一張臉的規則:我交換了傑克,讓蘿絲保持原樣。

鐵達尼號船頭場景,傑克的臉被交換成來源臉,夕陽光線和蘿絲保持不變
高保真度人像人臉交換,Seedream 的適用場景
一個來自 A/B 測試的模型說明:對於迷因和電影劇照融合,請使用 Nano Banana 2,因為它保留了底片顆粒和不完美之處,而「太乾淨」看起來就像假的。但將任務轉換為乾淨的人像、專業頭像、婚紗照、高解析度角色藝術,那麼同樣的精緻感就變成了重點。此時,Seedream 5.0 Pro 編輯是更強的選擇:它會在融合的同時美化,這對旺卡來說是 bug,但對人像來說是功能。
ComfyUI 人臉交換實際成本是多少
沒有訂閱數學,只是三條路徑的誠實面貌。
在地端 ComfyUI: 軟體是免費的,這是每個人都會重複的標題。真正的帳單是一張 12GB 級別的 NVIDIA 顯示卡、一個晚上(或一個週末)的設定、電費,以及未來每個依賴更新再次破壞 insightface 的夜晚。如果你已經擁有 GPU 並且喜歡動手調整,那張帳單可能是值得付出的。動手調整是一種嗜好,而嗜好是允許花時間的。
人臉交換 App: 付費方案需要訂閱,免費方案有浮水印和每日點數配額,而影片不是沒有就是被限制。你是在租用便利性,而且計量表一直看得到。
雲端鏈: 按次付費定價,落在每張圖片幾分錢的等級,沒有閒置的訂閱費,而且影片步驟只在實際產生時才收費。上面整個旺卡管線,包括臉部,花了我不到一杯咖啡的錢,而且我願意付這個錢,只為了跳過再多讀一次 insightface 的堆疊追蹤。
關於規則要快速提一下,因為人臉交換確實需要這個:交換你自己的臉,或者你有權限使用的臉。平台會限制真實人物的 deepfake,而融合模型會直接拒絕某些名人輸入。用於評論的公開迷因模板,就像本教學中的所有內容,是安全的遊樂場。保持有趣,不要詐欺。
ComfyUI 人臉交換常見問題
ComfyUI 人臉交換是免費的嗎?
軟體和 ReActor 節點是免費且開源的。但完整的設定不是:你需要大約 12GB 的 NVIDIA GPU 才能舒適使用,再加上設定時間。如果你沒有硬體,按次付費的雲端鏈比買硬體更便宜。
為什麼我的 ComfyUI ReActor 人臉交換看起來很模糊?
因為交換模型 inswapper_128 實際上是以 128x128 像素輸出臉部。在 ReActor 節點中修正它:將 face_restore_model 設定為 GPEN-BFR-512(或 CodeFormer),並將 face_restore_visibility 設定為 0.7 或 0.8。還原步驟會重建交換器無法產生的細節。
ComfyUI ReActor 可以做影片人臉交換嗎?
可以。標準的 comfyui reactor video face swap 鏈是 VHS Load Video 進入 ReActor 再進入 Video Combine,並可選擇加入 RIFE 插幀以獲得平滑效果。請預期逐幀處理時間、幀之間的輕微臉部閃爍,以及較長片段上沉重的 VRAM 使用量。短片段會寬容得多。
Canva 有真正的人臉交換功能嗎?
不是原生的。Canva 的人臉交換來自第三方市集 App,受歡迎的那個每天只提供一個免費點數,而且只能做圖片。對於影片人臉交換,你需要一個完全不同的工具。
如何將人臉交換影片轉換成 GIF?
詢問任何 LLM,請它提供一個使用 palettegen 和 paletteuse 的 ffmpeg 指令,這會產生比單純轉換更乾淨的顏色。上面步驟 5 中的一行指令可以將任何 MP4 轉換成 480px、12fps 的循環 GIF,你可以貼到任何地方。
AI 人臉交換合法嗎?
交換你自己的臉,或者你明確獲得許可使用的臉,在幾乎所有地方都沒問題。未經同意發布真實人物的交換,可能違反平台規則,而且在許多地方也違反法律。用於評論的迷因模板和電影劇照,長久以來都處於合理使用的範圍內,但不要將它們用於商業用途。







