license: other
license_name: skywork-license
license_link: LICENSE
pipeline_tag: image-to-video
SkyReels V2:无限长度电影生成模型
📑 技术报告 · 👋 在线体验 · 💬 Discord社区 · 🤗 Hugging Face · 🤖 ModelScope · 🌐 GitHub
欢迎来到SkyReels V2代码库!这里提供我们无限长度电影生成模型的权重文件。据我们所知,这是首个采用自回归扩散强制架构的开源视频生成模型,在公开模型中实现了最先进的性能表现。
🔥🔥🔥 最新动态!!
🎥 演示视频
以上演示视频均使用SkyReels-V2扩散强制模型生成的30秒片段。
📑 开发计划
- [x] 技术报告
- [x] 14B和1.3B系列模型权重
- [x] 单卡/多卡推理代码
- [x] SkyCaptioner-V1视频描述模型
- [x] 提示词增强器
- [ ] Diffusers集成
- [ ] 5B系列模型权重
- [ ] 镜头导演模型权重
- [ ] 步长与引导蒸馏模型权重
🚀 快速开始
环境安装
# 克隆代码库
git clone https://github.com/SkyworkAI/SkyReels-V2
cd SkyReels-V2
# 安装依赖(测试环境Python 3.10.12)
pip install -r requirements.txt
模型下载
可从Hugging Face获取模型:
下载后,在生成命令中设置模型路径:
单卡推理
扩散强制版本模型支持生成无限长度视频,兼容**文生视频(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 ${图片路径}
参数,建议使用包含首帧描述的文生视频(T2V)**式提示词
- 生成长视频时只需调整
--num_frames
参数,例如--num_frames 257
对应10秒视频,--num_frames 377
对应15秒,--num_frames 737
对应30秒,--num_frames 1457
对应60秒。该数值与逻辑帧数非严格对应,但与训练参数对齐可获得更佳效果。使用异步推理(causal_block_size>1)时需谨慎设置该值
- 使用
--ar_step 5
启用异步推理时推荐设置--causal_block_size 5
,同步推理时不应设置此参数。注意每轮迭代输入模型的帧潜变量数(例如基础帧潜变量数=(97-1)//4+1=25,末轮潜变量数=(237-97-(97-17)x1+17-1)//4+1=20)必须能被causal_block_size整除。若计算困难可直接采用我们推荐的参数设置。异步推理需更多扩散步骤,因此速度慢于同步模式,但实验表明可提升指令跟随与视觉一致性
- 降低
--base_num_frames
至77或57可减少峰值显存,但会轻微影响画质,不建议设置过小
--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 ${图片路径}
参数提供输入图像,推荐参数--guidance_scale 5.0
和--shift 3.0
- 1.3B模型生成540P视频需约14.7GB峰值显存,14B模型需约43.4GB
提示词增强器基于Qwen2.5-32B-Instruct实现,通过--prompt_enhancer
参数调用。对短提示词效果显著,长提示词可能生成过度详细的描述导致视频过饱和。注意启用该功能时GPU峰值内存需64G以上。如需单独获取增强后的提示词,可运行以下脚本:
cd skyreels_v2_infer/pipelines
python3 prompt_enhancer.py --prompt "群山环绕的宁静湖泊,几只天鹅优雅滑过水面,阳光在湖面跳跃。"
注意:
- 使用
--use_usp
参数时不可启用--prompt_enhancer
,建议先运行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 |
流匹配调度参数( |