Internal Lab Note · Performance

縮短步長的可能

前一篇談的是不動步數能省多少時間。這一篇談另一個方向: 步數本身能不能砍。 MiniMax H3 的預設是 20 步,直接砍到 6 步——時間掉到 37%, 而說話影片幾乎沒有損失、聲音完全不受影響; 但同樣的 6 步拿去拍動作,畫面糊到不能用。 本文把「哪些內容能縮步、哪些不能、以及縮步 LoRA 補上了什麼」逐格量出來。

Part 4 · 先讀前三篇 模型配置、工作流、提示詞欄位結構在 《MiniMax H3 本地實測》《影片產線實測》; SageAttention、Spectrum、記憶體等不動步數的加速手段在 《縮短時間的可能》。 本篇只談步數
2026-08-08 RTX 5090 ComfyUI 本地 單變因對照 內部技術筆記

結論先給

TL;DR

先講可以直接用的:有首圖、不需要角色說話的內容,走 fl2va + v4(600step) + 6 步——2.60× 加速,前景銳利度反而更高, 色彩被首圖鎖住。連續分鏡再用頭尾格接,逐段無衰減。細節見下方 ①。

10 秒素材 · 864×480 · RTX 5090
配置耗時相對 20 步能用在
20 步 baseline266.9s1.00×基準
20 步 + attention159.9s1.67×要好看走這條——不動步數,畫面與構圖都不變
6 步 baseline99.3s2.69×說話可用,但要接受偏黃與構圖改變
6 步 + 縮步 LoRA84.2s3.17×動作也能用,代價同上

一句話:要省時間就縮步,要好看就別動步數、改用 attention。

縮步的代價不會因為內容是「說話」就消失——偏黃照樣發生、構圖照樣改變。 說話影片之所以看起來沒差,是因為那類素材本來動作就少, 掩蓋了損失,不是縮步對它無害。

這一頁的數字量的是 ref2va(Reference-to-Video)這條路線, 目前測試結果尚不成熟。另一條 fl2va(首/尾格)路線的縮步表現 完全不同——快 2.60×、前景銳利度反而更高、色彩被首圖鎖住。 見文末〈⑥ fl2va:首圖驅動的縮步表現〉。

實作摘要

2026-08-10 補測 · 四個問題

縮步這件事在實作上會遇到四個問題,這一節把它們各自的答案先給出來, 細節與完整數據在後面各節。

① 對嘴唱歌,能不能用 fl2va + 縮步 LoRA?

不能。歌會被重新唱一遍。 fl2va 的權重接不住 ref_audios 的 copy exactly——聽起來很像同一首, 節奏也對得上幾個重拍,但那是模型自己唱的:

同一段音檔餵進去,輸出音軌與原檔的相符度
配置波形頻譜節奏包絡判讀
ref2va + 20 步0.9250.9540.988原音複製
fl2va + 6 步找不到對齊點0.4510.346重新生成
fl2va 6 步的畫面,配回原本那首歌。口型明確的字(「咚咚咚」)對得上, 其餘位置會逐漸偏開——因為嘴形是跟著模型自己唱的那一版長出來的。

判準可以直接當驗收門檻:相符度 ≥0.8 是 copy 生效,0.35~0.45 是 copy 失效,中間沒有灰帶。 跑完量一次就知道音軌是不是原本那首,不必靠耳朵在「聽起來很像」裡猶豫。

② 縮步要好看,靠什麼?頭尾格。

同一張首圖、同一份提示詞、同 seed,唯一差別是有沒有給尾格

10.13 秒 · 1312×736 · fl2va + v4(600step) + 6 步
量的東西有尾格只有首格
前景銳利度 p9999.195.1
末幀 vs 首幀 Lab 色距18.435.7
色彩漂移曲線漂出去又被拉回來單調累積,一路漂走
耗時205.2s205.3s

頭尾格買到的是「可控性」,不是「畫質」。 畫質來自 fl2va + v4 + 6 步(無尾格也有 95.1); 動作來自提示詞的 shot 序列(無尾格版一樣跑完了整套動作); 頭尾格負責的是終點精準落在指定的那張圖,以及色彩被兩端夾住

