Stable Video Infinity 安装指南:用一张图片和一条命令生成 14 分钟长视频
【免费下载链接】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
Stable Video Infinity(SVI)解决一个问题:让图生视频在拉长后不再"漂移"。它通过误差回收微调,让模型学会主动修正自己生成的误差。给一张参考图、一段文本流,一行命令就能跑出不重样的长视频。
🎬 你能拿到什么:长视频生成的能力清单
跑通 SVI 后,你可以直接产出这几类结果:
- 分钟级单场景长视频:官方 20 分钟测试无漂移、无遗忘(SVI-Shot)
- 带场景切换的影片:每 5 秒换一个镜头的提示词流,生成短片叙事(SVI-Film)
- 音频驱动的说话人视频:10 分钟口型同步无漂移(SVI-Talk)
- 骨骼驱动的舞蹈视频:输入姿态视频即可(SVI-Dance)
- 风格化动画:例如 8 分钟 Tom & Jerry 风格长片(SVI-Tom)
- SVI-2.0:基于 Wan 2.1 底座的增强版,官方用一条提示词流压测出 14 分钟长视频
⚙️ 二十分钟跑通:装依赖、下权重、出第一条视频
第一步,克隆仓库并装环境。项目在 A100 80G + CUDA 12.0 + torch 2.8.0 上验证过,脚本会自动装 torch 2.5.0,16GB 以上显存的卡可以试跑:
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第二步,下载底座模型和 LoRA。底座是 Wan 2.1 I2V 14B,约 7 个分片,先下它:
huggingface-cli download Wan-AI/Wan2.1-I2V-14B-480P --local-dir ./weights/Wan2.1-I2V-14B-480P # 首跑只需要一个变体,这里下 SVI-Shot huggingface-cli download vita-video-gen/svi-model version-1.0/svi-shot.safetensors --local-dir ./weights/Stable-Video-Infinity第三步,跑通第一个案例。测试脚本已配好仓库内data/toy_test/的示例数据,直接执行:
bash scripts/test/svi_shot.sh产出在videos/svi_shot/下。跑通这条再换其他脚本:svi_film.sh、svi_talk.sh、svi_dance.sh、svi_tom.sh、svi_2.0.sh,都在 scripts/test/ 里。想要界面操作,可以bash gradio_demo.sh起一个支持 Film/Shot 两种模式的 Gradio Demo。
🧭 你的场景该选哪个模型:按任务对号入座
不用逐个背变体,按"你要做什么"直接选:
| 你的任务 | 选这个 | 输入 | 关键提示 |
|---|---|---|---|
| 产品/风景/单镜头持续拍摄 | SVI-Shot | 图 + 一条提示词 | 单场景,20 分钟不漂移 |
| 多镜头叙事短片 | SVI-Film-Opt(最新) | 图 + 提示词流 | 每 5 秒一条提示词;想要更多转场换 SVI-Film-Transition |
| 说话人/访谈口播 | SVI-Talk | 图 + 音频 | 需额外下 wav2vec2 与 MultiTalk 权重 |
| 舞蹈动作 | SVI-Dance | 图 + 姿态视频 | 需额外下 UniAnimate-DiT |
| 卡通/固定美术风格 | SVI-Tom | 图 + 提示词流 | 风格由 LoRA 锁死,适合模仿特定动画 |
| 通用增强版 | SVI-2.0 | 图 + 提示词流 | 用 SVI-Shot 的推理脚本跑,支持 5/1 运动帧 |
没有文生视频需求?先用任意 T2I 模型出一张图,再走 I2V 流程即可。各场景的示例输入都在 data/toy_test/ 下,改脚本里的路径就能换成自己的素材。
🎛️ 真正影响出片的 5 类开关:按"影响什么"读参数
打开 scripts/test/ 里的脚本,参数很多,但按影响归类就 5 类:
1. 控制长度:--num_clips每段 81 帧,乘起来就是总时长。想要"接近无限"就设--num_clips 999。
2. 控制跨段连贯:--num_motion_frames跨片段参考帧数。这是和训练对齐的值,别乱改:SVI-Shot/Dance/Talk 用 1,SVI-Film 用 5。
3. 控制漂移与遗忘:--ref_pad_num-1用随机参考帧填充,把任务变成"图像恢复",单场景(Shot/Dance/Talk)必用;0零填充,放宽单场景限制,Film 用,但主体移出画面时有遗忘概率。
4. 控制文本跟随:--cfg_scale_text默认 5.0。出现鬼影、动作跟不上提示词时加到 7,测试素材和训练分布差距越大越要调高。
5. 控制分辨率与显存:--max_width、--tiled、--num_persistent_param_in_dit训练基准是 480×832,图像处理按宽度上限缩放(2150×1204 会被缩到 1472×832),--max_width默认 832,偏离训练分辨率太大会导致运动缺失。显存紧张时加--tiled开分块编码,或调低--num_persistent_param_in_dit减少常驻显存的参数量。
提示词流还有两个小开关:--prompt_repeat_times(每条提示词重复几段)和--use_first_prompt_only(全程只用第一条)。提示词风格上,训练数据偏 GPT 式长文本,直接喂 LLM 生成的一长段效果就好。
🔍 跑不通时:现象 → 原因 → 处理
flash_attn 安装失败原因:预编译 wheel 和 CUDA/torch 版本对不上。处理:确认 CUDA 版本与 PyTorch 匹配,装对应版本 wheel;仍失败可参考仓库 issue 区的讨论,或换 conda 环境隔离依赖重装。
底座模型下载中断、超时原因:Wan 2.1 I2V 14B 是 7 个 safetensors 分片,体量大。处理:huggingface-cli本身支持断点续传,重跑同一条命令即可;网络受限就配置镜像源再拉。
生成视频颜色偏移、闪烁、画质劣化原因:一是 VAE 反复编解码在静态场景下累积误差,二是 LoRA 在小数据集上训练,测试素材风格偏离训练分布时质量下滑。处理:用少量(几十条)目标风格的视频片段微调你自己的 LoRA,官方 FAQ 里确认这是最有效的适配方式,同时能控制长程风格一致性。
运动不足、场景不切、文本不跟随原因:输入图被缩得离训练分辨率太远,或 CFG 偏低。处理:调--max_width让终端日志里的 "Video dimensions" 接近 832×480;--cfg_scale_text=7;把提示词写成更长的 LLM 风格描述,尤其写清楚镜头运动。
显存不够(OOM)原因:14B 底座 + 长序列推理。处理:加--tiled、调低--num_persistent_param_in_dit、降--num_steps;仍不够就上更大显存的卡(官方测试环境是 A100 80G)。
更多细节看 docs/FAQ.md。
🛠️ 再深一层:训自己的 LoRA、接 ComfyUI
训自己的 SVI 只需 LoRA 量级的数据和算力(官方在 8~64 卡上都验证过)。流程:
# 按 data/toy_train/ 的格式准备数据,音频/姿态类先预处理 python scripts/data_preprocess/prepare_video_audio.py # 启动训练(以 SVI-Talk 为例,其余变体同型) bash scripts/train/svi_talk.sh训练脚本在 scripts/train/,多卡训练记得改--num_nodes。训完的 checkpoint 转 safetensors 后用 utils/extract_lora.py 只抽 LoRA 参数省空间,再把新权重填进 scripts/test/ 的推理脚本即可验证。
接 ComfyUI用仓库自带的 comfyui_workflow_svi_1.0/ 工作流,注意三条官方红线:SVI LoRA 不能直接用原生 Wan 2.1 工作流(填充设置不同);每个片段必须换 seed;SVI-Shot 用 1 运动帧 + VACE 参考图填充,SVI-Film 用 5 运动帧。量化/蒸馏 LoRA 会降低 Film 工作流质量,采样步数建议多于 4/8 步。
🗺️ 路线图:Wan 2.2 与下一个版本
当前主线分支跑 Wan 2.1 底座(含 SVI 1.0/2.0);svi_wan22分支已支持 Wan 2.2 底座(SVI 2.0/2.0 Pro)。官方待办里的下一步:Wan 2.2 Animate SVI(只用 1k 样本就能解锁无限长生成)、720p 支持、可定制化生成。下面的对比图展示了 Wan 2.2 + SVI 在 40 秒以上片段上相对基线的稳定性优势:
✅ 起飞前检查清单:6 件事
python -c "import flash_attn"无报错,ffmpeg -version可执行weights/目录结构完整:Wan 底座 7 个分片 + 对应 SVI LoRA 都在- 终端日志里 "Video dimensions" 接近
832x480(或480x832) --num_motion_frames与所用变体匹配(Shot/Dance/Talk=1,Film=5)- 单场景任务确认
--ref_pad_num -1,多场景任务确认--ref_pad_num 0 - ComfyUI 用户:每个片段 seed 不同、用的是官方工作流而非原生 Wan 工作流
全部打勾后,从bash scripts/test/svi_shot.sh开始,然后按你的场景换模型和参数,长视频生成就稳定跑起来了。
【免费下载链接】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),仅供参考