news 2026/10/21 2:05:35

Stable Video Infinity 部署指南:5 步生成无限长视频

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Stable Video Infinity 部署指南:5 步生成无限长视频

Stable Video Infinity 部署指南:5 步生成无限长视频

【免费下载链接】Stable-Video-Infinity[ICLR 26 Oral] Stable Video Infinity: Infinite-Length Video Generation with Error Recycling项目地址: https://gitcode.com/GitHub_Trending/st/Stable-Video-Infinity

把一段几秒的图生视频拉长到几分钟,画面开始漂移、主体被"遗忘",这是用 I2V 模型做长视频最常见的翻车现场。Stable Video Infinity(SVI)用 Error Recycling 机制解决这个问题,从一张参考图出发就能持续生成不限时长的视频,而且官方实现已完全开源。

⚡ 用 5 步跑通无限长视频生成

第 1 步:克隆仓库并准备环境。官方在 A100 + CUDA 12.0 + torch 2.8.0 上验证过,conda 脚本会自动装 torch 2.5.0:

git clone https://gitcode.com/GitHub_Trending/st/Stable-Video-Infinity cd Stable-Video-Infinity conda create -n svi python=3.10 && conda activate svi pip install -e . && pip install flash_attn==2.8.0.post2 conda install -c conda-forge ffmpeg librosa libiconv

第 2 步:下载底模和 LoRA。SVI 只微调 LoRA 适配器,底模是 Wan 2.1 I2V 14B:

huggingface-cli download Wan-AI/Wan2.1-I2V-14B-480P --local-dir ./weights/Wan2.1-I2V-14B-480P huggingface-cli download vita-video-gen/svi-model version-2.0/SVI_Wan2.1-I2V-14B_lora_v2.0.safetensors --local-dir ./weights/Stable-Video-Infinity

第 3 步:跑官方推理脚本。以 SVI 2.0 为例,输入是data/toy_test/svi_2.0/frame.jpg和一份 100 条提示词的 prompt 流,输出落在videos/svi_2.0/:

bash scripts/test/svi_2.0.sh

其他变体(SVI-Shot、Film、Talk、Dance)对应 scripts/test/ 下的同名脚本,只需替换--extra_module_root指向的 LoRA 和输入数据。

第 4 步:验证权重目录。确认weights/Wan2.1-I2V-14B-480P/下 7 个 safetensors、T5 文本编码器、CLIP 图像编码器和 VAE 齐全,结构见 README 的 Model Preparation 一节。

第 5 步(可选):启动 Web 界面。目前 Gradio demo 支持 Shot 和 Film 两种模式:

bash gradio_demo.sh --shot

🔍 拆解 Error Recycling 与 clip 级因果推理

训练时:用误差缓冲区教会 DiT 自纠错

这个模块解决的是"训练见干净数据、推理见带误差自生成输出"的分布错位。train_svi.py 里维护两个按时间步网格分桶的缓冲区latent_error_buffer和y_error_buffer,训练时用一步双向积分近似预测、以残差计算误差并入库,再按概率回灌到新样本上,形成闭环。核心开关在 scripts/train/svi_film.sh:

--use_error_recycling \ --error_buffer_k 500 \ --num_grids 50 \ --clean_prob 0.5 \ --clean_buffer_update_prob 0.1

--error_buffer_k控制每个时间步桶的容量,--clean_prob保留一定比例的无误差训练防止灾难性遗忘;干净输入产生的误差会以--clean_buffer_update_prob的低概率才写入缓冲区,避免污染误差库,这也是 svi-film-opt 版本画质更好的原因。

推理时:clip 级因果 + 参考帧填充

diffsynth/pipelines/svi_video.py 实现的是"clip 内双向注意力、clip 间因果":test_svi.py 每生成一个 81 帧的 clip,就取末尾--num_motion_frames帧作为下一 clip 的续写条件;--ref_pad_num -1会把参考图平铺填充整段 padding 区域,把续写变成"基于参考图的恢复"问题,单场景下不会漂移。生成逻辑简化如下:

video = pipe(prompt=prompt, input_image=ref, num_inference_steps=50, seed=seed) video_list += video[:-num_motion_frames] ref = video[-num_motion_frames:] # 末帧喂给下一个 clip

注意 scripts/test/svi_shot.sh 用 1 个 motion frame,scripts/test/svi_film.sh 用 5 个,这是与训练对齐的设定,不要随手改。