大動作 + 6 步 + 頭尾格:走廊全速衝刺、跨越障礙、撐長椅側翻、翻越樓梯扶手。 置物櫃門縫、格狀窗框、椅腳、欄杆立柱、承重的手掌都清楚。前景銳利度 99.1,末幀命中尾格 SSIM 0.741。

多 shot 也撐得住。把同一段從 5 個 shot 加密到 9 個 shot(每 1.1 秒一刀), 其餘條件完全相同:

5 shot9 shot
末幀命中尾格 SSIM0.7410.743
前景銳利度 p9999.184.6
shot 執行率5/59/9

終點命中率完全不受 shot 密度影響——尾格鎖的是最後一幀,中間切幾刀跟它無關。 銳利度低 14.6% 主要來自構圖(9 shot 版有一段推成大特寫,散景多)。

10 秒 9 個 shot,每 1.1 秒換一次鏡頭,九個 shot 全部執行到。

③ fl2va 能不能直接取代 ref2va?

社群的說法是換成 fl2va 權重會更銳利,實測確實如此—— 但參照保真度會掉。把 fl2va 的權重裝進 ref2va 的節點裡(同 prompt、同 seed 20264807、同兩張參考圖、同音檔,只換 UNET 與步數):

736×1312 · 243 幀 · 兩支只差三個欄位
ref2va + 20 步fl2va + 6 步 + turbo LoRA
前景銳利度 平均134.2148.0(+10.3%)
前景銳利度 最低值39.868.8(+73%)
邊緣密度3.15%3.91%
音軌保真原音複製重新生成
耗時212.1s

6 步的畫質「地板」比 20 步的地板還高(68.8 vs 39.8)。 代價是參照類的能力:音軌 copy 失效,畫面的參考細節也會被重新詮釋。 要銳利走 fl2va,要保真走 ref2va,這是能力邊界不是偏好。

④ 一張首圖能延伸多長?

把每段的末幀抽出來當下一段的首圖,一路接下去。 能接多長取決於題材,而不是段數。

末幀接龍的逐段畫質保留率
題材/路線接一次的變化原因
動漫/插畫(fl2va 6 步)+40% 以上細節是離散線條與色塊,重生只要把線畫回去
寫實(fl2va 6 步)−1.9%first_frame 是 fl2va 的原生輸入路徑
ref2va(舊測)−29%參考圖走語意通道,每接一次重畫整個畫面

但有一個硬條件:每一段的收鏡必須是正面、半身以上、臉清楚。

如果末幀是背影或小臉,模型拿不到正面資訊,身分會在下一段馬上飄掉。 做法是把它寫進提示詞的最後一個 shot: ...turns her whole upper body to look directly into the camera — a clear front-facing half-body framing... 這是補充而不是保存——每接一次就重新給模型一次身分資訊,所以能一直接下去。

一張首圖,接四次,共 50 秒。銳利度 100% → 144% → 145% → 139% → 126%, 四個接縫 SSIM 0.894/0.887/0.927/0.910,角色五段全保留。 畫面從白天畫畫走到夜裡點燈籠、晾圍裙—— 亮度一路下沉(147.6→81.4)而亮部與對比不掉,這條原本是「多次採樣的漂移」, 在這裡被當成日落用。

① fl2va:首圖驅動——目前最推薦的縮步做法

2026-08-10 · 建議先看這段

fl2va 吃首格(可選尾格)圖,走 MiniMaxH3ImageToVideo,沒有參考音、不做對嘴。 這條路線上的縮步 LoRA 可以完整掛上 MiniMaxH3TurboLoRAMiniMaxH3TurboSampler

單變因對照

10.13 秒 · 1312×736 · 243 幀 · RTX 5090 · 同首圖/同提示詞/同 seed
配置耗時相對前景銳利度與首圖色偏
無 LoRA + 20 步531.1s1.00×107.827.6
v4(600step) + 6 步204.1s2.60×128.0(1.19×)31.5

前景銳利度用 P99|Laplacian|(對散景免疫)量, 縮步版比滿步版高 19%。色偏是各時間點與首格圖的 RGB 距離, 兩者相當——色彩被首圖鎖住,縮步不影響。

