模型简介
模型特点
模型能力
使用案例
🚀 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},
}





