跳到主要內容

【2026 最新】LTX-2.5 ComfyUI DFR 教學:辨認真正 DFR、關閉 Prompt Enhancer

最後更新: ·
LTX-2.5 ComfyUI DFR 教學封面:DFR 不是一顆 Upscaler

LTX-2.5 ComfyUI DFR 最容易出現的誤會,是看到兩段 Sampler 中間夾著 LTXVLatentUpsampler,就以為自己已經在跑完整 DFR;另一個誤會則是以為提示詞會原封不動進模型,卻沒注意主節點裡的 prompt_enhance 預設為開啟。

這篇專為會匯入 ComfyUI workflow、但還不熟 subgraph 與 latent 資料流的讀者寫。你會先拆開最新版官方 T2V workflow template,關閉並硬繞過 Prompt Enhancer,核對真正送進文字編碼器的內容;若目標是 Lightricks 定義的完整 DFR,再改走官方 Python pipeline。全程不拿社群截圖當規格,也不提供本站沒有跑過的 VRAM、耗時或畫質數字。

若你還不熟模型本身,可先讀 LTX-2.5 模型與多鏡頭能力解析;本文只處理 ComfyUI 資料流、DFR parity(流程對齊)與提示詞控制。

先說結論:有 Spatial Upscaler,不等於完整 DFR

  • 最新版官方 T2V workflow template 是兩階段空間升採樣流程。它有兩個 SamplerCustomAdvanced 與一個 LTXVLatentUpsampler,但在本文檢查的版本裡,沒有 LTX 官方 DFR 的 full/dev+distilled LoRA 組合、generated keyframe slots 與 seeded-slot 回接路徑;選配的 detailing IC-LoRA 與 temporal refine 也沒有出現在圖裡。
  • Prompt Enhancer 預設開啟。官方整合文件也明說模板預設啟用 prompt enhancement;要保留原文,先把 prompt_enhance 設為 false,再用 subgraph 裡的 PreviewAny 核對。
  • 需要完整 DFR 時,現在最可核對的基準是 Lightricks 官方 DFRPipeline不要自行替幾個相似節點取名 DFR;先比對資料流,再談畫質。

DFR ≠ 一顆 Upscaler;DFR = generated keyframe slots +空間升採樣+seeded slots 回接後的全解析重繪(再加選配的細節/時間精煉)。

LTX-2.5 官方 ComfyUI 兩階段模板與 Lightricks DFRPipeline 資料流差異圖
兩條路都可能使用 latent spatial upscaler;真正的分界,是 generated slots、回接方式與全解析重繪是否符合官方 DFR protocol。

LTX-2.5 ComfyUI DFR 第 0 步:先鎖定你檢查的模板版本

先更新 ComfyUI,再從 Workflow → Browse Workflow Templates 搜尋 LTX-2.5,選擇 Text to Video。LTX 的 官方系統需求目前列出 NVIDIA GPU、32GB 以上 VRAM、32GB RAM、100GB 以上磁碟空間、CUDA 12.7 以上與 Python 3.12 以上;這是官方支援門檻,不是所有量化、offload 組合的實際最低值。

更新版本不是形式動作:ComfyUI v0.33.1 納入了 Gemma 4 E2B/E4B 的 thinking=false 修正,而這份模板的 enhancer 正好使用 E2B checkpoint。舊版產生的改寫文字與耗時不能直接搬來當新版基準。

截至 2026 年 8 月 20 日,Comfy-Org 最新 workflow-template release 是 v0.11.43。本文檢查的就是該版 T2V JSON,檔案 SHA-256 為 d77e6c7e5eb0c258cef5e14dbee9900f4e775e457c412f78c0220e91a090bc08。GitHub 最新完整 ComfyUI release v0.33.1 仍固定 templates v0.11.41,但兩版的 T2V subgraph 執行圖逐位元相同。下面的「有/沒有」只描述這份固定執行圖,不外推到第三方 workflow,也不宣稱 ComfyUI 永遠不會加入 DFR。

curl -L \
  https://raw.githubusercontent.com/Comfy-Org/workflow_templates/v0.11.43/templates/video_ltx2_5_t2v.json \
  -o video_ltx2_5_t2v.json

shasum -a 256 video_ltx2_5_t2v.json
jq -r '.definitions.subgraphs[]
  | select(.name=="Text to Video (LTX-2.5)")
  | .nodes[].type' video_ltx2_5_t2v.json \
  | sort -u \
  | rg 'TextGenerateLTX2Prompt|ComfySwitchNode|LTXVLatentUpsampler|VideoGeneratedKeyframeSlots|Lora'

