模型简介
模型特点
模型能力
使用案例
🚀 SkyReels V2:无限长度电影生成模型
SkyReels V2是全球首个采用扩散强制(Diffusion Forcing)框架的无限长度电影生成模型。它融合了多模态大语言模型、多阶段预训练、强化学习和扩散强制等技术,实现了全面优化,可广泛应用于故事生成、图像到视频合成等多个领域。
📑 技术报告 · 👋 在线体验 · 💬 Discord社区 · 🤗 Hugging Face · 🤖 ModelScope · 🌐 GitHub
🚀 快速开始
📦 安装指南
# 克隆仓库
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) 版本的模型可以生成无限长度的视频。该模型支持文本到视频(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 )时推荐使用 |
使用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
。
📚 详细文档
摘要
近期视频生成的进展主要由扩散模型和自回归框架推动,但在协调提示遵循、视觉质量、运动动态和视频时长方面仍存在关键挑战:为了提高时间视觉质量而牺牲运动动态,为了优先考虑分辨率而限制视频时长(5 - 10秒),以及由于通用多模态大语言模型(MLLM)无法解释电影语法(如镜头构图、演员表情和相机运动)而导致的镜头感知生成不足。这些相互交织的限制阻碍了逼真的长视频合成和专业电影风格的生成。
为了解决这些限制,我们推出了SkyReels - V2,这是世界上第一个使用扩散强制框架的无限长度电影生成模型。我们的方法结合了多模态大语言模型(MLLM)、多阶段预训练、强化学习和扩散强制技术,实现了全面优化。除了技术创新,SkyReels - V2还支持多种实际应用,包括故事生成、图像到视频合成、镜头导演功能,以及通过我们的 Skyreels - A2 系统进行多主体一致的视频生成。
SkyReels - V2的方法
SkyReels - V2的方法由几个相互关联的组件组成。它从一个全面的数据处理管道开始,准备各种质量的训练数据。其核心是视频字幕器架构,为视频内容提供详细的注释。该系统采用多任务预训练策略来构建基本的视频生成能力。训练后的优化包括强化学习以提高运动质量、扩散强制训练以生成扩展视频,以及高质量监督微调(SFT)阶段以进行视觉细化。该模型在优化的计算基础设施上运行,以实现高效的训练和推理。SkyReels - V2支持多种应用,包括故事生成、图像到视频合成、镜头导演功能和元素到视频生成。
SkyReels - V2的关键贡献
视频字幕器
SkyCaptioner - V1 是我们用于数据注释的视频字幕模型。该模型在基础模型 Qwen2.5 - VL - 72B - Instruct 的字幕结果和子专家字幕器的基础上,在平衡的视频数据上进行训练。平衡的视频数据是一个精心策划的约200万个视频的数据集,以确保概念平衡和注释质量。基于 Qwen2.5 - VL - 7B - Instruct 基础模型,SkyCaptioner - V1 进行了微调,以提高在特定领域视频字幕任务中的性能。为了与最先进的模型进行性能比较,我们使用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% |
类型 | 43.5% | 49.7% | 47.6% | 82.5% |
子类型 | 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,采用相同的损失公式和通过手动过滤的更高质量的概念平衡数据集。这个最终的细化阶段专注于提高分辨率,从而进一步提高整体视频质量。
性能
为了全面评估我们提出的方法,我们构建了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对镜头场景语义遵循的评估不足。
🔧 技术细节
致谢
我们感谢 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},
}
📄 许可证
本项目采用 skywork-license 许可证。



