首頁

目前文章總數:242 篇

  

最後更新:2026年 07月 25日

0007. WAN FLF2V(首尾幀生成影片) - 解決抽卡碰運氣往導演式控制 - 影片結尾不可控問題

日期:2026年 08月 08日

標籤: Linux Ubuntu Docker Docker-Compose Container ComfyUI WSL 2.2 GGUF LoRA LightX2V LoRA FLF2V First-Last Frame to Video

摘要:生成式AI


應用所需:1. 已安裝 Windows 的 Docker Desktop (Use WSL 2 instead of Hyper-V)
     2. 已安裝 Hyper-V + ComfyUI(容器化)
     3. 顯示卡使用 RTX 5070 以上 + 12G VRAM
     4. Windows 10 以上作業系統
解決問題:1. 解決純文生影片(T2V)和單圖生影片(I2V)的可控性不足問題。
     2. 透過兩張圖片,起始圖片 + 結束圖片,實現可控的影片生成
相關參考:改進此篇文章0006. 從 V1 升級!Wan + LightX2V V2 雙 LoRA 控噪工作流:4步極速打造超高穩定度 AI 影片
工作流載點:點擊下載
基本介紹:本篇分為四大部分。
第一部分:問題描述
第二部分:FLF2V ComfyUI工作流
第三部分:驗證成果
第四部分:分析、探討






第一部分:問題描述

Step 1:I2V 三大核心缺點

I2V 由圖片生成影片有以下 3 個核心缺點,圍繞著不可控制性,若需要影片內容具有合理性,勢必要一一克服這些問題:

項目 目的
1. 嚴重的「劇情走向失控」(缺乏終點引導) 因為 AI 只有起點,沒有終點,它只能憑空「盲猜」接下來的畫面。
  隨著影片時間推移(通常超過 2~3 秒後),畫面會迅速偏離主題,出現荒謬的變形、主體消失或不合邏輯的崩壞。
2. 動作「不夠精準」且難以量化 單靠 Prompt 很難精確控制複雜的物理運動
3. 無法實現「倒敘」或「精準轉折」 I2V 是單向時間軸的預測。如果你希望影片的結局是某個「特定的畫面」
  I2V 幾乎無法做到。因為它無法逆向推算,也無法保證在最後一幀剛好停在你想要的畫面上。




Step 2:FLF2V - 鎖定劇情走向

簡言之,引入 FLF2V 會加入 起始的圖片 + 結束的圖片 ,我們為 I2V 的生成影片建立了起訖

FLF2V 通過引入第二個控制點(尾幀,Last Frame),將原本的「單向盲猜問題」,
轉變為「雙向約束的插值問題(Bi-directional Constrained Interpolation)」。


比較維度 I2V (Image-to-Video) FLF2V (First-Last Frame to Video)
控制力 低(僅能控制起點,其他都是 AI 依照提示詞猜想) 極高(起點與終點皆在創作者提供的圖片)
畫面一致性 隨著時間推移快速衰減,容易崩壞 極高(首尾特徵強行約束,中間不易跑偏)
動態物理合理性 AI 盲猜軌跡,常出現違反物理規律的變形 有明確的「起迄路徑」,動態軌跡通常更符合常理
適用場景 隨機性強的動態(如煙霧、流水、純運鏡) 敘事性強、有明確結果的動態(如變形、起跳、日夜交替)



簡要的應用場景對應:

I2V:讓一張照片動起來、背景物件會移動 
FLF2V: 精準的鏡頭設計、分鏡腳本製作、精準鎖定起點與終點




Step 3:本篇說明 - 對應規格

若硬體設備遠高於此,基本上 VRAM 不足的問題應不容易發生,可不用檢閱此篇內容

項目 規格
GPU 名稱 NVIDIA GeForce RTX 5070 (12G VRAM)
CPU Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz,3192 Mhz,6 個核心,12 個邏輯處理器
RAM 48 GB
OS Microsoft Windows 10 專業版