你應該看得到 TextGenerateLTX2Prompt、Switch 與 latent upsampler;看不到 generated-slot producer 或 LoRA loader。這個指令只讀取可執行的 definitions.subgraphs[].nodes,不會被 JSON 裡可能過期的 .extra.prompt 快照誤導。它是版本收據,不是畫質評分;若檔案 hash 不同,就把日期、commit 與結果重新記一份,不要沿用本文的缺席判斷。

第 1 步:進入 Subgraph,畫出提示詞真正走的路

Text to Video (LTX-2.5) 節點按 Enter subgraph;新版前端也可雙擊 subgraph 的空白處進入。ComfyUI 的 Subgraph 官方文件把它比喻成收納節點的資料夾:外層只露出參數,內層連線仍然決定實際執行內容。

ComfyUI 官方文件示範進入 Subgraph 編輯模式與上方導覽列
官方 Subgraph 文件的介面示意;畫面是一般範例,不是 LTX-2.5 模板。重點是上方層級導覽與內部節點都能被檢查。

在目前 T2V 模板裡,正向提示詞資料流是:Prompt 同時送往 TextGenerateLTX2PromptComfySwitchNode.on_false;改寫後文字送往 on_true;Switch 的輸出再同時送給 PreviewAny 與正向 CLIPTextEncode。控制 Switch 的 Boolean 標題是 Enable Prompt Enhance,外層預設值為 true

第 2 步:關閉 Prompt Enhancer,必要時做硬繞過

痛點:只改外層開關,很難從縮起來的主節點看出最後選到哪條線。解法是先走官方開關,再用一份實驗副本硬繞過。

  1. 先另存 workflow,名稱加上 -raw-prompt-audit,不要直接覆蓋官方模板。
  2. 在外層把 prompt_enhance 改成 false
  3. 進入 subgraph,確認 Boolean 送進 ComfySwitchNode.switch,原始 Prompt 接在 on_false
  4. 若要排除外層 widget 或序列化造成的疑問,斷開 Switch 到正向 CLIPTextEncodePreviewAny 的兩條線,改由 Prompt.STRING 直接連到兩者。
  5. 把已經沒有下游的 TextGenerateLTX2Prompt 設為 Never。官方節點文件說明,Never 代表節點不執行;這裡因為輸出已不再被使用,所以不會截斷主路徑。
LTX-2.5 ComfyUI Prompt Enhancer 開啟、關閉與硬繞過的三條提示詞路徑圖
正式使用可把外層開關關掉;做 parity lab 時,硬接 raw prompt 能把「開關值是否正確保存」這個變因拿掉。

不要把 Prompt Enhancer 描述成惡意「偷改」。官方模板說明與整合文件都公開了這項功能;真正的風險是 subgraph 把資料流收起來,使用者可能忘了它預設開啟。ComfyUI 對 Bypass、Never 的差異也有 官方節點模式說明,所以實驗副本採用「斷線+Never」,比猜測某個複合節點會把哪個輸入原樣傳出更清楚。

第 3 步:驗證模型收到的文字,不只看開關

痛點:false 只是設定值,不是執行證據。解法是比對 raw prompt、有效提示詞與保存檔。先用一句短而容易逐字核對的文字,例如 A red ceramic mug on a grey table. RAW_AUDIT_01,Queue 一次,再檢查 Switch 後方的 PreviewAny。它必須和輸入完全一致;多字、少字或變成長篇電影描述都算失敗。

這能證明固定版本的 stock graph 選到哪個字串,並把它送到 CLIPTextEncode.text;它不等於證明 tokenization 後的 conditioning 是「原文位元組」,也不能替任意 custom extension 作保。

  • 執行前:截取 Prompt、Boolean/直連路徑與 seed,同時保存 workflow JSON。
  • 執行後:保存 PreviewAny 顯示的完整字串,不只截第一行。
  • 交付時:把 JSON、原始 prompt、有效 prompt、模型檔名與輸出影片放進同一資料夾。

ComfyUI 官方說明指出,workflow 可以保存為人類可讀的 JSON;圖片也能攜帶 workflow metadata,但本文使用的 SaveVideo 輸出不要一概假設會保留相同證據。最穩的做法,是把 JSON 與有效提示詞當成獨立 receipt。這和 AI Evals 的核心觀念相同:先定義可觀察的通過條件,才不會事後憑印象解釋結果。