提示詞裡寫著「蝴蝶脫離畫布後,畫布回復純白」。 6 步版做到了;20 步版的蝴蝶仍留在畫布上。 縮步在這裡不但沒有損失,敘事執行還更完整。

連續分鏡:頭尾格

把第 N+1 張分鏡圖當第 N 段的尾格, 每段終點會落在下一段起點。八段 720P 實測:

8 段 · 各 10.13 秒 · 1312×736 · 共 81 秒
量的東西結果
段 N 末幀 vs 指定尾格圖SSIM 0.900
段 N 末幀 vs 段 N+1 首幀(實際接縫)SSIM 0.889
逐段畫質衰減——每段都從給定圖起跑
八段總耗時1719s(28.7 分)

對照末幀接龍:接縫貼齊 0.9876 更高,但每接一次前景細節掉 29%, 五段之後只剩 25%。頭尾格的接縫略低一點,但第 8 段和第 1 段一樣清楚

怎麼選

需求路線
精確台詞、要對嘴ref2va + 20 步 + attention
有首圖、不需角色說話fl2va + v4(600step) + 6 步
連續分鏡fl2va 頭尾格(第 N 段尾格=第 N+1 張分鏡圖)

以下:ref2va 路線的測試紀錄

尚不成熟

以下段落量的是 ref2va(Reference-to-Video)這條路線, 適用於需要精確台詞、要對嘴的內容。 此路線的縮步測試目前結果尚不成熟,代價明顯,保留完整紀錄供參考。

② Baseline 直接縮步:說話可用,動作不行

Baseline

什麼都不加,單純把 BasicScheduler 的步數從 20 改成 6: 266.9 秒 → 99.3 秒,時間剩 37%。畫面的結果分成兩種,差距非常大。

說話/貼臉 可用。略柔,但臉好看、對嘴不跑掉、聲音完全不受影響
動作    糊到不能用。只有鏡頭推近到臉的那幾格還撐得住

聲音那一側特別值得講:H3 是一次前向同時產出畫面與聲音, 但縮步並沒有動到語音的品質。實測 1536×864、四個鏡頭、10.83 秒的對白片:

ASR 回測 四句台詞全中,順序正確,尾巴無亂音
口型   四個鏡頭嘴巴全開,動作各自到位
音色   與參考音 MFCC 相似度 0.9868
6 步 baseline 的對白影片(原生 1536×864 生成、RTX ×2.5 到 3840×2160,此處 1080P 預覽)。 兩段 10.83 秒接成,段間補過色差。這支沒有用任何縮步 LoRA。

⚠️ 但「說話可用」不等於「說話無損」。

臉看起來沒有太大改變,是因為這類素材本來動作就少—— 低步數最吃虧的是快速運動的時間一致性,而說話影片剛好沒有那個東西。 偏黃、構圖改變這兩項照樣發生(見第 ⑤ 節)。

所以取捨是這樣:要省時間就縮步;要好看,就不要動步數,改用 attention (20 步 + attention = 1.67×,畫面與構圖完全不變)。

對白要縮步,有一個前提條件:台詞必須逐鏡頭綁定。

每個 [Shot N] 要各帶自己的 <d>[Shot 2] At 00:03.500, 動作描述 <d>[Chinese] 這一鏡的台詞</d>。 把整段台詞塞進最後一個 <d> 的版本,同 seed A/B 實測前兩句完全閉嘴。 另外每個帶台詞的鏡頭,動作描述裡都要明寫「在說話」。

③ 縮步之後,attention 幾乎不再省時間

Attention

前一篇的 attention 加速在 20 步時很有效。但把它跟縮步放在一起,會發現一件事:

20 步 266.9s → 159.9s  省 40.1%
6 步  99.3s → 98.2s  省 1.1%

原因很直接:attention 加速的是「每一步」的計算。 步數從 20 砍到 6,它能作用的次數只剩不到三分之一,可省的絕對量也跟著消失。

兩種加速手段搶的是同一塊時間,不能相加。

如果已經決定縮步,就不必再為 attention 多接三個節點——它在低步數下的貢獻小到量不出來。 反過來說,不能縮步的場合(例如需要 20 步的高動作 baseline),attention 那 40% 仍然值得拿。

