模型概述
模型特點
模型能力
使用案例
🚀 SkyReels V2:無限長度電影生成模型
SkyReels V2是全球首個採用自迴歸擴散強制架構的開源視頻生成模型,在公開可用的模型中達到了SOTA性能。它能解決視頻生成中在遵循提示、視覺質量、運動動態和時長等方面的協調難題,可實現無限長度視頻生成,支持故事生成、圖像到視頻合成等多種實際應用。
🚀 快速開始
安裝
# 克隆倉庫
git clone https://github.com/SkyworkAI/SkyReels-V2
cd SkyReels-V2
# 安裝依賴。測試環境使用Python 3.10.12
pip install -r requirements.txt
模型下載
你可以從Hugging Face下載我們的模型:
類型 | 模型變體 | 推薦高度/寬度/幀數 | 鏈接 |
---|---|---|---|
擴散強制 | 1.3B - 540P | 544 * 960 * 97f | 🤗 Huggingface 🤖 ModelScope |
擴散強制 | 5B - 540P | 544 * 960 * 97f | 即將推出 |
擴散強制 | 5B - 720P | 720 * 1280 * 121f | 即將推出 |
擴散強制 | 14B - 540P | 544 * 960 * 97f | 🤗 Huggingface 🤖 ModelScope |
擴散強制 | 14B - 720P | 720 * 1280 * 121f | 🤗 Huggingface 🤖 ModelScope |
文本到視頻 | 1.3B - 540P | 544 * 960 * 97f | 即將推出 |
文本到視頻 | 5B - 540P | 544 * 960 * 97f | 即將推出 |
文本到視頻 | 5B - 720P | 720 * 1280 * 121f | 即將推出 |
文本到視頻 | 14B - 540P | 544 * 960 * 97f | 🤗 Huggingface 🤖 ModelScope |
文本到視頻 | 14B - 720P | 720 * 1280 * 121f | 🤗 Huggingface 🤖 ModelScope |
圖像到視頻 | 1.3B - 540P | 544 * 960 * 97f | 🤗 Huggingface 🤖 ModelScope |
圖像到視頻 | 5B - 540P | 544 * 960 * 97f | 即將推出 |
圖像到視頻 | 5B - 720P | 720 * 1280 * 121f | 即將推出 |
圖像到視頻 | 14B - 540P | 544 * 960 * 97f | 🤗 Huggingface 🤖 ModelScope |
圖像到視頻 | 14B - 720P | 720 * 1280 * 121f | 🤗 Huggingface 🤖 ModelScope |
鏡頭導演 | 5B - 540P | 544 * 960 * 97f | 即將推出 |
鏡頭導演 | 5B - 720P | 720 * 1280 * 121f | 即將推出 |
鏡頭導演 | 14B - 720P | 720 * 1280 * 121f | 即將推出 |
下載後,在生成命令中設置模型路徑。
單GPU推理
用於長視頻生成的擴散強制
擴散強制版本的模型允許我們生成無限長度的視頻。該模型支持**文本到視頻(T2V)和圖像到視頻(I2V)**任務,並且可以在同步和異步模式下進行推理。以下是兩個用於長視頻生成的運行腳本示例。如果你想調整推理參數,例如視頻時長、推理模式,請先閱讀下面的注意事項。
- 同步生成10秒視頻
model_id=Skywork/SkyReels-V2-DF-14B-540P
# 同步推理
python3 generate_video_df.py \
--model_id ${model_id} \
--resolution 540P \
--ar_step 0 \
--base_num_frames 97 \
--num_frames 257 \
--overlap_history 17 \
--prompt "A graceful white swan with a curved neck and delicate feathers swimming in a serene lake at dawn, its reflection perfectly mirrored in the still water as mist rises from the surface, with the swan occasionally dipping its head into the water to feed." \
--addnoise_condition 20 \
--offload \
--teacache \
--use_ret_steps \
--teacache_thresh 0.3
- 異步生成30秒視頻
model_id=Skywork/SkyReels-V2-DF-14B-540P
# 異步推理
python3 generate_video_df.py \
--model_id ${model_id} \
--resolution 540P \
--ar_step 5 \
--causal_block_size 5 \
--base_num_frames 97 \
--num_frames 737 \
--overlap_history 17 \
--prompt "A graceful white swan with a curved neck and delicate feathers swimming in a serene lake at dawn, its reflection perfectly mirrored in the still water as mist rises from the surface, with the swan occasionally dipping its head into the water to feed." \
--addnoise_condition 20 \
--offload
⚠️ 重要提示
- 如果你想運行**圖像到視頻(I2V)任務,請在命令中添加
--image ${image_path}
參數,並且最好使用類似文本到視頻(T2V)**的提示,其中包含一些對第一幀圖像的描述。- 對於長視頻生成,你可以只更改
--num_frames
參數,例如,--num_frames 257
用於生成10秒視頻,--num_frames 377
用於生成15秒視頻,--num_frames 737
用於生成30秒視頻,--num_frames 1457
用於生成60秒視頻。該數字與指定時長的邏輯幀數並不嚴格對齊,但與一些訓練參數對齊,這意味著它可能表現更好。當你使用causal_block_size > 1
的異步推理時,應謹慎設置--num_frames
參數。- 你可以使用
--ar_step 5
來啟用異步推理。在異步推理時,建議設置--causal_block_size 5
,而同步生成時不應該設置該參數。請記住,每次迭代輸入到模型中的幀潛在數量,例如,基本幀潛在數量(例如,對於base_num_frames = 97
,(97 - 1) // 4 + 1 = 25)和最後一次迭代的數量(例如,對於base_num_frames = 97
,num_frames = 237
,overlap_history = 17
,(237 - 97 - (97 - 17) x 1 + 17 - 1) // 4 + 1 = 20),必須能被causal_block_size
整除。如果你發現計算和設置合適的值太難,只需使用我們上面推薦的設置即可。異步推理將需要更多步驟來擴散整個序列,這意味著它將比同步模式慢。在我們的實驗中,異步推理可能會提高指令遵循和視覺一致性性能。- 為了減少峰值顯存,只需降低
--base_num_frames
參數,例如,降至77或57,同時保持你想要生成的相同生成長度--num_frames
。這可能會略微降低視頻質量,並且不應設置得太小。--addnoise_condition
用於通過向乾淨條件添加一些噪聲來幫助平滑長視頻生成。過大的噪聲也會導致不一致。20是一個推薦值,你可以嘗試更大的值,但建議不超過50。- 使用1.3B模型生成540P視頻大約需要14.7GB的峰值顯存,而使用14B模型生成相同分辨率的視頻大約需要51.2GB的峰值顯存。
文本到視頻和圖像到視頻
# 運行文本到視頻生成
model_id=Skywork/SkyReels-V2-T2V-14B-540P
python3 generate_video.py \
--model_id ${model_id} \
--resolution 540P \
--num_frames 97 \
--guidance_scale 6.0 \
--shift 8.0 \
--fps 24 \
--prompt "A serene lake surrounded by towering mountains, with a few swans gracefully gliding across the water and sunlight dancing on the surface." \
--offload \
--teacache \
--use_ret_steps \
--teacache_thresh 0.3
⚠️ 重要提示
- 當使用**圖像到視頻(I2V)**模型時,你必須使用
--image ${image_path}
參數提供輸入圖像。對於I2V模型,建議使用--guidance_scale 5.0
和--shift 3.0
。- 使用1.3B模型生成540P視頻大約需要14.7GB的峰值顯存,而使用14B模型生成相同分辨率的視頻大約需要43.4GB的峰值顯存。
提示增強器
提示增強器基於Qwen2.5 - 32B - Instruct實現,並通過--prompt_enhancer
參數使用。它對於短提示效果理想,而對於長提示,它可能會生成過長的提示,導致生成的視頻過度飽和。如果你使用--prompt_enhancer
,請注意GPU的峰值內存為64G +。如果你想單獨獲得增強後的提示,也可以單獨運行提示增強器腳本進行測試。步驟如下:
cd skyreels_v2_infer/pipelines
python3 prompt_enhancer.py --prompt "A serene lake surrounded by towering mountains, with a few swans gracefully gliding across the water and sunlight dancing on the surface."
⚠️ 重要提示
- 如果使用
--use_usp
,則不允許使用--prompt_enhancer
。我們建議先運行skyreels_v2_infer/pipelines/prompt_enhancer.py
腳本來生成增強後的提示,然後再啟用--use_usp
參數。
高級配置選項
以下是你可以自定義的視頻生成關鍵參數:
參數 | 推薦值 | 描述 |
---|---|---|
--prompt | 用於生成視頻的文本描述 | |
--image | 圖像到視頻生成的輸入圖像路徑 | |
--resolution | 540P或720P | 輸出視頻分辨率(根據模型類型選擇) |
--num_frames | 97或121 | 要生成的總幀數(540P模型為97,720P模型為121) |
--inference_steps | 50 | 去噪步驟數 |
--fps | 24 | 輸出視頻的幀率 |
--shift | 8.0或5.0 | 流匹配調度器參數(T2V為8.0,I2V為5.0) |
--guidance_scale | 6.0或5.0 | 控制文本遵循強度(T2V為6.0,I2V為5.0) |
--seed | 用於可重複結果的固定種子(省略則隨機生成) | |
--offload | True | 將模型組件卸載到CPU以減少顯存使用(推薦) |
--use_usp | True | 啟用xDiT USP進行多GPU加速 |
--outdir | ./video_out | 生成視頻的保存目錄 |
--prompt_enhancer | True | 將提示擴展為更詳細的描述 |
--teacache | False | 啟用teacache以加快推理速度 |
--teacache_thresh | 0.2 | 加速越高,質量越差 |
--use_ret_steps | False | teacache的保留步驟 |
擴散強制附加參數
參數 | 推薦值 | 描述 |
---|---|---|
--ar_step | 0 | 控制異步推理(0表示同步模式) |
--base_num_frames | 97或121 | 基本幀數(540P為97,720P為121) |
--overlap_history | 17 | 長視頻中用於平滑過渡的重疊幀數 |
--addnoise_condition | 20 | 提高長視頻生成的一致性 |
--causal_block_size | 5 | 使用異步推理(--ar_step > 0 )時推薦 |
多GPU推理(使用xDiT USP)
我們使用 xDiT USP來加速推理。例如,要使用2個GPU生成視頻,可以使用以下命令:
擴散強制
model_id=Skywork/SkyReels-V2-DF-14B-540P
# 擴散強制同步推理
torchrun --nproc_per_node=2 generate_video_df.py \
--model_id ${model_id} \
--resolution 540P \
--ar_step 0 \
--base_num_frames 97 \
--num_frames 257 \
--overlap_history 17 \
--prompt "A graceful white swan with a curved neck and delicate feathers swimming in a serene lake at dawn, its reflection perfectly mirrored in the still water as mist rises from the surface, with the swan occasionally dipping its head into the water to feed." \
--addnoise_condition 20 \
--use_usp \
--offload \
--seed 42
文本到視頻和圖像到視頻
# 運行文本到視頻生成
model_id=Skywork/SkyReels-V2-T2V-14B-540P
torchrun --nproc_per_node=2 generate_video.py \
--model_id ${model_id} \
--resolution 540P \
--num_frames 97 \
--guidance_scale 6.0 \
--shift 8.0 \
--fps 24 \
--offload \
--prompt "A serene lake surrounded by towering mountains, with a few swans gracefully gliding across the water and sunlight dancing on the surface." \
--use_usp \
--seed 42
⚠️ 重要提示
- 當使用**圖像到視頻(I2V)**模型時,你必須使用
--image ${image_path}
參數提供輸入圖像。對於I2V模型,建議使用--guidance_scale 5.0
和--shift 3.0
。
✨ 主要特性
視頻字幕器
SkyCaptioner-V1作為我們的數據標註視頻字幕模型。該模型在基礎模型Qwen2.5-VL-72B-Instruct的字幕結果和子專家字幕器的基礎上,在平衡視頻數據上進行訓練。平衡視頻數據是一個精心策劃的約200萬個視頻的數據集,以確保概念平衡和標註質量。基於Qwen2.5-VL-7B-Instruct基礎模型,SkyCaptioner-V1進行了微調,以提高在特定領域視頻字幕任務中的性能。為了與SOTA模型進行性能比較,我們使用1000個樣本的測試集對不同字幕領域的準確性進行了手動評估。所提出的SkyCaptioner-V1在基線模型中實現了最高的平均準確率,並且在與鏡頭相關的領域顯示出顯著的結果。
模型 | Qwen2.5-VL-7B-Ins. | Qwen2.5-VL-72B-Ins. | Tarsier2-Recap-7b | SkyCaptioner-V1 |
---|---|---|---|---|
平均準確率 | 51.4% | 58.7% | 49.4% | 76.3% |
鏡頭類型 | 76.8% | 82.5% | 60.2% | 93.7% |
鏡頭角度 | 60.0% | 73.7% | 52.4% | 89.8% |
鏡頭位置 | 28.4% | 32.7% | 23.6% | 83.1% |
相機運動 | 62.0% | 61.2% | 45.3% | 85.3% |
表情 | 43.6% | 51.5% | 54.3% | 68.8% |
TYPES_type | 43.5% | 49.7% | 47.6% | 82.5% |
TYPES_sub_type | 38.9% | 44.9% | 45.9% | 75.4% |
外觀 | 40.9% | 52.0% | 45.6% | 59.3% |
動作 | 32.4% | 52.0% | 69.8% | 68.8% |
位置 | 35.4% | 48.6% | 45.5% | 57.5% |
是否為主主體 | 58.5% | 68.7% | 69.7% | 80.9% |
環境 | 70.4% | 72.7% | 61.4% | 70.5% |
光照 | 77.1% | 80.0% | 21.2% | 76.5% |
強化學習
受LLM先前成功的啟發,我們提出通過強化學習來提高生成模型的性能。具體來說,我們專注於運動質量,因為我們發現生成模型的主要缺點是:
- 生成模型處理大的、可變形的運動效果不佳。
- 生成的視頻可能違反物理定律。
為了避免在其他指標(如文本對齊和視頻質量)上的下降,我們確保偏好數據對具有可比的文本對齊和視頻質量,而只有運動質量不同。這一要求在獲得偏好註釋方面帶來了更大的挑戰,因為人工註釋的成本本來就更高。為了應對這一挑戰,我們提出了一種半自動管道,將自動生成的運動對和人工註釋結果進行戰略性結合。這種混合方法不僅擴大了數據規模,還通過精心策劃的質量控制提高了與人類偏好的一致性。利用這個增強的數據集,我們首先訓練一個專門的獎勵模型,以捕捉配對樣本之間的通用運動質量差異。這個學習到的獎勵函數隨後指導直接偏好優化(DPO)的樣本選擇過程,提高生成模型的運動質量。
擴散強制
我們引入了擴散強制Transformer,以解鎖我們模型生成長視頻的能力。擴散強制是一種訓練和採樣策略,其中每個令牌被分配一個獨立的噪聲水平。這允許令牌根據任意的、每個令牌的時間表進行去噪。從概念上講,這種方法作為一種部分掩碼形式:噪聲為零的令牌完全未被掩碼,而完全噪聲則完全掩碼它。擴散強制訓練模型“取消掩碼”任何可變噪聲令牌的組合,使用較乾淨的令牌作為條件信息來指導噪聲令牌的恢復。在此基礎上,我們的擴散強制Transformer可以根據前一段的最後幾幀無限擴展視頻生成。請注意,同步全序列擴散是擴散強制的一種特殊情況,其中所有令牌共享相同的噪聲水平。這種關係允許我們從全序列擴散模型微調擴散強制Transformer。
高質量監督微調(SFT)
我們分別在540p和720p分辨率下實現了兩個連續的高質量監督微調(SFT)階段,初始SFT階段在預訓練後但在強化學習(RL)階段之前立即進行。這個第一階段的SFT作為一個概念平衡訓練器,基於僅使用fps24視頻數據的基礎模型的預訓練結果,同時戰略性地移除FPS嵌入組件以簡化架構。使用高質量概念平衡樣本進行訓練,這個階段為後續訓練過程建立了優化的初始化參數。在此之後,我們在完成擴散強制階段後在720p分辨率下執行第二個高分辨率SFT,結合相同的損失公式和通過手動過濾的更高質量概念平衡數據集。這個最終的細化階段專注於提高分辨率,從而進一步提高整體視頻質量。
📚 詳細文檔
摘要
近期視頻生成的進展受到擴散模型和自迴歸框架的推動,但在協調遵循提示、視覺質量、運動動態和時長方面仍然存在關鍵挑戰:為了提高時間視覺質量而在運動動態上做出妥協,為了優先考慮分辨率而限制視頻時長(5 - 10秒),以及由於通用多模態大語言模型(MLLM)無法解釋電影語法(如鏡頭構圖、演員表情和相機運動)而導致的鏡頭感知生成不足。這些相互交織的限制阻礙了逼真的長格式合成和專業電影風格的生成。
為了解決這些限制,我們推出了SkyReels-V2,這是世界上第一個使用擴散強制框架的無限長度電影生成模型。我們的方法將多模態大語言模型(MLLM)、多階段預訓練、強化學習和擴散強制技術相結合,以實現全面優化。除了其技術創新之外,SkyReels-V2還支持多種實際應用,包括故事生成、圖像到視頻合成、鏡頭導演功能以及通過我們的Skyreels-A2系統進行多主體一致的視頻生成。
SkyReels-V2的方法論
SkyReels-V2的方法論由幾個相互關聯的組件組成。它從一個全面的數據處理管道開始,該管道準備各種質量的訓練數據。其核心是視頻字幕器架構,它為視頻內容提供詳細的註釋。該系統採用多任務預訓練策略來構建基本的視頻生成能力。訓練後優化包括強化學習以提高運動質量、擴散強制訓練以生成擴展視頻,以及高質量監督微調(SFT)階段以進行視覺細化。該模型在優化的計算基礎設施上運行,以實現高效的訓練和推理。SkyReels-V2支持多種應用,包括故事生成、圖像到視頻合成、鏡頭導演功能以及元素到視頻生成。
SkyReels-V2的關鍵貢獻
視頻字幕器
如前文所述,SkyCaptioner-V1在視頻字幕任務中表現出色,在多個指標上優於基線模型。
強化學習
通過提出的半自動管道,結合自動生成的運動對和人工註釋結果,提高了生成模型的運動質量。
擴散強制
引入擴散強制Transformer,使模型能夠生成無限長度的視頻,並且可以從全序列擴散模型進行微調。
高質量監督微調(SFT)
通過兩個連續的SFT階段,分別在540p和720p分辨率下進行,提高了視頻的整體質量。
性能
人工評估
為了全面評估我們提出的方法,我們構建了SkyReels-Bench進行人工評估,並利用開源的V-Bench進行自動評估。這使我們能夠將我們的模型與最先進的(SOTA)基線進行比較,包括開源和專有模型。
- 文本到視頻模型
模型名稱 | 平均得分 | 指令遵循 | 一致性 | 視覺質量 | 運動質量 |
---|---|---|---|---|---|
Runway-Gen3 Alpha | 2.53 | 2.19 | 2.57 | 3.23 | 2.11 |
HunyuanVideo-13B | 2.82 | 2.64 | 2.81 | 3.20 | 2.61 |
Kling-1.6 STD Mode | 2.99 | 2.77 | 3.05 | 3.39 | 2.76 |
Hailuo-01 | 3.0 | 2.8 | 3.08 | 3.29 | 2.74 |
Wan2.1-14B | 3.12 | 2.91 | 3.31 | 3.54 | 2.71 |
SkyReels-V2 | 3.14 | 3.15 | 3.35 | 3.34 | 2.74 |
評估表明,我們的模型在指令遵循(3.15)方面比基線方法取得了顯著進展,同時在運動質量(2.74)方面保持了有競爭力的性能,而不犧牲一致性(3.35)。
- 圖像到視頻模型
模型 | 平均得分 | 指令遵循 | 一致性 | 視覺質量 | 運動質量 |
---|---|---|---|---|---|
HunyuanVideo-13B | 2.84 | 2.97 | 2.95 | 2.87 | 2.56 |
Wan2.1-14B | 2.85 | 3.10 | 2.81 | 3.00 | 2.48 |
Hailuo-01 | 3.05 | 3.31 | 2.58 | 3.55 | 2.74 |
Kling-1.6 Pro Mode | 3.4 | 3.56 | 3.03 | 3.58 | 3.41 |
Runway-Gen4 | 3.39 | 3.75 | 3.2 | 3.4 | 3.37 |
SkyReels-V2-DF | 3.24 | 3.64 | 3.21 | 3.18 | 2.93 |
SkyReels-V2-I2V | 3.29 | 3.42 | 3.18 | 3.56 | 3.01 |
我們的結果表明,**SkyReels-V2-I2V(3.29)和SkyReels-V2-DF(3.24)**在開源模型中實現了SOTA性能,在所有質量維度上顯著優於HunyuanVideo-13B(2.84)和Wan2.1-14B(2.85)。SkyReels-V2-I2V的平均得分為3.29,與專有模型Kling-1.6(3.4)和Runway-Gen4(3.39)表現相當。
VBench
為了客觀地將SkyReels-V2模型與其他領先的開源文本到視頻模型進行比較,我們使用公共基準V-Bench進行了全面評估。我們的評估特別利用了基準的較長版本提示。為了與基線模型進行公平比較,我們嚴格遵循它們推薦的推理設置。
模型 | 總得分 | 質量得分 | 語義得分 |
---|---|---|---|
OpenSora 2.0 | 81.5 % | 82.1 % | 78.2 % |
CogVideoX1.5-5B | 80.3 % | 80.9 % | 77.9 % |
HunyuanVideo-13B | 82.7 % | 84.4 % | 76.2 % |
Wan2.1-14B | 83.7 % | 84.2 % | 81.4 % |
SkyReels-V2 | 83.9 % | 84.7 % | 80.8 % |
VBench結果表明,SkyReels-V2在所有比較模型(包括HunyuanVideo-13B和Wan2.1-14B)中表現出色,具有最高的總得分(83.9%)和質量得分(84.7%)。在這次評估中,語義得分略低於Wan2.1-14B,而我們在人工評估中優於Wan2.1-14B,主要差距歸因於V-Bench對鏡頭場景語義遵循的評估不足。
致謝
我們要感謝Wan 2.1、XDit和Qwen 2.5倉庫的貢獻者,感謝他們的開放研究和貢獻。
引用
@misc{chen2025skyreelsv2infinitelengthfilmgenerative,
title={SkyReels-V2: Infinite-length Film Generative Model},
author={Guibin Chen and Dixuan Lin and Jiangping Yang and Chunze Lin and Junchen Zhu and Mingyuan Fan and Hao Zhang and Sheng Chen and Zheng Chen and Chengcheng Ma and Weiming Xiong and Wei Wang and Nuo Pang and Kang Kang and Zhiheng Xu and Yuzhe Jin and Yupeng Liang and Yubing Song and Peng Zhao and Boyuan Xu and Di Qiu and Debang Li and Zhengcong Fei and Yang Li and Yahui Zhou},
year={2025},
eprint={2504.13074},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2504.13074},
}
📦 安裝指南
見快速開始部分的安裝步驟。
💻 使用示例
基礎用法
見快速開始部分的單GPU推理和多GPU推理示例。
高級用法
通過調整高級配置選項和擴散強制附加參數,實現更靈活的視頻生成,如調整視頻分辨率、時長、推理模式等。
🔧 技術細節
擴散強制Transformer
擴散強制Transformer允許模型根據前一段的最後幾幀無限擴展視頻生成。它通過為每個令牌分配獨立的噪聲水平,實現根據任意的、每個令牌的時間表進行去噪。同步全序列擴散是擴散強制的一種特殊情況,這使得可以從全序列擴散模型微調擴散強制Transformer。
高質量監督微調(SFT)
在540p和720p分辨率下分別進行兩個連續的SFT階段。第一階段在預訓練後但在強化學習之前進行,作為概念平衡訓練器,移除FPS嵌入組件以簡化架構。第二階段在擴散強制階段後在720p分辨率下進行,結合相同的損失公式和更高質量的概念平衡數據集,進一步提高視頻質量。
強化學習
通過半自動管道結合自動生成的運動對和人工註釋結果,訓練專門的獎勵模型,指導直接偏好優化(DPO)的樣本選擇過程,提高生成模型的運動質量。
📄 許可證
本項目採用 skywork-license 許可證。





