Stable Video Diffusion 出自 Stability AI 的 generative-models 仓库,论文是 arXiv:2311.15127。它把训练拆成三段:文生图预训练 → 视频预训练 → 高质量视频微调,在图像潜空间模型里插入时序层再微调。产出很克制:SVD 出 14 帧、SVD-XT 出 25 帧,分辨率 576×1024,模型卡自己写明「生成的视频较短(≤ 4 秒)」。它不能用文字提示词控制,这是架构决定的,不是配置没调对——想做文生视频,得先用 SD/SDXL 出一张首帧再喂进来。
参数量 2B 左右(fp32 UNet 权重 6.1GB,反推约 1.5B;CLIP 图像编码器 fp32 2.53GB,约 630M;VAE 391MB)。放在 2026 年的图生视频赛道上,LTX-2.5、Wan2.2-I2V-A14B、MiniMax-H3 这些 14B 级别的选手画质更强,SVD 早就不是画质冠军了。但它保住了另一个位置:最轻。SVD-XT 1.1 是一个 4.78GB 的单文件 safetensors;走 diffusers 分片的话,fp16 全套是 UNet 3.05GB + 图像编码器 1.26GB + VAE 196MB ≈ 4.5GB。Hugging Face 官方文档写得很直白:把 model CPU offload、feed-forward chunking、调小 decode_chunk_size 三招全开,显存需求能压到 8GB 以下。
真正卡住人的从来不是权重大小,而是三件事。一,权重在 Hugging Face 上是 gated 的,得先在页面上接受 Stability AI Community License 才能拉,脚本里少个 token 就 401。二,SVD-XT 1.0 的仓库根目录只有 fp32 的 svd_xt.safetensors(9.56GB)和 svd_xt_image_decoder.safetensors(9.5GB),没有 fp16 单文件——fp16 权重要从 diffusers 子目录里取,`variant="fp16"` 少写就等着 OOM。三,显存峰值不在 UNet 去噪,而在 VAE 把 25 帧一次性解码那一刻,decode_chunk_size 调不对,前面省的全白省。NexGPU 按秒计费、2,000+ 预置镜像里直接有 PyTorch 和 ComfyUI,把这三个坑踩完通常花不到一杯咖啡钱。
01 —
SVD 家族现在有哪些版本
同一套时序扩散骨架,帧数、视角和门控条件各不相同
| 版本 | 参数量 | 显存 | 上下文 | 说明 |
|---|---|---|---|---|
| stable-video-diffusion-img2vid(SVD) | ≈2B(UNet ~1.5B) | fp16 权重 ~4.5GB / 三招全开 <8GB / 建议 ≥12GB | 14 帧 · 576×1024 | 最短最快的那一档,官方参考耗时 A100 80GB 上约 100 秒一段。用来批量试 motion_bucket_id 和构图最划算。 |
| stable-video-diffusion-img2vid-xt(SVD-XT) | ≈2B | fp16 权重 ~4.5GB / 三招全开 <8GB / 不开 offload 建议 ≥16GB | 25 帧 · 576×1024 | 在 SVD 基础上继续微调到 25 帧,A100 80GB 上约 180 秒一段。根目录只有 fp32 单文件 9.56GB,fp16 得走 diffusers 子目录。 |
| stable-video-diffusion-img2vid-xt-1-1(SVD 1.1) | ≈2B | 单文件 4.78GB / 显存同 XT / 24GB 卡最省心 | 25 帧 · 1024×576 | 目前的主力版本。以固定 6 FPS、motion_bucket_id 127 微调以提升一致性;官方明说「偏离这套固定条件时表现可能不如 SVD 1.0」。HF 上是 gated 仓库。 |
| SV3D_u / SV3D_p | 与 SVD 同级 | 官方未标注;权重同级,建议 ≥16GB 起步 | 21 帧 · 576×576 | 把时序层改造成绕轴多视角合成:SV3D_u 单图出环绕视频,SV3D_p 额外接受指定相机路径。做 3D 资产预览用这条线。 |
| SV4D 2.0 | 官方未公布 | 官方未标注;bfloat16 推理,建议 ≥24GB 起步 | 48 张 = 12 帧 × 4 视角 · 576×576 | 视频转 4D:吃一段 12 帧单视角视频,一次吐 4 个新视角的完整视频,另有 5 帧 × 8 视角变体,更长的靠自回归续。 |
02 —
跑 SVD 该租哪张卡
按 NexGPU 实际挂牌价,按你真实要做的事挑
第一次跑通、反复调 motion_bucket_id 与 noise_aug_strength
RTX 3090 24GB$0.193/卡·时
24GB 足够 fp16 全流程常驻、完全不用开 CPU offload,是全网最便宜的一档 Ampere 卡,试错阶段每小时不到两毛钱。
日常出片:25 帧 576×1024,decode_chunk_size 拉满不省显存换速度
RTX 4090 24GB$0.540/卡·时
单卡扩散推理性价比最高的一张,配合 torch.compile 官方给的 20–25% 提速直接吃满。
对齐官方 ~180 秒基准 / 批量跑素材队列
A100 PCIE 80GB$0.824/卡·时
模型卡里那句「SVD-XT 在 A100 80GB 上约 180 秒」就是这张卡,想按官方数字做产能测算别换别的。
SV4D 2.0 一次出 4 视角 48 帧,或单卡并发多条任务
RTX A6000 48GB$0.817/卡·时
48GB 显存能把多视角 batch 和 VAE 解码峰值一起兜住,价格却和 A100 PCIE 同档,多视角工作流的甜点位。
03 —
四步在 NexGPU 上把 SVD 跑起来
从空实例到导出第一条 mp4,正常十几分钟
- 01
开实例,选 PyTorch 预置镜像
在 console.nexgpu.net 选一张 RTX 3090 24GB 或 RTX 4090 24GB,镜像直接挑 PyTorch 那一版,SSH 或 Jupyter 进去后只差几个视频相关的包。imageio-ffmpeg 别漏,export_to_video 靠它写文件。
pip install -U diffusers transformers accelerate imageio-ffmpeg - 02
过门控,拉 SVD-XT 1.1 权重
先去 Hugging Face 的 stabilityai/stable-video-diffusion-img2vid-xt-1-1 页面接受 Stability AI Community License——这是 gated 仓库,不接受就是 401。然后带上 token 拉权重,单文件 4.78GB,NexGPU 节点上通常一两分钟。
hf auth login && hf download stabilityai/stable-video-diffusion-img2vid-xt-1-1 --local-dir ./svd_xt_1_1 - 03
diffusers 出第一条 25 帧
关键在三个参数:variant="fp16" 决定你拿的是 3.05GB 还是 6.1GB 的 UNet;decode_chunk_size 决定 VAE 解码那一刻的显存峰值;SVD 1.1 是按 fps=6、motion_bucket_id=127 微调的,先别乱改。显存吃紧就把 decode_chunk_size 降到 2 甚至 1,代价是画面可能轻微闪烁。
import torch from diffusers import StableVideoDiffusionPipeline from diffusers.utils import load_image, export_to_video pipe = StableVideoDiffusionPipeline.from_pretrained("./svd_xt_1_1", torch_dtype=torch.float16, variant="fp16") pipe.enable_model_cpu_offload(); pipe.unet.enable_forward_chunking() image = load_image("first_frame.png").resize((1024, 576)) frames = pipe(image, decode_chunk_size=2, num_frames=25, fps=6, motion_bucket_id=127).frames[0] export_to_video(frames, "out.mp4", fps=7) - 04
换 ComfyUI 做批量与调参
要一次跑几十条素材,ComfyUI 比写脚本顺手。把单文件权重丢进 checkpoints 目录即可(svd.safetensors 是 14 帧,svd_xt.safetensors 是 25 帧)。务必挂上 VideoLinearCFGGuidance 节点,它把 cfg 沿帧线性递增(比如 1.0 → 2.5),是 SVD 出片质量的关键一环。augmentation_level 调高等于加噪、也等于加运动量。
mv svd_xt_1_1.safetensors ComfyUI/models/checkpoints/ && python main.py --listen 0.0.0.0
一条 4 秒片段到底要花多少钱
官方给的耗时是硬数字,直接拿来算就行。模型卡写明 SVD-XT 在 A100 80GB 上生成一段 25 帧约 180 秒(SVD 的 14 帧约 100 秒)。NexGPU 的 A100 PCIE 80GB 是 $0.824/卡·时,即 $0.824 ÷ 3600 = $0.000229/秒,一段 4 秒片段 = 180 × $0.000229 ≈ $0.041。跑 100 条素材 ≈ $4.12。 不追求对齐官方基准就更便宜:RTX 3090 24GB $0.193/卡·时 = $0.0000536/秒,同一段片子哪怕保守按 240 秒估,也只有 240 × $0.0000536 ≈ $0.013 一条,100 条 $1.29。想要速度就上 RTX 4090 24GB $0.540/卡·时,配 torch.compile 官方标称 20–25% 提速,单条成本仍在两三分钱量级。 再把存储和出网算进去:SVD-XT 1.1 单文件 4.78GB,加 diffusers 的 fp16 分片和输出目录,开一个 15GB 卷 = 15 × $0.414 = $6.21/月;1000 条 4 秒 mp4 约 2GB 出网 = 2 × $0.0081 ≈ $0.016,可以忽略。注意计费口径:实例一停,计算费用立刻停;存储卷不销毁就一直算。调完参数记得把卷清掉。
04 —
