☰
Stable Video Infinity 完整指南:一张图如何变成无限长视频
2026/10/21 3:57:09 网站建设 项目流程

Stable Video Infinity 完整指南:一张图如何变成无限长视频

【免费下载链接】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)基于 ICLR 2026 Oral 论文的 Error Recycling(误差回收)技术,专治长视频生成的质量衰减,训练、推理、评测代码全部开源。

开箱即用:安装与环境

环境门槛不高:官方在 A100 80G、CUDA 12.0 上验证,torch 2.4.1~2.8.0 均可运行,Python 建议 3.10。

第1步:克隆仓库并安装核心依赖

git clone https://gitcode.com/GitHub_Trending/st/Stable-Video-Infinity cd Stable-Video-Infinity && pip install -e .

第2步:补齐运行依赖(依赖清单见 requirements.txt)

pip install flash_attn==2.8.0.post2 conda install -c conda-forge ffmpeg librosa libiconv

之后按 README 的「Model Preparation」一节,把 Wan2.1-I2V-14B 基座模型与对应的 SVI LoRA 下载到weights/目录即可。SVI 本质是在 Wan 2.1 基座上微调的 LoRA,文件较大,预留足够磁盘再开始。

环境就绪,先跑通最短的"图生视频",建立成就感。

从一张图到一段视频:最小工作流

第1步:准备输入。放一张参考图和一个提示词文件,官方示例在data/toy_test/shot/(游艇图片和对应 prompt)。

图:官方游艇样例的起始图——一张静态图作为输入,SVI 将其逐段续写成长视频。

第2步:运行官方推理脚本 scripts/test/svi_shot.sh

bash scripts/test/svi_shot.sh

脚本会自动加载参考图与提示词,把视频一段一段往后续写,结果保存在videos/svi_shot/。

不想敲命令?用 Gradio 界面点着玩(支持 Film/Shot 模式切换):

bash gradio_demo.sh --shot

现在你手里已经有一段能持续运镜的视频。它凭什么敢一直生成而不崩?

它凭什么能做成:技术原理速览

问题出在"训练-测试鸿沟":模型训练时看到的是干净视频,推理时却要用"自己刚生成的、带误差的片段"当输入,误差逐段累积,画面迟早崩坏。SVI 的 Error Recycling 做三件事:

  • 注入:训练时把模型自己历史产生的误差故意加回输入,模拟误差累积的真实轨迹;
  • 计算:用单步双向积分近似预测,以残差作为误差存入"误差库"(error bank);
  • 回收:训练时从误差库动态重采样,让 DiT 学会主动识别并纠正自己的错误。

推理时零额外开销,且与文本、音频、骨骼等多种条件兼容。官方 FAQ 里还解释了为什么采用"片段级因果 + 片段内双向注意力"的设计——模拟导演"来回审片再拼接"的工作流,更适合叙事类内容创作。

图:三种生成范式对比——SVI 通过误差注入与闭环回收,在生成新内容的同时保持质量。

理解了原理,就能更进一步:用参数把视频"捏"成你想要的样子。

玩法升级:参数与风格控制

常用旋钮都在 test_svi.py 的参数里,各给一个建议区间和原因:

  • 视频长度--num_clips:每段 clip 固定 81 帧,想要更久就调大它。官方实测 20 分钟不漂移、不遗忘,从 10 段左右起步比较稳妥。
  • 文本引导强度--cfg_scale_text:默认 5.0。画面不服从提示词或有残影时提到 7;动作僵硬时再往回调。
  • 运动帧数--num_motion_frames:SVI-Shot 用 1(取最后一帧),SVI-Film 用 5 来保证跨镜头连贯。直接用模型对应的默认值,与训练对齐,别乱改。
  • 参考帧填充--ref_pad_num:-1表示随机帧填充,把续写变成"图像修复"任务,单场景下永不漂移;0是零填充,放宽单场景限制,适合多场景叙事。
  • 分辨率--max_width:默认 832。输入图过大会被缩放到远偏离训练分辨率(480×832),导致动作缺失,按终端日志 "Video dimensions" 校准。