④ 縮步 LoRA:把動作影片救回來的那一塊

Turbo LoRA

第 ① 節的問題——動作影片在 6 步下糊掉——正是縮步 LoRA 要解決的。 社群目前有兩條訓練線,本文測的是其中一條。

  1. 先測的是 lightx2v 那條線Kijai/MiniMax-H3_comfy, 4 步、strength 0.75、需改用 er_sdesa_solver)。它確實有效——同樣 4 步, 掛上之後前景細節從 28.84 拉到 72.42(2.5 倍)。 但它會明顯改變畫面內容(換了採樣器,構圖與動作都跟原本不同), 而且手指結構不理想。所以我們轉去測另一條線。
  2. 本文主要測試的版本larryvrh/MiniMax-H3-Turbo-Lora + 官方節點 ComfyUI-MiniMax-H3-Turbostrength 1.06 步scheduler simple採樣器沿用原本的即可——這是它相對 lightx2v 的優點:變因少、構圖不會整個換掉。
  3. ⚠️ 這個版本不能用內建的 LoRA 節點載入(lightx2v 那顆可以,因為它發布的就是 ComfyUI 格式)。實測用 LoraLoaderModelOnly 時, 518 個權重全部沒有進去——數量正好等於這個 LoRA 的全部 tensor。 這種 lora key not loaded 不是可以忽略的那一種: 平常少數 key 對不上時 LoRA 照樣生效,但全部對不上就是完全沒有效果。 數一下行數跟 tensor 總數比,相等就是全滅。
  4. 社群另有 patch 版(SanDiegoDude/H3-Turbo-6-Step-LoRA-Comfy) 把權重轉成 ComfyUI 原生格式,可用內建節點直接載。 本文未測試那條路線——它的建議配方與作者的標準路線不同 (Eulerbeta57+strength 由 4.0 排程遞減), 訓練步長的設定也可能不一致,本文數字不能直接套過去

檔案與來源

Files
用途檔案來源
底模 minimax_h3_ref2va_pruned_int8_convrot
qwen3vl_32b_minimax_h3_nvfp4_awq(CLIP)
minimax_h3_video_vae_fp16_int8_convrot
minimax_h3_audio_vae_fp32
Comfy-Org/MiniMax-H3
縮步 LoRA
(本文主測)
minimax_h3_turbo_v4_step600_ema
minimax_h3_turbo_4step_ckpt850(v1)
larryvrh/MiniMax-H3-Turbo-Lora
需搭 ComfyUI-MiniMax-H3-Turbo 節點
縮步 LoRA
(另一條線)
minimax_h3_fl2v_lightx2v_turbo_4step_v0.1_comfy Kijai/MiniMax-H3_comfy
已是 ComfyUI 格式,內建節點可載
縮步 LoRA
(社群轉換版)
minimax_h3_turbo_6step_ema 等 4 檔 SanDiegoDude/H3-Turbo-6-Step-LoRA-Comfy
本文未測試
  1. 要用 larryvrh 那條線:cd ComfyUI/custom_nodes && git clone https://github.com/larryvrh/ComfyUI-MiniMax-H3-Turbo, 重啟 ComfyUI。LoRA 放 models/loras/
  2. 接線:MiniMaxH3TurboLoRAstrength 1.0low_vram OFF)接在 UNETLoader 之後;MiniMaxH3TurboSamplerSamplerCustomAdvanced.samplerBasicSchedulersimple / 6 步。 BasicGuider 與 BasicScheduler 都要吃同一條 patched model。
  3. 解析度取 32 倍數;length 必須落在 17k+5 網格上,不足會靜默切掉尾字。
  4. 確認 LoRA 真的生效:看 ComfyUI log 的 lora key not loaded 行數, 或直接跑一組不掛 LoRA 的對照比對輸出。
本篇不含 Spectrum Spectrum 採樣加速器在有聲音的情境一律不開——H3 一次前向同時產出畫面與聲音, 加速器改動 hidden feature 軌跡會讓音訊本身被重新生成(前一篇實測整體相關僅 0.385)。 純動作片仍可考慮,數字見 前一篇

⑤ 套用之後:範例與比對