第 4 步:用 4 個問題判斷 LTX-2.5 ComfyUI DFR 是否對齊

  1. Stage 1 是否用 full/dev checkpoint+distilled LoRA,並真的建立 generated keyframe slots?
  2. 空間升採樣後,video 與 slots 是否一起放大,generated slots 是否以 seeded slots 回接 Stage 2?
  3. Stage 2 是否在全解析度重新去噪,而不是只做 decode 前放大?
  4. 選配的 detailing IC-LoRA reference 與 temporal refine 是否有清楚、可關閉的獨立路徑?

Lightricks v1.2.0 的 DFRPipeline 文件對前 3 項都有明確資料流;detailing IC-LoRA 與 temporal rounds 則是選配。本文固定的官方 ComfyUI T2V JSON 只有 distilled INT8 transformer、一般兩階段 sampler+latent x2 upscaler,沒有前 3 項的 DFR 組合,因此正確名稱應是「兩階段空間升採樣模板」,不是已驗證的 DFRPipeline 實作。

第 5 步:今天要完整 DFR,就走官方 DFRPipeline

若專案現在就需要 Lightricks 定義的 DFR,不要在 ComfyUI 裡臆造缺少的節點。最短的可核對路線,是依 LTX-2 v1.2.0 官方 repository安裝;模型受 Hugging Face 存取條款控制,先在網頁接受條款,登入時不要把 Read token 貼進 workflow、截圖或 issue。

git clone https://github.com/Lightricks/LTX-2.git
cd LTX-2
git checkout v1.2.0
uv sync --extra natten
hf auth login

DFR 至少需要 LTX-2.5 full dev transformer、LTX 專用 Gemma 4 文字編碼器、video/audio VAE、distilled LoRA 與 spatial upscaler。Pixel-spatial detailing IC-LoRA 是選配;只有 temporal-upsample-rounds 大於 0 時才需要 temporal upscaler。先照 官方模型清單下載 BF16 pipeline 檔並保持資料夾結構,再使用經 v1.2.0 parser 靜態核對的 split-path 指令:

uv run python -m ltx_pipelines.dfr_pipeline \
  --transformer-path models/ltx-2.5/diffusion_models/ltx-2.5-22b-dev-transformer-bf16.safetensors \
  --text-encoder-path models/ltx-2.5/text_encoders/gemma4-12b-with-proj-ltx-2.5-bf16.safetensors \
  --video-vae-path models/ltx-2.5/vae/ltx-2.5-video-vae-bf16.safetensors \
  --audio-vae-path models/ltx-2.5/vae/ltx-2.5-audio-vae-bf16.safetensors \
  --distilled-lora models/ltx-2.5/loras/ltx-2.5-22b-distilled-lora-450-bf16.safetensors \
  --spatial-upsampler-path models/ltx-2.5/latent_upscale_models/ltx-2.5-latent-spatial-upscaler-x2-bf16-1.0.safetensors \
  --temporal-upsample-rounds 0 \
  --height 512 --width 768 --num-frames 121 --frame-rate 24 \
  --seed 42 --output-path dfr-seed42.mp4 \
  --prompt "A red ceramic mug on a grey table."

上面把 temporal refine 與 optional detailer 關掉,目的是先驗證 DFR mandatory slot 路徑。這是 source-reconciled 指令,不是 AlphaLab 的 GPU 執行紀錄;第一輪成功後,才逐一加入 --detailing-lora 或 temporal upsampler。這條路不在 ComfyUI 裡,但它是日後任何 ComfyUI DFR workflow 都應該對照的 reference implementation。

第 6 步:建立不會誤導你的 parity lab

把 ComfyUI 官方量化 distilled 模板和 Python full checkpoint+LoRA DFR 放在一起,只能叫「整條 pipeline 比較」,不能把差異全歸因於 DFR。模型精度、scheduler、prompt path 與 decoder 都可能不同。想讓結果有用,至少固定以下項目:

  • 同一份 raw prompt,Prompt Enhancer 關閉,保存有效提示詞。
  • 同一 seed、768×512、121 frames、24 FPS;若某一路徑會自動調整尺寸,要把實際值記下。
  • 第一輪不開 detailing IC-LoRA,也不開 temporal refine;一次只加入一個變因。
  • 每次記錄 GPU 型號、模型完整檔名與 hash、峰值 VRAM、總耗時、是否 offload/quantize。
  • 盲看 A/B,分別評動態一致性、局部細節、文字/臉部穩定與新增 artifact,不只挑一張最好看的 frame。

如果沒有相同硬體與完整模型,就先完成「拓撲+提示詞」驗收,不填假的效能欄位。要把素材整理、命名與比較自動化,可延伸看 OpenMontage 開源影片工作流Claude Code AI Video Studio;工具能省重複操作,最後的 artifact 仍要逐段回看。