第二部分:FLF2V ComfyUI工作流

Step 1:完整工作流 - 大綱<

本篇文章的工作流是依照上篇文章工作流進行擴展
因此本篇只會著重在 FLF2V 的節點異動與 FLF2V 專用的 GGUF 模型替換。
※上篇文章的第二部分 Step 3: 完整工作流 - 大綱參考

工作主要節點分成 6 個區塊
本篇會著重在 Step1 , Step3 , Step 5異動的部分(與上偏差異的調整)

項目 說明
Markdown Note 補充下載模型、存放位置、教學說明
Step1 - Load models 載入模型,VAE (編碼/解碼器),CLIP (文字特徵向量模型),類型使用 Wan
Step2 - Load LoRA - High noise 載入 LoRA 模型,處理高噪音 High Noise、K採樣器參數調整
Step3 - Upload start_image 上傳圖片,FLF2V 引用 Resize Image 的節點,因為起始與結束影片要一樣長寬
Step4 - Prompt 文字提示詞,正面、負面
Step5 - Video size 影像的長寬,預設 512 * 512 ,引用 Wan首尾偵視頻節點
Step6 - Load LoRA - Low Noise 載入 LoRA 模型,處理低噪音 Low Noise、K採樣器參數調整


完整的工作流與節點間的連接可參考完整圖:
※此篇工作流載點:點擊下載


Step 2:Markdown Note - 下載模型

檔案下載的模型都記錄於 Markdown Note 中,對應載點跟出處也可以參考,要能正確運行 FLF2V 必須下載對應的 GGUF: wan2.1-flf2v-14b-720p-Q5_K_M.gguf

模型名稱 載點
umt5_xxl_fp8_e4m3fn_scaled.safetensors huggingface載點
clip_vision_h.safetensors huggingface載點
wan2.1-flf2v-14b-720p-Q5_K_M.gguf huggingface載點
high_noise_model_rank64.safetensors huggingface載點
low_noise_model_rank64.safetensors huggingface載點
wan_2.1_vae.safetensors huggingface載點



所有模型的存放位置也需放到正確位置下:

📂 ComfyUI/
├── 📂 models/
│   ├── 📂 text_encoders/
│   │      └── umt5_xxl_fp8_e4m3fn_scaled.safetensors
│   ├── 📂 clip_vision/
│   │      └── clip_vision_h.safetensors
│   ├── 📂 diffusion_models/
│   │      └── wan2.1-flf2v-14b-720p-Q5_K_M.gguf
│   ├── 📂 loras/
│   │      └── high_noise_model_rank64.safetensors
│   │      └── low_noise_model_rank64.safetensors
│   └── 📂 vae/
│          └── wan_2.1_vae.safetensors




Step 3:工作流 Step1 - Load models

主模型使用 GGUF (wan2.1-flf2v-14b-720p-Q5_K_M.gguf ),首尾偵視頻必須要更換此模型
此節點連結如下:

UNET 加載器 (GGUF)
    └─ 模型 ──→ 加載LoRA (高噪音 模型 輸入)

加載CLIP
    └─ CLIP ──→ 加載LoRA (高噪音 CLIP 輸入)
            └─→ 加載LoRA (低噪音 CLIP 輸入)
加載VAE
    └─ VAE ──→ VAE解碼 (vae 輸入)
        └────→ 圖像到視頻(Wan) (vae 輸入)    

加載CLIP視覺
    └─ CLIP視覺 ──→ CLIP視覺編碼 (CLIP視覺 輸入)




Step 4:工作流 Step2 - Load LoRA - High noise

可以參考 Step 6:工作流 Step2 - Load LoRA - High noise
※上篇文章內容

Step 5:工作流 Step3 - Upload start_image

上傳圖片節點,我們必須增加對應的節點,本篇範例使用 山湖環繞的白天山湖環繞的夜晚 當起訖
此區節點連結如下:

起始圖片
    └─ 圖像 ──→ Resize Image v2 (image 輸入)

Resize Image v2
    └─ 圖像 ──→ Wan 首尾偵視頻 (起始圖像 輸入)
           └──→ 預覽圖像 (圖像 輸入) => 此節點可以忽略,但可以觀察到調整後的圖像預覽 
           └──→ CLIP視覺編碼 (CLIP視覺 輸入)
結束圖片
    └─ 圖像 ──→ Resize Image v2 (image 輸入)

Resize Image v2
    └─ 圖像 ──→ Wan 首尾偵視頻 (結束圖像 輸入)
           └──→ 預覽圖像 (圖像 輸入) => 此節點可以忽略,但可以觀察到調整後的圖像預覽 
           └──→ CLIP視覺編碼 (CLIP視覺 輸入)

CLIP視覺編碼 (對應起始圖像)
    └─  CLIP視覺輸出 ──→ Wan 首尾偵視頻 (Clip 視覺起始圖像 輸入)

CLIP視覺編碼 (對應結束圖像)
    └─  CLIP視覺輸出 ──→ Wan 首尾偵視頻 (Clip 視覺結束圖像 輸入)





補充: 加載圖片、Resize Image v2 的新增節點操作如下:


Step 6:工作流 Step3 - Resize Image v2功能擴充

要使用 Resize Image V2 節點,必須安裝 KJNodes 開發的 ComfyUI-KJNodes 節點包,除了調整圖片尺寸外,還有其他功能:

keep_proportion:保持比例的方式(crop 裁切、pad 補邊等)
divisible_by:讓輸出尺寸能被指定數字整除(對某些模型如影片生成很重要)
crop_position:裁切對齊位置(center、top、bottom 等)


搜尋欄輸入 KJNodes ,會出現對應的 ComfyUI-KJNodes 安裝包,安裝完成後,也需要重新啟動整個容器


Step 7:工作流 Step4 - Prompt

可以參考 Step 8:工作流 Step4 - Prompt
※上篇文章內容

Step 8:工作流 Step5 - Video size

這裡需要新增一個 Wan首尾帧视频 節點 (取代上一篇原本的 Wan 图像到视频(Wan))

圖像到視頻
    └─ 正向 ──→ K採樣器 (高噪音的 正面條件 輸入)
           └──→ K採樣器 (低噪音的 正面條件 輸入)
    └─ 負向 ──→ K採樣器 (高噪音的 負面條件 輸入)
           └──→ K採樣器 (低噪音的 負面條件 輸入)
    └─ Latent → K採樣器 (高噪音的 Latent圖像)
           └──→ K採樣器 (低噪音的 Latent圖像)




Step 9:工作流 Step6 - Load LoRA - Low Noise

可以參考 Step 10:工作流 Step6 - Load LoRA - Low Noise
※上篇文章內容

第三部分:驗證成果

Step 1:山湖環繞日夜變化 - 準備

我們範例使用了以下 2 張圖片,作為起始與結束,白天:


夜晚:


正面提示詞,必須要符合起訖的變化

從白天到晚上的景色變化,微風吹動


最關鍵的是所有的圖片、影片 Width , Height 必須保持一致,避免影片變形


Step 2:山湖環繞日夜變化 - Demo 結果

Wan + FLFV2 平均耗時約 240 秒左右(生成約 50次影片,平均秒數 212 ~ 268 間),完成生成 5 秒影片
影片的結果始終會趨向於結束的圖片(也就是山湖環繞的夜景),但中間過程中可能會出現不太符合物理邏輯的轉場
但我們的目的已經達到:

FLF2V 模型只負責「腦補中間的過渡過程」,但讓使用者鎖定了起點和終點。大幅降低非預期的結果。



山湖環繞日夜變化 - 範例影片:



Step 3:大力水手漫畫動畫化 - 商標權