Result

先回答讀者最常問的那一句:我能不能用更低的成本做出影片? 下面兩支是同素材、同 seed 的直線對照——左邊是原本的 20 步,右邊是 6 步+縮步 LoRA。

864×480 左:20 步,266.9 秒 / 右:6 步 + turbo LoRA,84.2 秒(剩 32%)。
1296×720 左:20 步,1002.6 秒(16.7 分鐘) / 右:6 步 + turbo LoRA,344.7 秒(剩 34.4%)。 收尾特寫那一段可以看得最清楚——手指、色調、表情三處同時出現差異。

同素材、同 seed、同 6 步,唯一差別是有沒有掛縮步 LoRA:

解析度縮步 LoRA前景細節鋸齒耗時
864×48056.470.137898.2s
98.520.118596.7s
1296×72057.000.1733208.0s
83.730.1051224.4s

前景細節差 74.5%,而耗時幾乎不變——LoRA 補的是畫質,不是速度。

6 步下有無縮步 LoRA 的畫面對照
左:6 步 baseline。右:6 步 + 縮步 LoRA。同 seed。 上排收尾特寫差在皮膚與髮絲;中、下排的衝刺與騰空差距更大—— baseline 幾乎糊成一團,這正是第 ① 節說的「動作不行」。
高動態下有無 LoRA 以及不同解析度
衝刺與騰空,統一放大到 1080P 觀看尺寸後 1:1 裁切。 左:720P 無 LoRA——背景整片橫紋、人物邊緣糊。 中:720P + LoRA——樹木、球門、看台、跑道白線全部清晰。 右:480P + LoRA——同樣乾淨,細節總量少一些。 糊的原因是步數不足,不是解析度不夠:往上堆解析度的時間成本是超線性的 (480P→720P ×2.71、→960P ×6.00),而掛上 LoRA 的成本接近 0。

兩顆 checkpoint 的取捨

864×480 · 6 步 · 同 seed
前景細節 vs 20 步 baselinea 通道(紅-綠)耗時
20 步 baseline1.00×(65.54)128.7266.9s
6 步 + v1(~850)1.50×(98.52)過銳131.596.7s
6 步 + v41.00×(65.64)129.684.2s

v1(~850)的「過度銳利」是量得出來的:1.50 倍。 那不是更清楚,是皮膚顆粒感、髮絲過度描邊、對比過強,加上 a 通道最高(偏紅), 整體呈現偏黃的加工感。v4 在 480P 精確回到 baseline 的 1.00×,色偏收斂,而且快 13%。

但這條有解析度邊界 「v4 回到 baseline」只在 480P 成立。同樣的 v4 在 720P 量到 1.17×, 已經開始偏銳——所以往高解析度走時,v4 可能也要像 v1 那樣考慮把 strength 往下調。 低解析度測出來的「剛剛好」,不會自動延伸到高解析度。
baseline、v1、v4 的皮膚質感與動態
上排收尾特寫:v1 皮膚顆粒重、偏暖黃;v4 自然且仍清晰。 下排衝刺:兩者都清楚,v4 的質感較接近實拍。

過銳的處方:降 strength 要配解析度

上游對 over-sharp 的建議是把 strength 調到 0.8~0.95。實測發現單降不夠

v1 @1.0 720P 前景 1.28× baseline 鋸齒 0.1051
v1 @0.8 720P 前景 1.20× baseline 鋸齒 0.1281 ← 仍過銳,鋸齒反而更差
v1 @0.8 960P 前景 0.95× baseline 鋸齒 0.1102 ← 到位

同樣的細節量攤在更多像素上,銳利度自然回落;只降 strength 而不給更大的畫布,兩頭落空。 而降 strength 沒有把動作的清晰度一起帶走——這是這個配方最大的風險點,實測已排除。 代價是時間:496.9 秒/10 秒素材

baseline、v1@1.0、v1@0.8+960P 的對照
左:20 步 baseline(高動態本來就糊)。中:v1 @1.0 720P,清晰但偏硬偏黃。 右:v1 @0.8 960P——同樣清晰,質感自然,色調回正。

⑥ 天下沒有白吃的午餐:三個代價

Cost

