COMFYUI 基礎 · 第 10 課

讓一張圖動起來:用 Wan2.2 做第一段固定鏡頭短片

把起始圖片接進 Wan2.2 TI2V-5B,避開 Load Image 被略過的陷阱,分清尺寸、影格數與 fps,再用同一張圖比較兩個小動作。附官方素材、A/B 工作流與驗收紀錄。

  • 入門實作
  • 約 35–50 分鐘,不含模型下載與生成等待 · 閱讀與練習
  • 發布

開始前,準備這些

  • 已有可啟動且支援 Wan2.2 原生節點的 ComfyUI
  • 能匯入 JSON、下載模型並上傳 JPG/PNG;執行前先確認設備容量

這一課,你會學會

  • 確認圖片真的送入 start_image,而非誤跑文字生影片
  • 設定接近起始圖片比例的尺寸,分清 length 與 fps
  • 保存兩段單一變因短片、原圖、JSON 與自己的觀察紀錄
本課目錄

圖片已放進工作流,為什麼影片卻不像它?

接續第九課的角色主視覺,這次把「一張圖」接到「一段時間」。先練一個小動作與固定鏡頭,學會確認圖片有參與、保存設定,以及檢查角色在後面幾個影格是否變形。完成物是 A/B 兩段約1.71秒的無聲短片、原始圖片、各自的JSON與觀察單;設備還沒準備好時,可以先完成接線與設定核對,生成欄位保留未執行。

先開啟ComfyUI 官方 Wan2.2 教學、ComfyUI 下載及官方重包模型入口。本課選 Wan2.2 TI2V-5B:同一個5B模型可做文字或圖片生影片,使用內建節點,不需要付費API節點。自行執行仍有設備、電力及儲存成本;使用租用主機或 Comfy Cloud,費用依該服務方案另計,本文沒有代為開通或付費。

下載本課 A 組 JSON、官方貓咪起始 JPG及觀察單。JSON 不包含圖片與模型權重;圖片仍要在自己的 Load Image 上傳並選取。為讓每位讀者有相同起點,先用附圖完成一次,再換自己的角色。使用第九課圖片前,仍須遵守其來源模型的使用條件;Wan 的授權不會自動改變上游素材的權利。

Wan官方圖生影片起始素材:戴琥珀色太陽眼鏡的白貓在海邊,直式構圖,原圖832乘1104
Wan 官方範例庫的圖生影片輸入素材,原始832×1104、約245 KiB,保持原始JPEG位元組。固定版本來源。這是靜態起始圖,沒有宣稱為本站生成或本課影片結果;原頁未交代這張圖的製作方式。

第 1 步:先辨認模型版本與設備條件

本課需要三個模型檔。依官方模板指定的來源下載,放到 ComfyUI 的 models 下對應目錄:

文字編碼器的下載路徑含 Wan_2.1,這是官方5B模板指定的來源。VAE則是 wan2.2_vae;別拿14B工作流常見的 wan_2.1_vae 替換。5B也不使用14B的 high_noise/low_noise 兩個專家模型。下載前先核對整個檔名與所屬節點,避免為同一課抓下不相干的大檔案。

三個官方檔案頁分別標示約10GB、6.74GB及1.41GB,合計約18.2GB(十進位、依頁面四捨五入值估算)。這是模型下載儲存量,不是所需顯示記憶體;還要為程式、系統記憶體、暫存與影片留空間。官方JSON備註列出的9.31/6.27/1.31較接近二進位容量顯示,勿與檔案頁的十進位GB直接混加。

Comfy 文件表示,5B配合其原生 offloading 機制「應可」適用8GB VRAM;Wan 原始程式的參考命令則標示至少24GB。兩者使用的執行配置不同,不能把數字當作同一套保證。本課沒有硬體實跑,亦不提供生成時間承諾。先確認你能執行該版本與模型;若容量不確定,先停在工作流檢查,不必勉強排程。

Wan2.2-TI2V-5B模型卡標示 Apache-2.0,須遵守授權條件;輸入圖片、人物肖像、商標等權利仍需另外確認。本課保存 Comfy 範例庫的 MIT 授權及 Wan 範例庫的 Apache-2.0 授權文字。

應該看到: 三個模型檔各在正確目錄,Load Diffusion Model、Load CLIP、Load VAE 選單能找到它們;Load CLIP 的 type 是 wan。

第 2 步:匯入 A 組,先解決 Load Image 被略過的陷阱

在 Workflow → Open 匯入 A 組JSON。也可以到模板庫搜尋「Wan2.2 5B」對照,但要注意:本課保存的官方原始模板裡,Load Image 的 mode=4,處於 Bypass(略過)狀態。即使看得到接線或圖片檔名,圖片也未必送進生成流程。

本課A/B已把它改成正常執行的 mode=0。請確認節點沒有被略過,再按圖片上傳按鈕,選取下載的 wan-official-i2v-input.JPG。看到貓咪預覽後,沿著 IMAGE → Wan22ImageToVideoLatent 的 start_image 檢查連線。MASK不接。