🎛️ 内存、速度、质量:三条轴的调参与参数对比

压低显存占用

  • 调小--num_persistent_param_in_dit(默认 6e9):溢出的 DiT 模块会被enable_vram_managementoffload 到 CPU,用速度换显存。
  • 加载模型时把torch_dtype设为torch.float8_e4m3fn启用 FP8,test_svi.py 中已有对应注释。
  • 打开--tiled让 VAE 分块编解码,长视频帧数越多收益越明显。

加快推理速度

  • 降低--num_steps(默认 50),步数是每 clip 耗时的线性因子。
  • 调用 pipeline 时传tea_cache_l1_thresh=0.3:内置的 TeaCache 用相对 L1 距离判断相邻 step 的 DiT block 输出是否可复用,跳过冗余前向。
  • 换更小的底模:DevLog 提到 Wan 2.2 5B 版本 1 分钟视频约 10 分钟(H100),小模型只需做参考图误差回收即可。

平衡质量与稳定性

  • 每个 clip 用不同的 seed,test_svi.py默认seeds = range(0, 10000)再乘--seed_times,全 clip 复用同一噪声会累积伪影。
  • 出现重影、文本遵循差时把--cfg_scale_text从 5.0 提到 7 左右。
  • 输入图过大时(如 2150x1204 会被缩到 1472x832)偏离训练分辨率 480x832,动效变弱,用--max_width 832拉回训练分布。

参数默认值调整建议
--num_steps50调低提速,过低会明显掉质量
--cfg_scale_text5.0重影/文本遵循差时提高到 7
--ref_pad_num-1(Shot)/ 0(Film)-1 全参考帧填充最稳;0 允许转场但可能遗忘
--num_motion_frames1(Shot)/ 5(Film)须与训练设定一致,勿随意修改
--num_persistent_param_in_dit6e9调小省显存,推理速度下降

⚠️ 上线前必看的三个高频坑

  • 长视频颜色漂移、主体被遗忘→ 各 clip 复用了同一噪声 seed,或把 SVI LoRA 套在原版 Wan 工作流上(未修改 padding 设定)。解法:每 clip 换 seed,按官方脚本的--ref_pad_num和 motion frames 配置来。
  • 动效明显不足、画面近乎静止→ 输入分辨率与 480p 训练分布偏差过大,缩放后丢失细节。解法:传--max_width 832,并在终端确认 "Video dimensions" 输出接近 832x480。
  • 生成途中 CUDA out of memory→ 14B DiT 加流式多 clip 的常驻开销吃满显存。解法:调小--num_persistent_param_in_dit、开启--tiled,或改用 FP8 加载。

项目 TODO 里的 Wan 2.2 Animate SVI 和 720p 支持值得持续关注,前者把骨架驱动的舞蹈动画从 UniAnimate-DiT 换到了 Wan 2.2 底座。遇到具体报错先看 docs/FAQ.md,部署到非官方架构时的调参经验在 docs/DevLog.md。

【免费下载链接】Stable-Video-Infinity[ICLR 26 Oral] Stable Video Infinity: Infinite-Length Video Generation with Error Recycling项目地址: https://gitcode.com/GitHub_Trending/st/Stable-Video-Infinity

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/21 2:04:37

广告投放风控防坑必备软件:传播易、朝闻通、拓氪科技

随着移动互联网营销迈入精细化、合规化、长效化发展阶段,传统粗放式广撒网的广告投放模式已彻底失效。当前,全域资源整合、AI智能内容生产、全链路数据监测、合规风控管控、私域用户长效沉淀,已成为全行业广告主的核心营销刚需。现阶段各类企…

作者头像 李华
网站建设 2026/10/21 2:04:25

永磁同步电机电流环:基于ESO与无模型MPCC的仿真设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/21 2:03:14

工控机变频器旁频繁死机?EMC抗干扰实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/21 2:03:07

信息光学作业:MATLAB傅里叶光学与衍射仿真全解析

简介:面向信息光学课程学习者与MATLAB编程实践者的作业资源包,集中呈现傅里叶变换、GUI交互和衍射模拟三大光学计算主题。压缩包整体约22.71MB,内部以MATLAB脚本与函数文件为主,适合直接运行、调试并在此基础上二次开发。傅里叶变…

作者头像 李华
网站建设 2026/10/21 2:02:01

8V-120V宽压输入DC-DC芯片XZ1823设计实战:从选型到量产避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华