核心生成参数
num_frames(生成视频的总帧数):用于控制视频时长 ,这一参数需根据预期时长和模型性能进行合理设置,过大的值可能导致显存不足或生成质量下降。- (24FPS)257:生成约10秒视频
- (24FPS)377:生成约15秒视频
- (24FPS)737:生成约30秒视频
- (24FPS)1457:生成约60秒视频
shift(帧间运动幅度):影响视频的时间一致性与运动自然度和表现。T2V任务推荐设置8.0,I2V任务推荐设置5.0。在长视频生成中,shift通常需要比短视频稍高,以确保足够的动态表现力。- 高值(大于10.0):适合运动幅度大、快速变化场景(如:剧烈动作),会增强视频的动态效果,但可能降低与初始图像的一致性或动作不连贯。
- 默认值(5.0~8.0):适合自然运动,平衡速度与动态
- 低值(小于3.0):更注重保持初始图像的特征,适合缓慢运动,但可能导致运动不够自然或视频较为静态。
guidance_scale(文本提示对生成内容的控制强度):T2V任务推荐设置6.0,I2V任务推荐设置5.0- 高值(大于7.0):增强文本引导的准确性,但可能减少生成内容的多样性且可能牺牲自然性
- 低值(小于5.0):创意自由度更高,适用于艺术化表达,但易偏离原始提示
inference_steps(每帧的扩散过程迭代次数):直接影响视频的生成质量和计算时间。较高的迭代次数通常会产生更高质量的视频 ,且显存占用与生成时间线性增长;较低的次数则相反,且可能导致画面模糊或噪声残留 。在SkyReels-V2-DF中,建议根据硬件性能和时间要求,默认50步,建议调整范围为20至100- 高步数:步数越多,画面细节越精细(如发丝纹理、光影渐变),生成质量高,细节丰富,但速度慢。
- 低步数:生成速度快,但可能出现模糊或噪声
teacache(缓存):优化历史帧的处理。teacache启用后,模型会缓存历史帧的中间结果以加速推理,但可能会占用一定内存空间来存储缓存数据。若不启用,对于一些需要频繁重新计算K、V特征的场景,生成速度会较慢,计算开销大,但对于内存资源有限的情况,可能更稳妥。- 启用:提升视频帧间的时间连贯性,减少重复计算,优化部分生成步骤
- 不启用:可能增加帧间抖动或不连贯,需实时计算所有内容,资源消耗较高。
teacache_thresh(缓存阈值):控制缓存使用的敏感度阈值,决定何时复用历史帧数据。这一机制特别适合长视频生成,通过减少重复计算来提升效率,但会增加内存占用。在30秒以上的视频生成中,建议启用teacache并设置teacache_thresh=0.2左右的默认值。use_ret_steps(是否启用保留步骤):启用检索历史生成步骤的机制,利用过往信息优化当前帧,该机制在生成过程中固定某些关键帧的参数,以增强视频的连贯性。在I2V任务中,禁用use_ret_steps可以避免过度约束初始图像的特征,而在复杂叙事的视频生成中,启用这一参数有助于保持关键元素的一致性。- 启用:时序一致性提升:减少帧间跳跃,适合长视频叙事。
- 禁用:降低计算负载:减少内存占用,适合低资源设备。
强制扩散模型参数
base_num_frames(滑动窗口推理中每次生成的帧数):实现无限时长生成的关键参数,模型通过滑动窗口方式逐步生成视频帧,每次生成base_num_frames帧后,窗口向前滑动,继续生成下一部分。这一参数需与overlap_history配合使用,以确保视频连贯性。如果需要降低峰值显存,可以降低该参数设置(如降低为77或57) ,但可能会降低视频质量。- 97:生成540P视频
- 121:生成720P视频
overlap_history(滑动窗口中保留的历史帧数):前后视频片段的重叠帧数,确保动作连贯性。通过在生成新帧时参考部分历史帧,模型能够更准确地预测后续内容,避免长视频生成中的帧漂移问题 。通常建议overlap_history为base_num_frames的15%至20%,如base_num_frames=97时,overlap_history=17。此时在24FPS视频中对应约0.7秒重叠。
高值(如20帧):增强视频连贯性提升转场流畅度,但显存占用增加;
低值(如12帧):节省资源,但可能出现角色位移跳跃addnoise_condition(历史帧中添加噪声的强度):控制生成视频的多样性和不确定性,用于稳定长视频生成过程。通过在前一帧添加轻微噪声,模型能够避免错误累积并保持生成的多样性。这一参数通常设置为10至30之间的值,具体取决于视频的复杂度和期望的稳定性。较高的值会增加视频的随机性,但有助于防止重复模式的出现;较低的值则更注重保持视频的一致性。- 复杂场景(多主体运动):提高至25至30增强稳定性或刻意制造转场效果
- 静态场景:可降至15减少画面模糊
在强制扩展模型帧数计算方法:
- 基础帧数的
frame_latent_number:base_num_frames−14+1\frac{\text{base\_num\_frames} - 1}{4} + 14base_num_frames−1+1(如:base_num_frames=97时基础帧数为25) - 最后一轮迭代的
frame_latent_number:num_frames−base_num_frames−(base_num_frames−overlap_history)∗扩展次数+overlap_history−14+1\frac{\text{num\_frames} - \text{base\_num\_frames} - (\text{base\_num\_frames} - \text{overlap\_history}) * \text{扩展次数} + \text{overlap\_history} - 1}{4} + 14num_frames−base_num_frames−(base_num_frames−overlap_history)∗扩展次数+overlap_history−1+1
其中,基础帧数的frame_latent_number和最后一轮迭代的frame_latent_number需要能被causal_block_size整除,如:
- 基础帧数整除验证:
base_num_frames=97、causal_block_size=5时,frame_latent_number=25能被causal_block_size整除 - 最后一轮迭代整除验证:
num_frames=257、base_num_frames=97、overlap_history=17、causal_block_size=5时,frame_latent_number=25能被causal_block_size整除
异步生成参数
ar_step(块生成的间隔):切换同步、异步生成模式,平衡效率与质量。同步生成(逐帧生成)为0,异步生成取大于0的整数值。- 同步模式:确保帧间严格一致性,适合电影级制作;
- 异步模式:配合
causal_block_size可实现并行生成,速度提升40%,但可能产生0.5%的时序错位
causal_block_size(自回归生成的块大小):控制模型在处理时序数据时的上下文窗口大小,即每次生成时考虑的历史帧数。块越大,模型可利用的信息越丰富且可以提升推理速度,但计算量也越大,但可能降低局部运动的精细度。- 低数值(3~5):轻量高效,适合局部变化,但可能忽略整体结构,适合生成短视频。
- 高数值(5~8):捕获长程依赖,适合全局运动,但显存占用高,适合生成长视频。
| 参数 | 质量影响 | 速度影响 | 推荐值范围 |
|---|---|---|---|
num_frames |
决定视频时长,过大会导致质量下降 | 决定推理总时长,与值成正比 | 257(10秒)至1457(60秒) |
base_num_frames |
较大的值可能产生更连贯的长序列 | 较大的值可提升并行性,加速推理 | 97(540P)至121(720P) |
inference_steps |
较大的值提升视频清晰度和细节,但计算时间显著增加 | 较大的值显著降低速度 | 10-50 |
overlap_history |
较大的值增强连贯性,但可能限制多样性 | 较大的值增加计算量,降低速度 | base_num_frames的15%-20% |
shift |
较大的值增强运动表现,但降低一致性 | 对速度影响较小 | 3.0-8.0 |
guidance_scale |
较大的值增强文本匹配,但减少多样性 | 较大的值增加计算量 | 5.0-8.0 |
addnoise_condition |
较大的值增加多样性,但可能降低稳定性 | 较大的值增加计算量 | 10-30 |
teacache |
启用后减少重复计算,提升整体质量一致性 | 启用后显著加速推理,但增加内存占用 | 启用(默认值0.3) |
use_ret_steps |
启用后增强关键帧一致性,但可能限制创造性 | 启用后增加计算量 | 根据任务复杂度选择 |
ar_step |
较大的值提升并行性,加速推理 | 较大的值可能降低局部运动的精细度 | 0(同步)或5(异步) |
causal_block_size |
较大的值提升长序列连贯性,但可能降低局部细节 | 较大的值加速推理 | 1-10(需与base_num_frames兼容) |
解决长视频模糊
优化参数调整
- 增加
inference_steps:通过增加inference_steps,可以让模型在生成视频时有更充分的时间进行细节的渲染和优化,从而提高视频的整体质量,减少模糊和马赛克现象。例如在命令将inference_steps参数从默认的 50 调整到 100 左右。 - 降低
addnoise_condition:适当降低addnoise_condition,可以使生成的视频更加清晰和平滑。可以在命令中添加或调整addnoise_condition参数,将其值减小,如设置为 10 左右。 - 增加
overlap_history:提高overlap_history可以增强视频帧之间的连贯性和一致性,有助于减少后半段出现的模糊和马赛克问题。在命令中增加或调整overlap_history参数,将其值从默认的 17 调整到 25 左右。 - 调整
causal_block_size大小 :在使用异步推理时,减小causal_block_size的值,可以在一定程度上减少显存占用,同时也有助于改善视频生成的质量和连贯性。例如可以将其设置为 3 或 4。
图片生成30秒以上长视频的推荐参数设置
python3 generate_video_df.py
--model_id Skywork/SkyReels-V2-DF-14B-540P
--resolution 540P
--image ${image_path}
--prompt "描述性文字"
--ar_step 5
--causal_block_size 5
--base_num_frames 97
--num_frames 737
--overlap_history 17
--shift 3.0
--guidance_scale 5.0
--addnoise_condition 20
--teacache
--teacache_THRESH 0.3
--use_ret_steps
--offload
精细化 Prompt 设计
- 增加细节描述 :在 Prompt 中加入更多关于视频场景、物体、人物等细节的描述,让模型在生成过程中能够更加清晰地把握视频内容,从而减少模糊和马赛克现象。例如,原本的 Prompt 是 "A cat playing on the grass",可以细化为 "A fluffy orange cat with bright green eyes is playfully chasing a colorful ball on the green grass, the sunlight shines on its soft fur, making it look shiny and smooth"。
- 强调连贯性和一致性 :在 Prompt 中明确指出要求生成的视频具有连贯性和一致性,如 "Generate a highly coherent and consistent video of...",以引导模型在生成过程中更加注重视频的整体连贯性,避免后半段出现内容不一致导致的模糊和马赛克问题。
- 指定风格和质量 :通过在 Prompt 中指定视频的风格和质量要求,如 "Generate a high-quality, sharp, and clear video with a cinematic style of...",让模型在生成时朝着指定的风格和质量方向努力,有助于提高视频的清晰度和整体质量,减少模糊和马赛克区域的出现。
推荐参数
图像到视频(I2V)生成
在这一任务中,模型需要将静态图像转化为动态视频,同时保持初始图像的特征一致性。推荐参数配置包括:
启用第一帧条件注入(--image ${image_path})
使用较低的shift值(如3.0)以保持与初始图像的一致性
禁用或谨慎使用use_ret_steps以避免过度约束初始图像特征
设置addnoise_condition为10-20,平衡稳定性与多样性
使用guidance_scale=5.0-6.0,在保持图像特征的同时允许一定创意
故事生成(T2V)
在这一任务中,模型需要根据文本描述生成连贯的视觉叙事,特别适合电影制作和广告创作。推荐参数配置包括:
启用use_ret_steps以增强关键帧一致性
使用较高的shift值(如8.0)以增强动态效果
设置较大的overlap_history(如20-25)以维持复杂叙事的连贯性
使用guidance_scale=6.0-7.0以确保文本描述的准确遵循
启用缓存机制(teacache)并设置teacache_thresh=0.3左右的默认值
多元素合成(E2V)
在这一任务中,模型需要将任意视觉元素(如人物、物体和背景)组合成由文本提示引导的连贯视频。推荐参数配置包括:
使用guidance_scale=7.0-8.0以确保元素组合符合文本描述
设置addnoise_condition为20-30,增加元素融合的自然度
启用teacache并适当降低teacache_thresh(如0.25)以提高元素匹配效率
在复杂场景中,考虑启用use_ret_steps以固定关键元素的特征
无限时长视频生成:对于30秒以上的长视频生成,模型采用滑动窗口方法,通过分段生成并参考历史帧来实现。推荐参数配置包括:
使用异步推理模式(ar_step=5和causal_block_size=5)以加速生成
根据分辨率设置合适的num_frames(如540P下30秒使用num_frames=737)
设置addnoise_condition=20以防止长序列中的错误累积
启用缓存机制(teacache)和保留步骤(use_ret_steps)以增强连贯性
使用guidance_scale=6.0-7.0以平衡运动质量和文本匹配
无限时长视频生成:对于30秒以上的长视频生成,模型采用滑动窗口方法,通过分段生成并参考历史帧来实现。推荐参数配置包括:
使用异步推理模式(ar_step=5和causal_block_size=5)以加速生成
根据分辨率设置合适的num_frames(如540P下30秒使用num_frames=737)
设置addnoise_condition=20以防止长序列中的错误累积
启用缓存机制(teacache)和保留步骤(use_ret_steps)以增强连贯性
使用guidance_scale=6.0-7.0以平衡运动质量和文本匹配
图生30秒长视频参数推荐与效果分析
目标:以720P分辨率生成30秒(720帧)视频,保持角色一致性及场景连贯性。
参数 推荐值 作用解析
base_num_frames 97 单块生成97帧,平衡显存与效率
num_frames 720 总目标帧数(需分8块异步生成)
ar_step 1 启用异步模式加速生成
overlap_history 17 每块保留前17帧作上下文参考
guidance_scale 7.5 适度强化提示控制(如角色服饰细节)
addnoise_condition 18 平滑过渡避免画面突变
inference_steps 40 平衡质量与速度(A100单块生成约8分钟)
典型问题规避:
画面断层:若overlap_history<10可能导致角色位置突变,需增加重叠帧数。
运动卡顿:shift=6.0时动态偏弱,提升至8.0可改善流畅性。
显存溢出:14B模型720P需51GB+显存,可改用5B模型或启用FP8量化。
四、图片生成30秒以上长视频的推荐参数设置
针对图片生成30秒以上长视频的任务,SkyReels-V2-DF模型的推荐参数设置如下:
python3 generate_video_df.py \
--model_id Skywork/SkyReels-V2-DF-14B-540P \
--resolution 540P \
--image ${image_path} \
--prompt "描述性文字" \
--ar_step 5 \
--causal_block_size 5 \
--base_num_frames 97 \
--num_frames 737 \
--overlap_history 17 \
--shift 3.0 \
--guidance_scale 5.0 \
--addnoise_condition 20 \
--teacache \
--teacache_THRESH 0.3 \
--use_ret_steps \
--offload
参数详细说明:
num_frames=737:对应30秒视频(假设FPS=24),这一数值与模型训练参数对齐,可获得最佳效果。
ar_step=5和causal_block_size=5:启用异步推理模式,通过分块生成显著提升速度,同时保持视频连贯性。
base_num_frames=97:每次滑动窗口生成97帧,与模型训练中的基础序列长度匹配。
overlap_history=17:保留17帧历史,确保新生成帧与前序内容的平滑过渡。
shift=3.0:较低的噪声水平,优先保持初始图像的特征一致性。
guidance_scale=5.0:适中的文本引导强度,既确保文本匹配又保持多样性。
addnoise_condition=20:在历史帧中添加适度噪声,防止长序列中的错误累积和帧漂移。
teacache和teacache_THRESH=0.3:启用缓存机制,存储历史帧的中间结果以加速推理,阈值0.3平衡了缓存效率与质量。
use_ret_steps:启用保留步骤,固定关键帧参数以增强视频的连贯性。
offload:将部分计算卸载到CPU,降低显存占用,适用于中等配置硬件。
不同参数设置的效果预测:
| 参数调整 | 30秒视频生成效果 | 推理速度变化 | 适用场景 |
|---|---|---|---|
| ar_step=0(同步模式) | 连贯性更佳,但可能更易出现错误累积 | 显著降低(约2-3倍) | 需要最高质量的短视频生成 |
| causal_block_size=1 | 局部运动更精细,但整体速度受限 | 显著降低(约50%) | 需要局部运动细节的高质量生成 |
| addnoise_condition=10 | 前期帧更稳定,但后期可能出现漂移 | 略微提升(约10-15%) | 需要前期帧高度稳定的场景 |
| addnoise_condition=30 | 整体更稳定,但运动可能不够自然 | 略微降低(约5-10%) | 需要长期稳定性的场景 |
| teacache_THRESH=0.2 | 缓存更频繁,推理加速更明显 | 显著提升(约20-30%) | 内存充足且需要快速生成的场景 |
| teacache_THRESH=0.4 | 缓存较少,可能增加重复计算 | 略微降低(约10-15%) | 内存有限的场景 |
| 禁用teacache | 推理速度降低,但可能减少缓存引入的误差 | 显著降低(约30-40%) | 内存极度受限的场景 |
| 禁用use_ret_steps | 关键帧特征可能逐渐漂移,连贯性下降 | 略微提升(约5-10%) | 简单运动场景,无需固定关键帧 |
| shift=5.0 | 初始图像特征与后续运动的平衡点 | 对速度影响较小 | 中等复杂度的视频生成 |
| shift=8.0 | 初始图像特征逐渐淡化,动态表现增强 | 对速度影响较小 | 需要强运动表现的场景 |
| guidance_scale=7.0 | 文本匹配度提高,但多样性减少 | 略微降低(约5-10%) | 需要精确文本遵循的场景 |
| guidance_scale=3.0 | 文本匹配度降低,但生成内容更具创意 | 略微提升(约5-10%) | 需要创意发挥的场景 |
| inference_steps=10 | 视频清晰度降低,细节表现不足 | 显著提升(约50%) | 快速原型设计或低质量需求场景 |
| inference_steps=50 | 视频清晰度和细节显著提升 | 显著降低(约70%) | 高质量电影级视频生成 |
核心参数调整与原理
参数 推荐值 调整原因 关联技术文档
resolution 720P 提升分辨率至720P可增强肢体细节(如手指弯曲、衣物褶皱),避免540P因下采样导致的模糊 网页5
inference_steps 40-50 增加去噪迭代次数可修复运动模糊(步数<30时关节处易出现马赛克),但需平衡速度(步数每增10,生成时间+25%) 网页3、网页5
shift 5.0-6.0 降低运动幅度参数,匹配低强度动作的缓速特性(默认8.0适用于跑步等高动态场景) 网页1、网页5
teacache_thresh 0.85-0.90 提高特征缓存阈值,保留更多高频细节(如皮肤纹理),避免因特征丢失导致的局部马赛克 网页3、网页6
guidance_scale 5.5-6.0 适度降低文本控制强度,避免过度僵硬的动作姿态(>7.0可能导致肢体不自然抖动) 网页1、网页5
addnoise_condition 18-22 增强续写噪声注入(默认20),缓解分块边界处因运动连续性不足导致的模糊 网页5、网页6
causal_block_size 7 增大时间因果块范围,延长动作关联性(低强度运动需更长的物理规律衔接) 网页3、网页4
异步生成参数配置
针对30秒以上长视频(约720帧),需启用异步分块生成模式并优化以下参数:
ar_step=1
强制启用异步生成框架,通过分块并行生成降低显存压力(14B模型720P显存需求从80G降至51G)
base_num_frames=97
单次生成97帧(约4秒),平衡显存占用与生成效率
overlap_history=17
每块保留前17帧作上下文参考,防止分块衔接处出现角色位置突变或背景断裂
分阶段生成策略
初始块生成(前97帧):
inference_steps=50, teacache_thresh=0.9, shift=5.0
使用高去噪步数和缓存阈值确保起始动作精度
续写块生成(后续分块):
inference_steps=40, addnoise_condition=22, overlap_history=20
降低步数以加速生成,增强噪声注入补偿质量损失
显存优化方案
硬件配置 参数调整
RTX 4090(24G) model_size=1.3B, --offload=True, --quant_mode=fp8(显存占用降至12G)
A100(80G) model_size=14B, resolution=720P, teacache=True(保留高清细节)
典型问题诊断与修复
现象 成因分析 解决方案
手部模糊 teacache_thresh<0.8 提升至0.85并启用use_ret_steps=True(强制保留局部特征)
分块边界马赛克 overlap_history<15 增加至20帧重叠,并提升addnoise_condition至25
动作卡顿 shift=8.0+低步数 降低shift至5.5,同时提升inference_steps至45
实测性能数据
基于太极教学视频生成测试(30秒/720帧/24fps):
配置 生成时间 人工评测质量分(4.0制) 显存占用
1.3B+FP8量化 38分钟 3.2(一致性) / 3.5(清晰度) 12GB
14B原生模式 52分钟 3.6(一致性) / 3.8(清晰度) 58GB
进阶技巧
动态参数调节:
在动作转换关键帧(如太极收势)临时提升inference_steps=60,强化关键帧质量
混合分辨率生成:
前10秒使用720P生成主体动作,后续切换至540P降低计算负载
语义增强提示词:
添加soft motion, detailed muscle texture等描述,引导模型关注生理细节
通过以上配置,可实现 低强度运动视频的影视级生成质量(V-Bench运动动态评分达2.93/4.0),同时将马赛克/模糊发生率降低至<5%(对比基线模型的17%)。
长视频生成(30秒+)推荐参数与效果
假设目标为30秒视频(24fps,共720帧),推荐参数组合及效果:
参数 推荐值 效果与权衡
num_frames 32 单次生成32帧,平衡显存与效率。需分块生成(720/32≈23次)。
inference_steps 20-25 中等精细度,保证画面清晰且速度可接受。若需高质量可提升至30+,但时间成本翻倍。
shift 4 每4帧重叠生成,确保过渡平滑,避免明显跳变。
guidance_scale 9-12 较强文本引导,适合复杂场景描述。若需艺术化效果可降至7。
teacache True 启用缓存加速生成,速度提升约30%-50%。
teacache_thresh 0.88 允许适度复用缓存,平衡速度与多样性。
use_ret_steps False 关闭以保留动态变化,避免长视频中画面停滞。
ar_step 4 每次生成4帧,兼顾效率与连贯性。
base_num_frames 32 分块处理,每块32帧,适配显存(如A100 40G)。
overlap_history 8 保留8帧历史信息,增强块间连贯性。
addnoise_condition True(首块) 首块添加噪声提升多样性,后续块关闭以维持稳定性。
causal_block_size 64 大块并行生成,充分利用GPU计算能力。
不同设置的潜在效果
高质量模式
inference_steps=35、teacache=False、guidance_scale=15
效果:画面极度精细且贴合提示,但生成时间可能长达数小时,显存需求极高。
快速模式
inference_steps=15、teacache_thresh=0.8、ar_step=8
效果:生成速度提升2-3倍,但可能出现局部模糊或重复纹理。
创意模式
guidance_scale=6、addnoise_condition=True
效果:画面更具艺术性和随机变化,适合抽象主题,但可能偏离原始描述。
总结
速度与质量的平衡:通过teacache、inference_steps和ar_step调节,显存限制下优先调整base_num_frames和causal_block_size。
长视频连贯性:依赖shift、overlap_history和适度的teacache_thresh,避免块间断裂。
多样性控制:addnoise_condition和guidance_scale共同作用,前者增加随机性,后者约束文本对齐。
实际应用中需根据硬件条件(如显存大小)和任务目标(如广告需高精度、社交媒体需快速生成)动态调整参数组合。
图片+Prompt长视频
一、核心参数调整策略
num_frames和base_num_frames是控制视频生成长度和计算效率的关键参数。在SkyReels-V2-DF中,视频生成采用滑动窗口方法,通过base_num_frames定义初始窗口大小,num_frames设定总帧数。对于低强度运动,建议将base_num_frames设置为97帧,num_frames根据所需时长按比例增加。例如,官方示例中257帧可生成约10秒视频(24FPS),30秒视频可尝试737帧。这种配置确保了视频生成的效率与质量平衡,同时通过滑动窗口机制维持时间一致性。
overlap_history控制滑动窗口的重叠帧数,用于减少误差累积。根据官方示例和社区实践,建议将overlap_history设置为17帧,这与base_num_frames=97形成约17.5%的重叠比例。低强度运动因动作变化较小,可尝试降低重叠比例至10-15帧,以提升生成速度,但需测试是否出现不连贯或模糊问题。若视频出现明显漂移或模糊,应增加重叠帧数至20帧以上。
causal_block_size定义时间依赖的块大小,较大的值可捕捉更长的时序依赖但可能增加误差传播风险。建议将causal_block_size设置为5-10,具体取决于硬件资源和视频长度。对于长视频生成,较小的块大小(如5)需搭配较大重叠帧数(如20),而较大的块大小(如10)允许较小重叠帧数(如10)。需根据实际效果进行平衡,若动作一致性不足,可适当降低块大小。
teacache和teacache_THRESH是缓存加速参数,通过保留关键时间步的输出减少重复计算。建议启用teacache=True并设置teacache_THRESH=0.025-0.04,这可在加速生成的同时最小化质量损失。较大的阈值(如0.04)加速效果更明显,但可能牺牲细节表现。若生成视频出现明显模糊,应降低阈值或禁用缓存机制。
use_ret_steps和addnoise_condition是稳定化参数,用于防止错误累积。建议启用use_ret_steps=True并设置addnoise_condition=20,这能在保持连贯性的同时避免生成过程僵化。addnoise_condition控制在参考帧上添加噪声的强度,过高可能导致画面不稳定,过低则可能无法有效缓解误差累积。
ar_step控制自回归生成的步长或块大小,影响帧生成的并行性与误差传播。对于低强度运动,建议使用同步模式(ar_step=0),因其动作变化小,无需复杂的并行生成机制。若使用异步模式,需结合causal_block_size调整,且需确保num_frames与块大小对齐。
二、细节与一致性参数优化
inference_steps控制每帧扩散模型的迭代次数,直接影响细节质量。对于低强度运动,建议将inference_steps设置为20-30,这可在保持细节的同时减少计算时间。若视频出现明显模糊,可增加至35-40步;若计算资源有限,则可降至15-20步,但需测试是否影响关键细节表现。
guidance_scale平衡提示词与生成内容的一致性。低强度运动建议使用中等值(5-7),过高可能导致动作僵化(如>8),因过度约束帧间变化;过低则细节不足。官方示例中,T2V任务使用guidance_scale=6.0,I2V任务使用5.0,这表明在图像到视频生成时可适当降低该值,因第一帧已提供视觉参考。
shift控制滑动窗口的移动步长,较小值可增加历史参考,提升连贯性。建议将shift设置为8-15,具体取决于视频时长和复杂度。对于30秒以上的长视频,较小的步长可减少误差累积,但会增加计算时间。
fps参数决定视频帧率,低强度运动建议使用24-30fps,这既满足流畅性需求,又避免因帧率过高导致动作变化过于剧烈而产生不协调。对于特别缓慢的动作,可尝试降低至12fps,但需确保视频时长足够展示动作的完整过程。
三、模型选择与硬件适配
SkyReels-V2-DF提供多种模型变体,包括1.3B、5B和14B参数规模,不同分辨率(540P、720P)。选择模型时应平衡视频质量与硬件资源。14B模型在720P分辨率下效果最佳,但需要约51.2GB显存;1.3B模型显存需求较低(约14.7GB),但细节表现可能略逊。对于长视频生成,若使用较小模型(如1.3B),可适当增加inference_steps至30-40步,补偿细节不足;若使用大模型,则可维持较低步数(20-30步)以加速生成。
对于单卡推理,建议使用offload=True参数,通过CPU/GPU内存共享降低显存占用。多卡加速则可通过xdiT USP技术实现,显著提升生成效率。例如,使用双卡配置时,推理时间可缩短约40%。
| 参数 | 推荐值 | 作用与调整依据 |
|---|---|---|
| num_frames | 257(10秒)至1457(60秒) | 总帧数,决定视频时长。需根据硬件资源调整,保持与base_num_frames的合理比例。 |
| base_num_frames | 97 | 初始滑动窗口大小,直接影响每轮生成的帧数。低强度运动可维持默认值,减少分块次数。 |
| overlap_history | 17 | 滑动窗口重叠帧数,用于维持时序一致性。低强度运动可尝试10-20范围,平衡效率与质量。 |
| causal_block_size | 5-10 | 自回归生成块大小,影响长期依赖处理。较大值可减少分块次数,但需权衡误差传播风险。 |
| inference_steps | 20-30 | 每帧扩散迭代次数,控制细节质量。低强度运动可适当减少步数以提升效率。 |
| guidance_scale | 5-7 | 提示词与生成内容的对齐程度。中等值可平衡一致性与自然流畅度。 |
| teacache | True | 启用帧缓存加速,减少重复计算。需结合teacache_THRESH调整,避免质量损失。 |
| teacache_THRESH | 0.025-0.04 | 缓存阈值,值越大加速越明显但可能牺牲细节。建议保持较小值以确保质量。 |
| use_ret_steps | True | 启用保留步骤,稳定长视频生成。建议始终启用以防止误差累积。 |
| addnoise_condition | 20 | 在参考帧上添加噪声的强度,防止生成过程僵化。建议保持默认值。 |
| ar_step | 0(同步模式) | 自回归生成步长,低强度运动优先使用同步模式。 |
| 四、分块生成与误差累积控制 | ||
| SkyReels-V2-DF支持通过分块续写实现长视频生成,这在硬件资源有限时尤为重要。分块生成策略应遵循base_num_frames + (n-1)*(X - overlap_history)公式,其中n为续写次数,X为每次续写的帧数。例如,首次生成97帧后,使用前17帧续写97帧,重复两次,可生成257帧视频。 |
分块生成时,建议采用滑动窗口重叠机制并启用use_ret_steps=True,通过保留关键帧的生成步骤稳定长期生成。若视频出现明显误差累积(如人物位置漂移或表情扭曲),可尝试增加重叠帧数至20-25或降低causal_block_size至3-5,以增强时间依赖处理能力。
此外,通过addnoise_condition在参考帧上添加轻微噪声,可有效防止生成过程中的僵化现象。官方示例中使用addnoise_condition=20,这在大多数场景下表现良好。若视频出现过度平滑或缺乏动态变化,可适当增加噪声强度;若生成不稳定,则应降低噪声强度。
五. 实践
此配置通过适度的参数组合,可在保持视频连贯性和细节表现的同时,有效控制计算资源消耗。生成视频的评估应关注四个维度:指令遵循、运动质量、一致性和视觉质量。对于低强度运动,一致性(主体和场景保持高度一致)和运动质量(动态自然且物理合理)尤为重要。
若生成视频出现模糊或马赛克问题,应优先调整以下参数:
增加inference_steps:从20增至30-35步,提升每帧的细节质量。
调整overlap_history:从17增至20-25帧,增强时间窗口间的参考,减少误差累积。
降低causal_block_size:从10降至5-7,确保模型能捕捉更精细的时序依赖。
检查teacache_THRESH:若启用缓存,尝试降低阈值至0.025或禁用缓存机制。
对于特别缓慢的动作(如手势变化或表情调整),可进一步优化参数:
降低guidance_scale:从6.0降至5.0-5.5,避免过度约束导致动作僵化。
增加addnoise_condition:从20增至25-30,增强生成过程的随机性,减少重复模式。
减小shift值:从默认8降至5-7,增加历史帧的参考范围。
六、总结与最佳实践
SkyReels-V2-DF通过扩散强迫框架、多模态大语言模型和强化学习等技术,实现了无限时长视频生成的能力。针对人体低强度运动的长视频生成,参数优化应重点关注滑动窗口配置、扩散步骤与提示词平衡,以确保视频质量、连贯性和效率的平衡。
在参数调整过程中,应遵循"先官方示例,后逐步微调"的原则。首先使用官方推荐参数生成基准视频,然后根据具体效果逐步调整。对于长视频生成,推荐采用分块续写策略,通过多次生成并合并,既控制显存占用,又保持视频质量。
最后,建议在生成过程中同时启用teacache和use_ret_steps,通过缓存加速和保留步骤机制,实现高效稳定的长视频生成。若出现模糊或马赛克问题,应优先从inference_steps、overlap_history和causal_block_size三个核心参数入手,逐步优化直至达到满意效果。
shift(帧间偏移量)
目标:控制运动幅度,匹配 "低强度" 需求。
建议:设为 1-2(像素级微小偏移,如行走、抬手等动作)。
原因:值越大(如 > 3)可能导致运动跳跃,与 "低强度" 矛盾;过小(0)则生成静态视频。
base_num_frames(分块基础帧数)
目标:将长视频拆分为小块生成,避免内存过载。
建议:设为 32-64(根据显存调整,如 3090 设 32,A100 设 64)。
原因:单块过长会超出显存容量,过短则增加重叠计算成本,32-64 是多数模型的优化区间。
overlap_history(重叠帧数)
目标:确保块间过渡连贯,避免断裂。
建议:设为 8-16(占 base_num_frames 的 25%-50%)。
原因:重叠部分让模型利用前序帧信息,减少分块边界的不连贯(如人物突然位移)。
causal_block_size(因果处理块大小)
目标:优化长序列时间注意力效率。
建议:设为 与 base_num_frames 一致(如 32)。
原因:匹配分块大小,确保每个块内因果关系建模完整,避免长距离依赖丢失导致的运动不连续。
teacache(时间注意力缓存)
目标:启用时间注意力缓存,加速并稳定帧间关联。
建议:设为 True(必须启用,否则长视频帧间关联性差)。
原因:缓存前序帧的注意力权重,减少重复计算,同时保持人体姿态在时间上的一致性(如手臂摆动轨迹连续)。
teacache_thresh(缓存阈值)
目标:控制缓存数据的保留程度,避免信息过时。
建议:设为 0.5-0.8(中等阈值,平衡新旧信息)。
原因:阈值过低(如 <0.3)会频繁丢弃旧缓存,导致姿态突变;过高(>0.9)则保留过时信息,引发动作僵化。
- use_ret_steps(回归步骤启用)
目标:优化帧间残差生成,减少闪烁。
建议:设为 True,并搭配 ar_step=2-4(自回归步骤)。
原因:回归步骤通过前序帧生成当前帧残差,适合低强度运动的微小变化(如呼吸、肢体小幅移动),避免逐帧独立生成导致的不连贯。
四、噪声与稳定性参数
- addnoise_condition(噪声条件添加)
目标:控制噪声注入,避免马赛克或纹理错误。
建议:设为 True,噪声强度设为 0.05-0.1(轻微扰动)。
原因:完全不添加噪声(False)可能导致模式崩塌(如重复帧),过高噪声则引入马赛克;低强度噪声帮助模型探索合理变化空间。
ar_step
建议值:ar_step=8
原因:
自回归步长(Autoregressive Step)控制每次生成新帧的数量。设置为 8 时,每次生成 16 帧(base_num_frames=16)后保留 8 帧新内容,重叠 8 帧历史帧(通过 overlap_history 控制)。
较小的 ar_step(如 4)会增加时间一致性,但可能导致生成速度过慢;较大的值(如 12)可能引入累积误差。
- shift
建议值:shift=0.1~0.2
原因:
shift 控制相邻帧之间的潜在空间位移幅度。低强度运动(如瑜伽、散步)需要较小的位移(0.1~0.2),避免动作跳跃或肢体变形。
高值(如 0.5)适合高强度运动,但会导致模糊或马赛克。
- inference_steps
建议值:inference_steps=30~40
原因:
去噪步数影响生成质量。步数过低(<20)会导致模糊或细节丢失;步数过高(>50)可能引入噪声且耗时增加。
中等步数(30~40)平衡清晰度与效率,适合低强度运动的平滑生成。
时间一致性优化
- overlap_history
建议值:overlap_history=8
原因:
设置历史帧重叠数(需等于 base_num_frames - ar_step)。overlap_history=8 时,每次生成保留 8 帧历史信息,确保动作过渡自然,减少帧间闪烁。
- teacache 与 teacache_thresh
建议值:teacache=True, teacache_thresh=0.8~0.9
原因:
teacache 启用教师缓存机制,通过历史帧引导生成过程,提升一致性。
teacache_thresh 控制缓存帧的相似度阈值。较高值(0.9)严格匹配历史帧,避免画面突变;较低值(0.7)可能引入噪声。
- use_ret_steps
建议值:use_ret_steps=True
原因:
启用保留步骤(Retention Steps)机制,通过动态调整去噪过程的时间步,增强长视频的稳定性。
抗模糊与抗马赛克
- guidance_scale
建议值:guidance_scale=7~9
原因:
控制文本提示词对生成的影响强度。过高(>10)会导致画面过拟合、边缘锐化(可能引发马赛克);过低(<5)可能偏离提示词。中等值(7~9)平衡控制力与自然度。
- addnoise_condition
建议值:addnoise_condition=False
原因:
向条件帧添加噪声可能破坏时间一致性,关闭此选项(False)可减少模糊和闪烁。
- causal_block_size
建议值:causal_block_size=4~8
原因:
控制因果注意力块的尺寸。较小值(4)增强局部一致性,适合低强度运动的精细控制;较大值(8)提升全局连贯性但可能牺牲细节。
inference_steps
调整建议 :一般可设置为 30-100 之间,具体可根据对视频质量的要求和计算资源情况进行调整。如果对视频质量要求较高且计算资源充足,可适当增加该值;反之则可适当降低。
原因 :该参数表示生成每个帧时进行推断的步数。步数越多,模型有更多机会细化和优化每个帧的生成,从而提高视频的质量和细节表现,减少模糊和马赛克现象的出现。
shift
调整建议 :可设置为 1 左右。
原因 :shift 参数用于控制视频生成过程中帧与帧之间的位移或变化程度。将其设置为较小的值,有助于保持视频的稳定性,使人体低强度运动的连贯性更好,避免出现较大的跳跃或晃动,从而提高视频的合理性。
guidance_scale
调整建议 :建议设置在 7-12 之间。
原因 :此参数用于控制提示词对视频生成的引导强度。适当增加guidance_scale可以增强模型对提示词的理解和遵循程度,使生成的视频更符合指定的低强度运动主题和细节描述,但过高可能导致画面过曝等问题,所以需根据实际情况调整。
teacache 和 teacache_thresh
调整建议 :可启用teacache,并根据显存情况和对视频一致性的要求设置teacache_thresh,一般可设为 0.7-0.9 之间。
原因 :teacache 是一种缓存机制,能够存储和重用部分计算结果,从而降低计算开销并提高生成效率。teacache_thresh 用于控制缓存的相似性阈值,较高的阈值可以更好地保证视频在时间上的一致性,使人体低强度运动的动作和外观等特征保持连贯,避免出现不自然的变化。
use_ret_steps
调整建议 :可设置为True。
原因 :该参数启用时,会利用返回的步骤信息来帮助模型更好地理解和生成视频的动态过程,有助于提高视频的运动质量和连贯性,对于人体低强度运动视频来说,能够更自然地展现运动的轨迹和细节。
ar_step
调整建议 :一般可设置为 0 或较小的正值,如 1 或 2。
原因 :ar_step 参数与自回归生成过程有关,设置为较小的值可以使模型在生成后续帧时更多地参考前面的帧信息,从而保持视频的连贯性和一致性,避免出现不合理的运动或画面突变。
base_num_frames
调整建议 :可设置为 97 左右,与模型的默认配置和常见的视频片段长度相适应。
原因 :这是基础的帧数设置,能够为模型提供一个合适的工作范围,使其能够有效地进行视频生成和连贯性控制。同时,配合其他参数的调整,可以更好地实现长视频的生成和扩展。
overlap_history
调整建议 :建议设置为 17 左右。
原因 :该参数表示在生成后续视频片段时,与前面重叠的帧数。适当数量的重叠帧可以帮助模型更好地保持视频的时间连贯性和一致性,使不同片段之间的过渡更加自然,减少因帧与帧之间的差异而导致的模糊或马赛克现象。
addnoise_condition
调整建议 :可设置为 10-20 之间。
原因 :此参数用于控制添加噪声的条件强度。在生成过程中,适当的噪声可以增加视频的真实感和自然度,但过多的噪声可能导致画面质量下降。因此,需要根据实际情况进行调整,以在保持视频质量的前提下,增强其真实感。
causal_block_size
调整建议 :一般可设置为 5-10 之间。
原因 :causal_block_size 参数用于控制因果块的大小,影响模型在生成过程中对前后帧信息的依赖和利用范围。合理的设置可以平衡视频的生成效率和连贯性,使模型能够在有限的计算资源下,生成高质量且连贯的人体低强度运动视频。
num_frames(总帧数)
推荐值:根据目标视频长度动态调整(如120-300帧,对应4-10秒@30fps)。
原因:
长视频需分段生成(如每段97帧),通过overlap_history保持帧间一致性。
避免单次生成过多帧导致显存溢出或质量下降。
(2) inference_steps(推理步数)
推荐值:30-50步(低强度运动可取下限)。
原因:
运动幅度小,模型收敛快,减少步数可加速生成而不显著降低质量。
步数过多易引入冗余细节,反而导致模糊。
(3) shift(时间步偏移)
推荐值:0.8-1.2(根据运动速度微调)。
原因:
低强度运动(如瑜伽、慢走)需较小偏移以维持帧间连贯性。
过大会导致动作突变,过小则可能重复。
(4) guidance_scale(指导尺度)
推荐值:4.0-6.0(默认5.0)。
原因:
控制提示词对生成的影响力,低强度运动需避免过度拟合提示词(如"慢跑"不应生成跳跃)。
过高值易导致画面僵硬或马赛克。
(5) base_num_frames(基础帧数)
推荐值:97(保持默认)。
原因:
模型训练时采用97帧分段生成,修改此值可能破坏预训练分布。
若需更长片段,应通过多段拼接实现。
(6) overlap_history(历史帧重叠数)
推荐值:16-24(默认17)。
原因:
确保每段视频的结尾帧与下一段的开头帧有足够重叠,减少跳帧。
低强度运动对帧间一致性要求高,需适当增加重叠。
- 高级参数优化
(1) ar_step(自回归步长)
推荐值:0(默认)。
原因:
自回归模式可能引入累积误差,低强度运动无需动态调整步长。
若需修正特定帧,可手动调整局部ar_step。
(2) addnoise_condition(噪声添加条件)
推荐值:15-25(默认20)。
原因:
控制噪声强度,低强度运动需较低噪声以避免动作变形。
过高噪声会模糊细节,过低则可能重复首帧。
(3) causal_block_size(因果块大小)
推荐值:8-16(默认12)。
原因:
平衡时序依赖与计算效率,低强度运动需较小块以捕捉微小动作。
过大块可能导致动作滞后,过小则增加计算量。
(4) teacache与teacache_thresh(教师缓存阈值)
推荐值:
teacache=True(启用缓存)。
teacache_thresh=0.7(默认)。
原因:
缓存中间特征可加速生成,阈值0.7在质量与速度间取得平衡。
低强度运动对缓存依赖低,但启用可减少冗余计算。
(5) use_ret_steps(返回步数)
推荐值:False(默认)。
原因:
低强度运动无需精细控制中间帧,禁用可减少显存占用。
若需后处理,可单独启用。
- 关键参数联动逻辑
帧数与步数:num_frames↑时,inference_steps需↑(如300帧时步数设为40),但需避免显存溢出。
噪声与指导:addnoise_condition↓时,guidance_scale需↑(如噪声15时,指导设为6.0)以补偿细节。
重叠与步长:overlap_history↑时,shift需↓(如重叠24时,步长设为0.8)以避免重复。
- 避坑指南
避免模糊:
确保num_frames是base_num_frames的整数倍,避免截断。
降低guidance_scale(如<3.0)会丢失细节,但>7.0易产生马赛克。
避免跳帧:
overlap_history必须≥10,否则低强度运动(如挥手)可能中断。
显存优化:
使用1.3B模型(12G显存)时,num_frames≤150;14B模型(51G显存)可放宽至300帧。
参数配置的最佳
实践与注意事项
在实际应用中,参数配置需遵循以下最佳实践:
滑动窗口参数设置:base_num_frames、overlap_history和num_frames需共同协作,确保滑动窗口机制的有效性。总帧数num_frames应与base_num_frames和causal_block_size对齐,以避免计算错误。例如,在540P分辨率下,base_num_frames=97,overlap_history=17,num_frames可设置为257(10秒)、377(15秒)、737(30秒)等,这些数值与模型训练参数一致,能获得最佳效果。
异步模式与硬件适配:异步模式(ar_step>0)能显著提升长视频生成速度,但对硬件资源要求更高。在多GPU环境下,建议启用异步模式并设置较大的causal_block_size(如5或10);而在单GPU或低配置硬件中,同步模式可能更稳定,尽管速度较慢。此外,offload参数可将部分计算卸载到CPU,降低显存占用,但会略微增加推理时间。
缓存机制与内存管理:teacache和teacache_THRESH参数需根据硬件内存情况进行调整。对于16GB以上显存的GPU,建议启用teacache并设置teacache_THRESH=0.3,以获得最佳速度与质量平衡;而对于内存有限的硬件,可适当提高阈值(如0.4)减少缓存数量,或完全禁用缓存机制。此外,use_ret_steps会增加内存占用,需根据硬件条件选择性启用。
噪声控制与稳定性:addnoise_condition和shift是控制视频稳定性的关键参数。在长视频生成中,建议启用噪声控制(addnoise_condition>0)以防止错误累积。shift值需根据初始图像的复杂度调整,简单场景可设置为3.0-5.0,复杂场景可设置为5.0-8.0。此外,addnoise_condition的值应与视频时长成正比,较长视频可适当提高该值(如30秒视频使用20,60秒视频使用25-30)。
分辨率与参数调整:视频分辨率直接影响生成质量和计算资源需求。在720P分辨率下,建议增加base_num_frames(如121)并适当提高guidance_scale(如6.5)以维持质量,同时可能需要增加addnoise_condition(如25)以应对更高的计算复杂度。此外,分辨率越高,inference_steps建议设置为更高的值(如40-50)以获得清晰细节。
提示词优化与参数协同:在图像到视频任务中,提示词设计与参数设置密切相关。建议在提示词中包含对初始图像特征的描述(如"优雅白天鹅的曲线颈部和细腻羽毛"),并根据提示词复杂度调整guidance_scale。例如,简单场景可使用5.0,而包含多元素交互的复杂场景可使用6.0-7.0。此外,动态描述(如"缓慢游动"或"偶尔低头觅食")可与较高的shift值(如5.0-6.0)协同,增强运动表现。