模型概述
模型特點
模型能力
使用案例
🚀 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秒視頻。該數字與指定時長的邏輯幀數並不嚴格對齊,但與一些訓練參數對齊,這意味著它可能表現更好。當你使用因果塊大小大於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),必須能被因果塊大小整除。如果你發現計算和設置合適的值太困難,只需使用我們上面推薦的設置即可。異步推理將需要更多步驟來擴散整個序列,這意味著它將比同步模式慢。在我們的實驗中,異步推理可能會提高指令遵循和視覺一致性性能。- 為了減少峰值顯存,只需降低
--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
。我們建議在啟用--use_usp
參數之前,先運行skyreels_v2_infer/pipelines/prompt_enhancer.py
腳本來生成增強後的提示。
高級配置選項
以下是你可以自定義的視頻生成關鍵參數:
參數 | 推薦值 | 描述 |
---|---|---|
--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)時推薦 |
使用xDiT USP進行多GPU推理
我們使用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
。
✨ 主要特性
解決現有視頻生成問題
當前視頻生成在提示遵循、視覺質量、運動動態和時長等方面存在挑戰,如為提高時間視覺質量而犧牲運動動態,為優先考慮分辨率而限制視頻時長,以及由於通用MLLM無法解釋電影語法而導致的鏡頭感知生成不足。SkyReels - V2通過採用擴散強制框架,結合多模態大語言模型、多階段預訓練、強化學習和擴散強制技術,實現了全面優化,解決了這些問題。
支持多種應用
SkyReels - V2支持故事生成、圖像到視頻合成、鏡頭導演功能以及通過Skyreels - A2系統進行多主體一致視頻生成等多種實際應用。
關鍵技術貢獻
- 視頻字幕器:SkyCaptioner - V1作為數據標註的視頻字幕模型,在多個字幕領域的評估中表現出色,能夠提供詳細的視頻內容註釋。
- 強化學習:通過半自動化管道結合自動生成的運動對和人工註釋結果,訓練專門的獎勵模型,指導直接偏好優化(DPO)的樣本選擇過程,提高生成模型的運動質量。
- 擴散強制:引入擴散強制Transformer,允許每個令牌分配獨立的噪聲水平,實現無限長度的視頻生成。
- 高質量監督微調(SFT):在540p和720p分辨率分別進行兩個順序的高質量監督微調階段,提高視頻的整體質量。
📚 詳細文檔
摘要
當前視頻生成的進展由擴散模型和自迴歸框架推動,但在協調提示遵循、視覺質量、運動動態和時長方面仍存在關鍵挑戰,這些挑戰阻礙了逼真的長格式合成和專業電影風格的生成。為解決這些問題,我們推出了SkyReels - V2,世界上第一個使用擴散強制框架的無限長度電影生成模型。我們的方法結合了多模態大語言模型(MLLM)、多階段預訓練、強化學習和擴散強制技術,實現了全面優化。除了技術創新,SkyReels - V2還支持多種實際應用。
SkyReels - V2的方法
SkyReels - V2的方法由多個相互關聯的組件組成。它從全面的數據處理管道開始,準備各種質量的訓練數據。其核心是視頻字幕器架構,為視頻內容提供詳細註釋。系統採用多任務預訓練策略來構建基本的視頻生成能力。訓練後優化包括強化學習以提高運動質量、擴散強制訓練以生成擴展視頻,以及高質量監督微調(SFT)階段以進行視覺細化。模型在優化的計算基礎設施上運行,以實現高效的訓練和推理。SkyReels - V2支持多種應用。
SkyReels - V2的關鍵貢獻
視頻字幕器
SkyCaptioner - V1作為我們的數據標註視頻字幕模型,在多個字幕領域的評估中表現優於基線模型,能夠提供更準確的視頻內容註釋。
強化學習
通過半自動化管道解決獲取偏好註釋的挑戰,訓練專門的獎勵模型,指導直接偏好優化(DPO)的樣本選擇過程,提高生成模型的運動質量。
擴散強制
引入擴散強制Transformer,允許每個令牌分配獨立的噪聲水平,實現無限長度的視頻生成。同步全序列擴散是擴散強制的一種特殊情況,這使得我們可以從全序列擴散模型微調擴散強制Transformer。
高質量監督微調(SFT)
在540p和720p分辨率分別進行兩個順序的高質量監督微調階段,提高視頻的整體質量。
性能
人工評估
通過設計SkyReels - Bench進行人工評估,在文本到視頻和圖像到視頻生成模型的評估中,SkyReels - V2在指令遵循、運動質量、一致性和視覺質量等方面表現出色,在多個維度上優於基線模型。
VBench評估
使用公開基準V - Bench進行客觀評估,SkyReels - V2在總得分和質量得分上超過了所有比較模型,儘管語義得分略低於Wan2.1 - 14B,但在人工評估中表現更優。
🔧 技術細節
數據處理
SkyReels - V2採用全面的數據處理管道,準備各種質量的訓練數據,為模型的訓練提供基礎。
核心架構
以視頻字幕器架構為核心,為視頻內容提供詳細註釋,支持模型的多任務預訓練和後續優化。
訓練策略
採用多任務預訓練策略構建基本的視頻生成能力,結合強化學習、擴散強制訓練和高質量監督微調(SFT)等技術,不斷優化模型的性能。
計算基礎設施
模型運行在優化的計算基礎設施上,確保高效的訓練和推理。
📄 許可證
本項目採用skywork - license許可協議,詳情請見LICENSE。
致謝
感謝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},
}





