模型简介
模型特点
模型能力
使用案例
🚀 SkyReels V2:无限长度电影生成模型
SkyReels V2是全球首个采用AutoRegressive Diffusion - Forcing架构的开源视频生成模型,在公开可用模型中达到了SOTA性能。它能实现无限长度的视频生成,可应用于故事生成、图像到视频合成等多个领域。
🚀 快速开始
安装
# 克隆仓库
git clone https://github.com/SkyworkAI/SkyReels-V2
cd SkyReels-V2
# 安装依赖。测试环境使用Python 3.10.12
pip install -r requirements.txt
模型下载
你可以从Hugging Face下载我们的模型:
类型 | 模型变体 | 推荐高度/宽度/帧数 | 链接 |
---|---|---|---|
扩散强制(Diffusion Forcing) | 1.3B - 540P | 544 * 960 * 97f | 🤗 Huggingface 🤖 ModelScope |
扩散强制(Diffusion Forcing) | 5B - 540P | 544 * 960 * 97f | 即将推出 |
扩散强制(Diffusion Forcing) | 5B - 720P | 720 * 1280 * 121f | 即将推出 |
扩散强制(Diffusion Forcing) | 14B - 540P | 544 * 960 * 97f | 🤗 Huggingface 🤖 ModelScope |
扩散强制(Diffusion Forcing) | 14B - 720P | 720 * 1280 * 121f | 🤗 Huggingface 🤖 ModelScope |
文本到视频(Text - to - Video) | 1.3B - 540P | 544 * 960 * 97f | 即将推出 |
文本到视频(Text - to - Video) | 5B - 540P | 544 * 960 * 97f | 即将推出 |
文本到视频(Text - to - Video) | 5B - 720P | 720 * 1280 * 121f | 即将推出 |
文本到视频(Text - to - Video) | 14B - 540P | 544 * 960 * 97f | 🤗 Huggingface 🤖 ModelScope |
文本到视频(Text - to - Video) | 14B - 720P | 720 * 1280 * 121f | 🤗 Huggingface 🤖 ModelScope |
图像到视频(Image - to - Video) | 1.3B - 540P | 544 * 960 * 97f | 🤗 Huggingface 🤖 ModelScope |
图像到视频(Image - to - Video) | 5B - 540P | 544 * 960 * 97f | 即将推出 |
图像到视频(Image - to - Video) | 5B - 720P | 720 * 1280 * 121f | 即将推出 |
图像到视频(Image - to - Video) | 14B - 540P | 544 * 960 * 97f | 🤗 Huggingface 🤖 ModelScope |
图像到视频(Image - to - Video) | 14B - 720P | 720 * 1280 * 121f | 🤗 Huggingface 🤖 ModelScope |
镜头导演(Camera Director) | 5B - 540P | 544 * 960 * 97f | 即将推出 |
镜头导演(Camera Director) | 5B - 720P | 720 * 1280 * 121f | 即将推出 |
镜头导演(Camera Director) | 14B - 720P | 720 * 1280 * 121f | 即将推出 |
下载完成后,在生成命令中设置模型路径。
单GPU推理
- 用于长视频生成的扩散强制(Diffusion Forcing)
扩散强制(Diffusion Forcing)版本的模型允许我们生成无限长度的视频。该模型支持**文本到视频(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 "黎明时分,一只优雅的白天鹅弯曲着脖子,羽毛细腻,在宁静的湖中游泳,它的倒影完美地映在平静的水面上,雾气从水面升起,天鹅偶尔将头浸入水中觅食。" \
--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 "黎明时分,一只优雅的白天鹅弯曲着脖子,羽毛细腻,在宁静的湖中游泳,它的倒影完美地映在平静的水面上,雾气从水面升起,天鹅偶尔将头浸入水中觅食。" \
--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)x1 + 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 "一座宁静的湖泊被高耸的山脉环绕,几只天鹅优雅地在水面上滑行,阳光在水面上闪烁。" \
--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 "一座宁静的湖泊被高耸的山脉环绕,几只天鹅优雅地在水面上滑行,阳光在水面上闪烁。"
⚠️ 重要提示
- 如果使用
--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 )时推荐 |
使用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 "黎明时分,一只优雅的白天鹅弯曲着脖子,羽毛细腻,在宁静的湖中游泳,它的倒影完美地映在平静的水面上,雾气从水面升起,天鹅偶尔将头浸入水中觅食。" \
--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 "一座宁静的湖泊被高耸的山脉环绕,几只天鹅优雅地在水面上滑行,阳光在水面上闪烁。" \
--use_usp \
--seed 42
⚠️ 重要提示
- 当使用**图像到视频(I2V)**模型时,你必须使用
--image ${image_path}
参数提供输入图像。对于I2V模型,建议使用--guidance_scale 5.0
和--shift 3.0
。
✨ 主要特性
- 无限长度视频生成:采用Diffusion Forcing框架,能够生成无限长度的视频。
- 多任务支持:支持文本到视频、图像到视频等多种任务。
- 高性能表现:在多个评估指标上达到了SOTA性能。
- 多应用场景:可应用于故事生成、镜头导演功能等多个实际场景。
📚 详细文档
摘要
近期视频生成的进展由扩散模型和自回归框架推动,但在协调提示遵循、视觉质量、运动动态和视频时长方面仍存在关键挑战:为提高时间视觉质量而牺牲运动动态,为优先考虑分辨率而限制视频时长(5 - 10秒),以及由于通用多模态大语言模型(MLLM)无法解释电影语法(如镜头构图、演员表情和相机运动)而导致的镜头感知生成不足。这些相互交织的限制阻碍了逼真的长格式合成和专业电影风格的生成。
为解决这些限制,我们推出了SkyReels - V2,这是世界上第一个使用Diffusion Forcing框架的无限长度电影生成模型。我们的方法将多模态大语言模型(MLLM)、多阶段预训练、强化学习和Diffusion Forcing技术相结合,以实现全面优化。除了技术创新之外,SkyReels - V2还支持多个实际应用,包括故事生成、图像到视频合成、镜头导演功能以及通过我们的Skyreels - A2系统进行多主体一致的视频生成。
SkyReels - V2的方法论
SkyReels - V2的方法论由几个相互关联的组件组成。它从一个全面的数据处理管道开始,该管道准备各种质量的训练数据。其核心是视频字幕生成器(Video Captioner)架构,它为视频内容提供详细的注释。该系统采用多任务预训练策略来构建基本的视频生成能力。训练后的优化包括强化学习以提高运动质量,Diffusion Forcing训练以生成扩展视频,以及高质量监督微调(SFT)阶段以进行视觉细化。该模型在优化的计算基础设施上运行,以实现高效的训练和推理。SkyReels - V2支持多个应用,包括故事生成、图像到视频合成、镜头导演功能和元素到视频生成。
SkyReels - V2的关键贡献
视频字幕生成器(Video Captioner)
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)的样本选择过程,提高了生成模型的运动质量。
扩散强制(Diffusion Forcing)
我们引入了扩散强制Transformer,以解锁我们模型生成长视频的能力。Diffusion Forcing是一种训练和采样策略,其中每个令牌被分配一个独立的噪声水平。这允许令牌根据任意的、每个令牌的时间表进行去噪。从概念上讲,这种方法类似于一种部分掩码形式:噪声为零的令牌完全未被掩码,而完全噪声则完全掩码它。Diffusion Forcing训练模型“取消掩码”任何可变噪声令牌的组合,使用较干净的令牌作为条件信息来指导噪声令牌的恢复。在此基础上,我们的扩散强制Transformer可以根据前一段的最后几帧无限扩展视频生成。请注意,同步全序列扩散是Diffusion Forcing的一种特殊情况,其中所有令牌共享相同的噪声水平。这种关系使我们能够从全序列扩散模型微调扩散强制Transformer。
高质量监督微调(SFT)
我们分别在540p和720p分辨率下实施了两个连续的高质量监督微调(SFT)阶段,第一个SFT阶段在预训练之后但在强化学习(RL)阶段之前立即进行。这个第一阶段的SFT作为一个概念平衡训练器,基于仅使用fps24视频数据的基础模型预训练结果,同时战略性地移除FPS嵌入组件以简化架构。使用高质量概念平衡样本进行训练,这个阶段为后续训练过程建立了优化的初始化参数。在此之后,我们在完成扩散强制阶段后在720p分辨率下执行第二个高分辨率SFT,结合相同的损失公式和通过手动过滤的更高质量概念平衡数据集。这个最终的细化阶段专注于提高分辨率,从而进一步提高整体视频质量。
性能
为了全面评估我们提出的方法,我们构建了SkyReels - Bench进行人工评估,并利用开源的V - Bench进行自动评估。这使我们能够将我们的模型与最先进的(SOTA)基线进行比较,包括开源和专有模型。
人工评估
对于人工评估,我们设计了包含1020个文本提示的SkyReels - Bench,系统地评估三个维度:指令遵循、运动质量、一致性和视觉质量。这个基准旨在评估文本到视频(T2V)和图像到视频(I2V)生成模型,提供跨不同生成范式的全面评估。为了确保公平性,所有模型都在默认设置下以一致的分辨率进行评估,并且不应用生成后过滤。
- 文本到视频模型
模型名称 | 平均得分 | 指令遵循 | 一致性 | 视觉质量 | 运动质量 |
---|---|---|---|---|---|
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)**在开源模型中都达到了最先进的性能,在所有质量维度上都显著优于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对镜头场景语义遵循的评估不足。
🔧 技术细节
数据处理
构建了全面的数据处理管道,准备各种质量的训练数据。
核心架构
以视频字幕生成器(Video Captioner)架构为核心,为视频内容提供详细注释。
训练策略
采用多任务预训练策略构建基本视频生成能力,结合强化学习、Diffusion Forcing训练和高质量监督微调(SFT)进行优化。
📄 许可证
本项目采用skywork - license许可证。
🎥 演示
以下演示展示了使用我们的SkyReels - V2 Diffusion Forcing模型生成的30秒视频。
📑 TODO列表
- [x] 技术报告
- [x] 14B和1.3B模型系列的检查点
- [x] 单GPU和多GPU推理代码
- [x] SkyCaptioner - V1:视频字幕生成模型
- [x] 提示词增强器
- [ ] Diffusers集成
- [ ] 5B模型系列的检查点
- [ ] 镜头导演模型的检查点
- [ ] 步骤和指导蒸馏模型的检查点
致谢
我们要感谢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},
}