在動畫領域中,如果已經有漫畫出來了,那麼就更容易導入 FLFV2 實現動畫化
※要注意 不能隨意找漫畫片段生成動畫,這將會侵犯商標權 ,因此要使用已列入 公共領域 (Public Domain) 的漫畫

根據美國版權法,1929 年發表的作品,其 95 年的版權保護期已於 2025 年 1 月 1 日正式屆滿。


這張大力水手首次發表於 1929 年 1 月 17 日的漫畫《Thimble Theatre》,是大力水手卜派(Popeye)在歷史上的第一次登場。已列入公共領域
因此很適合做為漫畫動畫化的演示 ※Wiki來源


Step 4:大力水手漫畫動畫化 - 準備

我們挑出第 1 格分鏡當起始圖片:


第 2 格分鏡當結束圖片:


正面提示詞,必須要符合人類看漫畫的時候腦補的意境變化:
※因為是 2D 動漫人物,因此需要提示詞中強調是 2D 漫畫

左邊的人提著皮箱往右邊跑過去,坐著的人始終坐著盯著走過去的人
flat 2D comic strip style, simple thick black outlines, 
solid flat colors, minimal shading


開始進行生成:


Step 5:大力水手漫畫動畫化 - Demo 結果

Wan + FLFV2 平均耗時也約 240 秒左右(基本上相近,圖片不太影響平均耗時),完成生成 5 秒影片
影片的結果始終雖然會趨向於漫畫中 卡斯特提著皮箱跑去找船員,朋友坐著看著卡斯特
但能生一個較正常的影片是十分困難的,畢竟 每個漫畫家的角色、畫風都不相同
因此 FLF2V 的幻想過程會出現大量讀者覺得異常的影片

※此外也與 Wan 模型的訓練過程有關係:

Wan 這類影片模型的訓練資料以真實影片為主,對「粗線條、平塗色塊」的漫畫風格掌握度低很多。



生成約 50 次影片,約 5 次比較好的輸出結果 - 以下提供較不錯的生成影片:



第四部分:分析、探討

Step 1:FLFV2 點出缺點

FLF2V 的本質是「用首尾兩個基準點換取比 T2V / I2V 更高的可控性」,但始終屬於生成模型,能更接近,但並不能完全精準
我們將缺點分成 4 類(控制力、一致性、素材要求、技術成本)點出:

1. 控制力

缺點 說明 應對方案
1. 結束幀只是引導 結束圖僅作為條件注入,整段影片是重新生成,結尾只會「接近」而非「等於」結束圖 提高 CFG、prompt 與結束圖對齊、縮短影片長度
2. 中間過程不可控 首尾之間全靠模型腦補,無法指定中間動作;指令太多會趕戲或被忽略 拆成多段生成、每段只做一個動作
3. 成功率靠抽卡 同參數不同 seed 結果差異大,需多次生成挑選 多換 seed、固定可行參數後批次生成


2. 一致性

缺點 說明 應對方案
1. 人物身分漂移 影像條件是語意層級而非像素級,轉頭或動作後五官容易變 角色 LoRA、臉部佔比放大、prompt 明確描述特徵、後製換臉
2. 顏色漂移 逐幀生成累積色調偏移,越後段越明顯 ColorMatch 校正、縮短單段長度
3. 風格漂移 對 2D 卡通、漫畫等非寫實風格掌握差,易往半寫實靠攏 風格 LoRA、prompt 鎖定風格描述、負面詞排除 3D/寫實



3. 素材要求