如果你開的是官方原始JSON,先選中 Load Image,再依官方教學用 Ctrl+B 切換Bypass狀態,或從節點選單取消略過;不同平台以介面顯示的快捷鍵為準。本課JSON已啟用,別再盲按一次把它關回去。重要的是最後狀態,不是按過某個鍵。

原創狀態對照圖:官方原始Load Image在mode4時被略過;本課mode0啟用後,IMAGE才經連線送到start_image,執行前還要選正確圖片
本站原創操作示意,依固定版本JSON與官方節點整理,不是ComfyUI介面截圖。沒有起始圖時,這個TI2V工作流仍可能走文字生影片路線;所以「成功跑完」不等於「確實用了這張圖」。

看見缺失節點時,先比對官方更新說明及啟動日誌。本課用的 Wan22ImageToVideoLatent、CreateVideo、SaveVideo 都是核心節點;不要因為找不到就隨意裝同名外掛。JSON內的舊版本註記是範例保存資訊,不代表已驗證你目前的版本相容。

應該看到: 貓咪預覽、正常啟用的 Load Image,以及連到 start_image 的 IMAGE線。三項都確認後,才往下設定。

第 3 步:先配合直式圖片,分清尺寸和影格數

本課A/B的 Wan22ImageToVideoLatent 設為:width 704、height 928、length 41、batch_size 1。這是為練習挑選的配置;官方原始模板則是1280×704、121影格。兩份都提供下載,別把它們混成同一套預設。

附圖是832×1104的直式圖,704×928的比例與它接近,而且寬高都是32的整倍數。已核對的核心節點會依目標尺寸做等比例縮放與置中裁切;比例不同時,邊緣可能被切掉。把直式貓咪直接交給1280×704的橫式設定,裁切會明顯得多,提示詞也不會把被切掉的內容自動「接回原圖」。

若換自己的角色圖,先檢查臉、頭頂、背包與手腳離邊界是否太近。想控制裁切位置,可先回到第七課的尺寸與裁切準備接近目標比例的新圖,保留原檔;不要為塞滿畫面把角色拉長。

length是要生成的影格數。本節點的長度欄位以4為步進,配合時間壓縮方式,先用 4n+1 的值,例如41、81、121。Create Video 保持 24 fps;41影格編成24fps,名義播放時長約41÷24=1.71秒。從第一個影格到最後一個影格的時間點跨度是40÷24秒,兩個數字的計算定義不同。

不要靠把fps改小來取得更多動作。 同一組41影格若改成12fps,播放時間變長、動作變慢,但沒有多生成中間影格。想生成約5秒的內容,另存新組後,把length改為121並保留24fps;負載也會改變,要重新觀察環境能否執行。

原創參數圖:尺寸704乘928、41影格、24fps約1.71秒;121影格約5.04秒;A B只改轉頭方向,其他條件一致
本站原創參數與實驗設計圖。這些數字來自JSON設定與算術,不是生成耗時、硬體測試或影片成果;本課沒有補幀步驟。

第 4 步:讓提示詞只負責一個小動作

A組的正向 CLIP Text Encode 已換成原創練習句,也可從提示詞文字檔複製:

A white cat wearing amber sunglasses at the seaside. The cat turns its head slightly to its left. The camera remains fixed. One continuous shot, gentle natural movement, consistent lighting.

意思是:海邊戴琥珀色太陽眼鏡的白貓,略向自己的左邊轉頭;鏡頭固定、單一連續畫面、動作輕微、光線一致。這裡的「左」以角色自身為準,通常與觀看者的畫面左右相反。模型仍可能理解錯方向,這正是要記錄的項目,不先把生成結果當成正確答案。

第一段先避免同時要求跑步、轉身、鏡頭繞行和場景切換。短短41影格,先驗收一個看得懂的小動作。負向提示詞沿用官方模板,A/B保持完全相同;本課不把調負向文字也混進比較。

核對 KSampler:seed 20261011、執行後seed行為 fixed、steps 20、cfg 5、sampler uni_pc、scheduler simple、denoise 1。ModelSamplingSD3 的 shift 保留 8。這些取樣條件來自官方模板,seed與固定模式由本課設定;即使名稱有SD3,也不要隨意換成另一類模型節點。

和第九課不同,這裡CFG為5,不要直接套用上一課CFG=1的負向分支結論。固定seed是為減少實驗變因,仍不保證跨版本、不同硬體或所有操作產生相同像素。

第 5 步:先保存設定,再只執行 A 一次

沿主線看一次:起始圖 → Wan22ImageToVideoLatent → KSampler → VAE Decode → Create Video → Save Video。模型、VAE及兩組文字條件也要維持原有接線,不只檢查圖片這一條。

Save Video 的filename_prefix為 video/greenbean-lesson10-A,format與codec沿用 auto。Create Video沒有接入audio,本課輸出不包含聲音;不要把文字描述的海浪或音樂當成音軌已生成。