想要"边生成边换剧情"?给 Film/2.0 模型喂一个"每 5 秒换一句"的提示词流文件即可,官方 100 句海底提示词示例在 data/toy_test/svi_2.0/prompt.txt,画面会跟着文字换景,运镜由你在句子里直接描述。

图:100-prompt 流样例的起始图——同一海底世界里,长提示词序列驱动 SVI 2.0 连续换景。

ComfyUI 用户直接加载官方工作流 comfyui_workflow_svi_1.0/SVI-Shot-StreamingPrompt-1028.json。注意 SVI LoRA 不能套用原版 Wan 2.1 工作流,必须用修改过 padding 设置的官方版本,且每个 clip 换不同随机种子。

参数就位,下面把 Talk 和 Dance 两个模块用起来,完成两个真实任务。

高频实战:两个典型场景

场景一:长对话视频(SVI-Talk)

目标:一张人物照 + 一段音频,得到口型连贯、久不漂移的说话视频。

做法: 第1步:按 README「Model Preparation」下载 chinese-wav2vec2 音频编码器与svi-talk.safetensors。 第2步:素材若是视频,先用 scripts/data_preprocess/prepare_video_audio.py 提取并预处理音频。 第3步:运行官方示例(人物图data/toy_test/talk/obama.png+ 5 分钟音频):

bash scripts/test/svi_talk.sh

效果:官方 10 分钟说话视频无漂移,口型指标与专用工具持平,且画面细节一致性更好。

图:三种对话视频方案对比——SVI-Talk 在长时生成下的清晰度与连贯性最佳。

场景二:舞蹈动作视频(SVI-Dance)

目标:让一个角色跟着参考舞蹈的骨骼轨迹,跳完一段长循环舞。

做法: 第1步:准备人物图片与舞蹈视频,官方示例在data/toy_test/dance/(image.png + pose.mp4)。 第2步:自己的舞蹈视频先用 scripts/data_preprocess/prepare_video_pose.py 提取 DWPose 骨骼序列。 第3步:运行推理:

bash scripts/test/svi_dance.sh

效果:人物沿骨骼轨迹完成长时舞蹈,肢体不缺失、动作不漂移。顺带一提,SVI-Tom 还能只用一张卡通角色图生成 8 分钟卡通长片,工作流与 Film 版共享。

图:SVI-Tom 生成的卡通长视频画面——角色动作与场景细节在长时续写中保持稳定。

配置再对也可能撞上"色偏、慢动作、鬼影"。下面这份清单帮你快速定位。

调优清单与避坑指南

常见问题

  • 颜色漂移、画质下滑:VAE 反复编解码会累积误差,静态背景尤其明显;若测试风格远离训练分布,用少量同域视频微调 LoRA 最有效(LoRA 会连带学会该域风格,数小时即可)。
  • 画面几乎不动:输入图过大被缩放,偏离训练分辨率。调整--max_width,对照终端日志校准。
  • 提示词不生效、有残影:--cfg_scale_text从 5.0 提到 7 再观察。
  • 闪烁、明显退化:多半是工作流用错或"同一个 clip 复用随机种子"。改用官方工作流,并确认每段 clip 使用不同 seed——相同噪声跨 clip 会累积伪影,这条非常重要。

性能优化

  • 显存不够:调低--num_persistent_param_in_dit减少常驻显存的参数量,或启用--tiled分块编码。
  • 速度优先:保持在 480p 训练分辨率附近推理,适当减少--num_steps(若叠加量化/蒸馏 LoRA,建议保留更多采样步数保质量)。
  • 提示词写法:训练数据的 prompt 偏 GPT 风格长句,直接给一段 LLM 生成的长描述更容易出片。
  • 细节问题与参数含义:查 docs/FAQ.md 与 docs/DevLog.md。

一句话总结:Stable Video Infinity 把"长视频"从抽奖变成了可控制的手艺——误差会自己回收,风格由你的 LoRA 和 prompt 决定。下一步可以去:

  • 用 train_svi.py 配 scripts/train/ 训练自己的领域 LoRA,样本量需求很小;
  • 试多场景叙事:svi-film-opt-10212025权重 + 提示词流,产出短片式内容;
  • 走 comfyui_workflow_svi_1.0/ 里的官方工作流,在 ComfyUI 中组装自己的节点链路。

现在就动手:克隆仓库,跑一次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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询