缺點 說明 應對方案  
1. 首尾圖限制多 長寬比需一致、主體位置視角要相近、尺寸需被 16 整除、低解析度輸入效果差 Resize 節點統一尺寸、先 upscale、素材階段就設計好構圖  
2. 只適合連續變化題材 不同人物、物件憑空增減、場景切換等無合理過渡路徑,只能硬 morph 換題材、生成中間過渡圖拆小步、改用剪輯轉場  
技術成本 1. 單段長度短 一次僅數秒,長影片須多段串接,漂移會逐段累積 尾幀串接法、每段用同一參考圖做色彩校正
  2. 品質與速度取捨疊加 GGUF 量化 + 加速 LoRA 損失會累積,人臉與細節最先犧牲 提高量化等級(Q8)、關 LoRA 對照排查、視需求取捨
  3. 生態版本混亂 2.1/2.2、單模型/雙模型、LoRA 版本需嚴格對應,配錯不報錯但效果變差 下載前確認模型世代與 LoRA 對應關係



4. 技術成本

缺點 說明 應對方案
1. 單段長度短 一次僅數秒,長影片須多段串接,漂移會逐段累積 尾幀串接法、每段用同一參考圖做色彩校正
2. 品質與速度取捨疊加 GGUF 量化 + 加速 LoRA 損失會累積,人臉與細節最先犧牲 提高量化等級(Q8)、關 LoRA 對照排查、視需求取捨
3. 生態版本混亂 2.1/2.2、單模型/雙模型、LoRA 版本需嚴格對應,配錯不報錯但效果變差 下載前確認模型世代與 LoRA 對應關係



Step 2:生成穩定性影片探討

既然知道缺點實際上就有應對的解法了,始終圍繞在成本上是否值得花費更多時間投入。

「穩定」可拆成幾個面向:**動作穩定、主體一致、風格/顏色穩定、長影片連貫**。不同方法各自解決不同面向,實務上是分層疊加使用。


一覽表:

類別 方法 原理 解決的問題 備註
關鍵幀錨定 FLF2V / 首尾幀 用首尾圖鎖定起點終點 結局不可控、段落串接 基礎錨定手法
結構控制 VACE 用參考影片的骨架、深度、邊緣逐幀約束生成 動作亂跑、構圖不穩 V2V 最強方案
結構控制 Fun-Control 系列模型 Wan 的 ControlNet 式變體,支援姿態/深度/軌跡控制 動作與鏡頭控制 與 VACE 功能重疊,擇一即可
運動控制 軌跡/運鏡控制(軌跡繪製、相機控制節點) 手繪軌跡或指定相機參數約束物體與鏡頭移動 運鏡隨機、物體亂飄 生態較新,版本相容需確認
主體一致 主體參考類模型(Phantom、S2V 類) 輸入主體參考圖,讓角色整段保持同一身分 人物身分漂移 與 FLF2V 是不同的條件方式
主體一致 角色 LoRA 訓練特定角色權重,每幀往正確長相收斂 人物身分漂移 治本但需訓練成本
風格穩定 風格 LoRA + prompt 鎖定風格 固定畫風的先驗 風格漂移(如卡通變寫實) 非寫實風格必備
取樣策略 提高步數 / 適當 CFG / 關閉加速 LoRA 減少取樣誤差累積 細節崩壞、動作趕戲 用品質換時間
取樣策略 縮短單段幀數 減少逐幀誤差累積 顏色漂移、後段崩壞 搭配串接補長度
長片連貫 尾幀串接 + 統一參考圖 每段用上段尾幀起始、同一張圖做色彩對齊 多段接縫、色調越接越歪 長影片主流手法
長片連貫 Context / 滑動視窗長影片方案 生成時讓相鄰片段共享上下文視窗 長影片斷層 依模型支援度而定
後製修復 ColorMatch 色彩校正 統計對齊參考圖色調 顏色漂移 注意會壓掉刻意的色彩變化
後製修復 臉部修復 / 換臉(ReActor 類) 逐幀把臉換回正確身分 臉部不像、糊掉 補救型手段
後製修復 低 denoise V2V 重繪(refine pass) 以原片為基底輕度重繪提升質感 細節粗糙、輕微瑕疵 denoise 約 0.2~0.4
後製修復 補幀(RIFE / FILM)+ 放大(upscale) 提升幀率與解析度 卡頓感、畫質低 不改內容,純觀感提升