先另存自己的A組JSON,確認模型與圖片後按Run一次。第一次載入模型及影片生成所需時間依環境而異,沒有固定倒數可保證。若顯示記憶體不足,停止連續送出相同排程,保留錯誤與環境資料;不要把本課「少一點影格」當作所有顯卡都能跑的保證。

輸出出現後,保存實際影片檔,並記下容器/副檔名。auto的實際輸出應以你的檔案為準,不預填成某一種格式。用播放器查看頭、中、尾:

  1. 起始構圖: 還看得到原圖中的白貓、眼鏡與海邊嗎?有無意外裁掉頭部?
  2. 動作: 貓是否真的略向自己的左邊轉頭?還是只晃動背景?
  3. 穩定性: 眼鏡是否融化、耳朵是否多出一隻、臉部紋理是否閃爍?
  4. 鏡頭: 明明要求固定鏡頭,是否仍發生推近、平移或切鏡?

觀察單先填實際影片檔名、尺寸、影格數與fps;播放器沒有顯示的項目填unknown,別把設定值冒充檔案實測。尚未成功生成就保留not_run。第一個影格也不保證和原JPG逐像素一致,因為已經過裁切、VAE及生成處理。

第 6 步:B 只改方向,才知道提示詞改了什麼

保留A,另開B組JSON,重新確認同一張起始圖。B只把提示詞中的 to its left 改成 to its right;輸出前綴改成B方便保存,其餘生成條件完全相同。

先另存B的JSON,再執行一次。把兩段從頭播放到尾,分開記「要求的方向是否出現」與「角色/背景是否穩定」。B不是在A影片上修改,而是從同一張JPG重新生成,因此同seed也不保證只改頭部方向、其他像素都不動。

如果兩段都不太動,先確認Load Image有啟用,實際輸入與正向文字正確,再看整段影片而非只看縮圖。仍沒有方向變化就如實記錄,下一輪只調整一個條件。不要同時改seed、影格數、CFG和鏡頭,否則無法說清楚是哪一項帶來差異。

完成A/B後,才選做自己的角色版本:用你有權使用的角色原圖、改成符合該圖的主體描述、選近似比例尺寸,另存為新實驗。它同時更換輸入圖片及描述,不能當作A/B的第三組單一變因比較。本課不承諾一張角色圖能在所有鏡頭中維持身份一致。

卡住時,先依現象排查

  • 成功生成,卻像重新畫了一個場景: 檢查Load Image是否Bypass、預覽是否正確,以及IMAGE有沒有進start_image
  • 模型選單找不到檔案: 核對三個資料夾、完整檔名及下載是否完成;不是把所有模型都放checkpoints
  • 畫面被裁掉: 檢查輸入比例與width/height,不要只看檔案大小;這個節點會置中裁切
  • Missing Nodes: 先查核心版本與啟動匯入錯誤,本課不需要WanVideoWrapper等第三方節點
  • 輸出只有約1.7秒: 本課是41影格/24fps;這是預定短測,不是輸出少了五秒
  • 影片變慢,卻沒有新動作: 檢查是否只改Create Video的fps;它不會幫你補出新影格
  • 每次比較差異很大: 檢查KSampler是否仍是fixed、起始圖是否同一檔,以及版本與取樣設定是否被改動
  • 沒有聲音: 本課audio未連線,須日後另外製作或加入音軌

完成檢查與小練習

保存一個資料夾,包含原JPG、A影片+A JSON、B影片+B JSON,以及你填好的觀察單。紀錄實際ComfyUI版本、模型檔名、圖片檔名和未解決問題,才方便下次延長影片或更換鏡頭。

  1. Load Image有圖片檔名,是否代表一定用了它?不一定,還要確認沒有Bypass、預覽正確且接到start_image
  2. 為什麼本課不用官方1280×704的預設?為了配合附圖的直式比例,減少裁切;這是教學配置,未做GPU實跑
  3. 把41影格從24fps改成12fps,會多出41張新影格嗎?不會,只會改播放速度與名義時長
  4. A/B應保持哪些條件相同?起始圖、seed及其fixed模式、尺寸、影格數、fps、模型、取樣與負向條件;只改正向動作方向
  5. 兩次都沒按照方向轉頭,能填「比較完成,效果成功」嗎?應記錄已執行但未達動作目標,將操作完成與生成品質分開

下載、版本與來源

查核日期:2026年10月11日(台灣)。本站原創提示詞、觀察單與兩張示意圖採CC0;衍生JSON保留原工作流授權。已檢查JSON可解析、節點及連線、圖片解碼、資源雜湊及A/B單一變因,沒有執行模型推論、沒有本課生成結果或GPU計時,也未完成ComfyUI介面匯入與手機瀏覽實測。請把本頁當成有來源與可下載練習檔的操作指引,生成是否成功仍要以自己的實際執行紀錄判斷。