時間省下三分之二,代價有三個。這裡按「可不可修」排序,而不是按嚴重程度—— 因為讀者真正要判斷的是「我付不付得起」,而可不可修才是關鍵。

可修 ① 偏黃、偏亮

864×480  b(黃-藍) +3.2 L(亮度) +3.7
1296×720 b(黃-藍) +4.0 L(亮度) +9.1 ← 高解析度下成分更重

第一眼最強烈的差異其實是這個——不是細節,是整體調性偏暖偏亮。 但有兩件事讓它不算大問題:

① 這是「縮步」本身的傾向,不是 LoRA 造成的。 6 步不掛 LoRA 的版本 b=137.9,是全場最黃的;掛上 LoRA 之後反而回到 136.8。

② ComfyUI 內建就有解。 AutoWhiteBalanceLayerColor: ColorTemperatureColorBalanceLevelsCurveEditor —— 加一個節點的事,不必為它放棄縮步。

可修 ② 手部等精細結構

收尾特寫那一格最明顯:20 步的雙手指節分明、邊緣乾淨;6 步的手指會黏在一起、指節不成形。 臉、服裝、場景都看不出退步,偏偏是手。 處理方式是重抽一次,或在分鏡時避開手部特寫——成本有限。

為什麼指標抓不到這件事 前景銳利度在 480P 是 1.00×(6 步與 20 步持平),數字會說「沒有損失」。 但指標量的是「畫面有多銳利」,讀者在意的是「有沒有崩」—— 手糊掉的同時邊緣對比可能還更強,銳利度不降反升。 任何畫質結論,落筆前先抽幀看畫面。

不可修 ③ 構圖與運鏡整個換掉

與 20 步 baseline 的結構相似度(同 seed、同提示詞)
20 步 + attention SSIM 0.6528
6 步 不掛 LoRA   SSIM 0.5355
6 步 + v4     SSIM 0.4728 (480P)
6 步 + v4     SSIM 0.4863 (720P)

縮步等於重擲一次構圖——同一個 seed 也保不住,因為改掉的是整條去噪軌跡, 不是在原本的畫面上做微調。而且這個數字在 480P 與 720P 幾乎一樣(0.47/0.49), 與解析度無關

所以決策點不是畫質,是「這支片的構圖定案了沒」。

還在探索、構圖未定 → 直接縮步,省三分之二的時間。
已經有一支喜歡的 20 步成品 → 不要縮步重跑,你會拿到另一支片, 而且沒有任何後製能把它調回來。

附帶一提:景深也會被動到,但看是哪一顆

用「中央銳利度 ÷ 邊緣銳利度」當景深指標(比值高=背景相對糊=淺景深的電影感):

20 步 baseline 2.08
6 步 + v4   2.13  持平,電影感保住
6 步 + v1(850) 1.60  背景被拉清楚,淺景深沒了

v1 那顆把中央與邊緣的銳利度雙雙拉高(27.1/13.0 → 40.2/25.1), 看起來「處處都很清楚」——但背景模糊本來不是缺陷,是淺景深, 把它「修正」掉等於拿掉電影感。這是選 v4 的另一個理由。

結論

Takeaway
依內容選步數(10 秒素材)
內容配方耗時
要好看(任何內容)20 步 + attention,不動步數159.9s
說話、貼臉(要省時間)6 步 baseline,不需要 LoRA~99s
一般動作6 步 + v484.2s
高動作又要臉6 步 + [email protected] + 960P496.9s
不能縮步的場合20 步 + attention(省 40.1%)159.9s

步數不是一個可以單獨調的旋鈕,它的下限由內容決定。

說話影片的下限很低——聲音與對嘴完全不受縮步影響,6 步就夠。 動作影片的下限被畫面的時間一致性卡住,要嘛留在 20 步,要嘛用縮步 LoRA 把它補回來。

而真正該問的問題不是「畫質會不會掉」,是「這支片的構圖定案了沒」。

偏黃可以調色,手部可以重抽——只有構圖不能還原。 縮步等於重擲一次構圖(SSIM 0.47~0.49,與解析度無關), 所以探索期儘管縮,但已經有一支喜歡的 20 步成品時,不要為了省時間重跑它。