最常見的 5 個失敗

  • 看到 x2 就寫 DFR:spatial upscaler 是必要零件之一,不是完整流程的充分證據。
  • 只看外層 false:沒有核對 PreviewAny,就不知道有效提示詞是否相同。
  • 一次開所有選配:detailing、temporal、量化與 offload 同時改,結果變好或變壞都找不到原因。
  • 把同 seed 當公平比較:seed 只固定隨機起點,不能抵銷不同模型、scheduler 與 conditioning。
  • 匯入社群 workflow 就算完成:至少保存來源 URL、commit/下載日、JSON hash 與缺少節點清單;沒有收據就不能長期驗證。

FAQ:LTX-2.5 ComfyUI DFR 最常見的 8 個問題

1. DFR 是什麼?

是 Diffusion Fidelity Rendering。官方 LTX-2.5 實作先在半解析度生成影片與額外 keyframe slots,再把 video/slots 升採樣、回接 seeded slots 並做全解析重繪;細節 LoRA 與時間精煉是選配。

2. 目前官方 ComfyUI T2V 模板就是 DFR 嗎?

本文固定檢查的版本不是完整 DFR。它是兩階段 latent spatial upscale;結論只適用於上文 commit 與 hash,未來模板更新後要重新查。

3. 有 LTXVLatentUpsampler 還不夠嗎?

不夠。還要核對 full/dev+distilled LoRA、generated keyframe slots、seeded-slot 回接與 Stage 2 全解析重繪;一顆 upscaler 只能證明有放大 latent。

4. Prompt Enhancer 是偷偷藏起來的嗎?

功能不是秘密,但資料流容易被 subgraph 收起來。官方文件公開寫明預設啟用,也提供外層開關;本文要求再看內部連線,是為了得到執行證據。

5. 把 prompt_enhance 設成 false 就夠嗎?

日常使用通常夠,驗收時仍要看 PreviewAny若你要排除 widget 保存問題,就在副本中把 raw Prompt 直接接到 CLIPTextEncode 與 PreviewAny。

6. 可以自己在 ComfyUI 接幾個節點補成 DFR 嗎?

不要只靠名稱相似就宣稱完成。只要 generated slots 或 reference conditioning 沒有可核對的節點/資料,輸出再漂亮也不能證明與官方 DFR 對齊;目前可先走官方 Python pipeline。

7. DFR 需要多少 VRAM、要跑多久?

沒有一個可跨硬體套用的答案。LTX 官方系統需求列出 32GB 以上 VRAM 與 100GB 以上磁碟;full BF16、影片長度、解析度、VAE、offload 與選配 refine 都會改變結果,請記錄自己的配置。

8. 同一 seed 為什麼兩條路仍差很多?

因為 seed 只是一個變因。量化 distilled transformer、full checkpoint+LoRA、sigma schedule、prompt rewrite、conditioning 與 decoder 任一不同,都可能讓結果分岔。

給新手的 5 個重點

  1. 先鎖定模板 commit 與 JSON hash,再談「支援」或「不支援」。
  2. Spatial Upscaler 是 DFR 零件,不是 DFR 身分證。
  3. 關掉 Prompt Enhancer 後,以 PreviewAny 驗證 raw prompt 真的直達文字編碼器。
  4. 完整 DFR 先以 Lightricks 官方 DFRPipeline 當 reference,不臆造缺少的 ComfyUI 節點。
  5. 比較時一次只改一個變因;沒有硬體證據,就誠實留下空白。

想比較其他生成與剪輯路線,也可看 開源 AI 影片剪輯工具比較;更多工作流在 AlphaLab AI 專區

接著閱讀

左右滑動查看更多推薦

下一步:先做一份 raw-prompt receipt

先不要急著看哪支影片比較銳利。複製官方 T2V 模板、關閉 enhancer、硬接 raw prompt,保存 JSON、有效提示詞與 hash;再用上面的 4 個 DFR 問題檢查資料流。你只要記住本文的錨點:DFR 不是一顆 Upscaler,而是一條可逐段驗證的生成、參考與重繪管線。

如果你想有人帶著把 AI 影片流程做成可維護的專案,可查看 AlphaLab 課程

ALPHALAB 社群

有問題?來 Telegram 聊

和 Terry、編輯、其他網友一起討論這篇文章。提問、分享觀點,回覆更即時。

加入 Telegram 討論

📩 訂閱 AlphaLab 電子報

每週最多兩封,收到週報精選與關鍵 Alpha Signal。

我們不會 spam,隨時可退訂。