VideoCrafter 是 AILab-CVC(腾讯 AI Lab 系)开源的潜在视频扩散模型(LVDM)系列,从 2023 年 4 月 256×256 的 t2v-version-1-1 起步,到 VideoCrafter1 做到 576×1024,再到 2024 年 1 月的 VideoCrafter2。骨架是 Stable Diffusion 2.1 那一套:4 通道 VAE 做 8 倍下采样,OpenCLIP ViT-H 文本编码器取 penultimate 层、context_dim 1024,UNet 换成加了时序卷积与时序自注意力的 3D 版本,model_channels 320、temporal_length 锁死 16 帧,还额外挂了 fps 条件嵌入。VideoCrafter2 的论文卖点很直白:用画质糟糕的 WebVid-10M 学运动,用合成的高质量图像单独微调空间模块学画质,把两者解耦。
但别指望它还在迭代。仓库最后一次实质性代码更新停在 2024 年 7 月,2026 年唯一一次提交是社区把 README 里的 Techinical 改成 Technical(PR #102);官方 Hugging Face Space 目前是 BUILD_ERROR 状态,Gradio 还锁在 3.43。官方 README 自己也把图生视频的接力棒交了出去 —— 明写着 I2V 请改用 DynamiCrafter。更往后,同一条技术线上已经是 HunyuanVideo 1.5(8.3B,开 offload 最低 14GB 显存,480p/720p/1080p)。这些都不是黑点,是你选型时该知道的事实。
可它并没有失去价值。1.8B 量级、16 帧、320×512 的体量意味着不用 offload、不用多卡、不用等四十分钟出一条片;它是 VBench 上的常驻基线,也是 T2V-Turbo 这类一致性蒸馏工作直接拿来当底模的对象。要做消融实验、要复现论文数字、要一个真跑得动又改得动的 LVDM 基线,VideoCrafter 依旧是成本最低的那个选择 —— 前提是你的显卡架构和它锁死的 torch 2.0.0 对得上。这一点,恰好是租卡比买卡划算的地方。
01 —
权重清单:到底该下哪一个 ckpt
官方从没发过 VideoCrafter2 的 1024 档,想要高分辨率只能回头用 VideoCrafter1。
| 版本 | 参数量 | 显存 | 上下文 | 说明 |
|---|---|---|---|---|
| VideoCrafter2(base_512_v2) | 合计约 1.8B(ckpt 7.4GB,fp32 打包 UNet3D + VAE + OpenCLIP) | 同族 320×512 档 4090 实测 12.8GB;社区经验下限 16–18GB;官方 Demo 跑在 24GB 的 L4 上 | 16 帧 · 320×512 · 存盘 8fps 即 2 秒 | 现在的默认选择。画质相对 VC1 明显提升,配置里 use_scale: true、scale_b: 0.7 是它独有的噪声缩放。HF 上标 Apache-2.0。 |
| VideoCrafter1 T2V 1024(base_1024_v1) | ckpt 6.34GB fp32 | 同族 1024 档 RTX 4090 实测 18.3GB(576×1024) | 16 帧 · 576×1024(latent 72×128) | 整个系列里唯一的高分辨率文生视频权重。训练走 256×256 → 512×320 → 1024×576 三段课程,最后一段 45K 步、batch 64。 |
| VideoCrafter1 T2V 512(base_512_v1) | ckpt 6.33GB fp32 | 与 VideoCrafter2 同档,约 12.8GB 起 | 16 帧 · 320×512 | 只有做版本对比、复现 VC1 论文数字时才需要它;日常出片没有理由不用 VideoCrafter2。 |
| VideoCrafter1 I2V 512(i2v_512_v1) | ckpt 5.22GB fp32 | 约 12.8GB 起,与 T2V 512 同档 | 16 帧 · 320×512 · 图像 + 文本双条件 | 在 T2V 基础上加了第二路 cross-attention,走 FrozenOpenCLIPImageEmbedderV2 编码参考图。脚本默认 --fps 8、CFG 12。 |
| DynamiCrafter(官方指定的 I2V 接班人) | 同族 LVDM,非 VideoCrafter 权重 | 4090 实测:18.3GB @576×1024、12.8GB @320×512、11.9GB @256×256 | 16 帧 · 1024 长边(另有 512 插值/循环变体) | VideoCrafter 的 README 直接把图生视频指向它,并附了完整显存表与 A100 耗时(1024 档 50 步 75 秒、512 档 20 秒)。 |
| t2v-version-1-1(初代 LVDM) | 2023 年 4 月首发权重 | 作者当年给的口径:开 xformers 最低 6.3GB | 256×256 | 唯一一个明确标 MIT 的权重仓。除了考古和极限低显存验证,没有生产价值。 |
02 —
选卡:VideoCrafter 的显存需求不高,架构挑剔
官方脚本没有 fp16 开关,全程 fp32 推理 —— 这决定了选卡逻辑和现代 bf16 模型完全不同。
VideoCrafter2 出 320×512 片段,日常主力
RTX 3090 24GB$0.193/卡·时
24GB 对齐官方 Demo 用的 L4,Ampere sm_86 正好被 torch 2.0.0 的官方轮子覆盖,而且它比 16GB 的 Tesla T4($0.298)更便宜、显存还多一半。
VideoCrafter1 跑 576×1024,或者批量刷 prompt 想缩短 wall clock
RTX 4090 24GB$0.540/卡·时
1024 档同族实测 18.3GB,24GB 装得下但没什么余量;4090 的 fp32 吞吐能把每条片子的时间压掉近一半,批量任务算总账反而更省。
bs 想开大于 1,或改 temporal_length 做长帧实验,24GB 顶不住
Tesla V100 32GB$0.188/卡·时
全系最便宜的 32GB 卡;因为 VideoCrafter 本来就跑 fp32、用不上 bf16 张量核心,V100 在这个模型上不吃架构亏,只是慢一点。
在 VideoCrafter2 上做 LoRA 微调或一致性蒸馏(T2V-Turbo 那条路)
A100 SXM4 80GB$1.088/卡·时
训练要同时扛住 3D UNet 的时序注意力激活和优化器状态,80GB 加 NVLink 才够;单节点最多挂 14 张卡,扩到多卡不用换供应商。
03 —
在 NexGPU 上部署 VideoCrafter2:四步出片
从空实例到第一条 mp4,卡住的地方基本都在依赖版本上,所以第一步就要把 Python 钉死。
- 01
开卡,建一个 Python 3.8.5 的干净环境
在控制台选 RTX 3090 24GB,直接用 PyTorch 预置镜像开机,SSH 进去。requirements.txt 钉的是 torch==2.0.0、transformers==4.25.1、pytorch_lightning==1.8.3、open_clip_torch==2.22.0,这套组合在 Python 3.10+ 上会连环冲突,老老实实建 3.8.5 环境最省事。
conda create -n videocrafter python=3.8.5 -y && conda activate videocrafter - 02
拉代码装依赖
仓库 5,000 多 star、400 多 fork,但 74 个 issue 挂着没人处理,装依赖时别指望上游修。xformers 不带版本锁,装完先跑一次 import 确认它没顺手把 torch 升级掉。
git clone https://github.com/AILab-CVC/VideoCrafter && cd VideoCrafter && pip install -r requirements.txt - 03
下 7.4GB 权重,放进脚本写死的目录
脚本里的路径是硬编码的 checkpoints/base_512_v2/model.ckpt,目录名错一个字符就报找不到文件。仓里只有一个 model.ckpt,fp32 存储,7.4GB,在 NexGPU 节点上通常一两分钟就拉完。
hf download VideoCrafter/VideoCrafter2 model.ckpt --local-dir checkpoints/base_512_v2 - 04
跑推理,或者起 Gradio
默认脚本是 320×512、16 帧、DDIM 50 步、CFG 12.0、--fps 28(fps 是条件嵌入,不是存盘帧率,存盘走 --savefps,默认 10)。想再快一点,把 configs/inference_t2v_512_v2.0.yaml 里的 use_checkpoint 从 true 改成 false —— 官方 Gradio 后端就是这么干的,用更多显存换速度,24GB 卡完全吃得下。
sh scripts/run_text2video.sh # 或 python gradio_app.py 起网页界面
一条片子到底多少钱
按默认配置算:320×512、16 帧、DDIM 50 步。同族的 DynamiCrafter512 在 A100 上 50 步耗时 20 秒,换到 RTX 3090 上加解码写盘,保守按每条 45 秒估。3600 ÷ 45 = 80 条/小时,$0.193 ÷ 80 ≈ 每条 $0.0024,两分钱一条。刷一整套 500 条 prompt 的评测集:500 × 45 秒 = 6.25 小时,6.25 × $0.193 = $1.21。嫌慢就换 RTX 4090 24GB $0.540/卡·时,同样 500 条约 3 小时、3 × $0.540 = $1.62 —— 时间砍半,多花 0.41 美元。存储另算:代码加 7.4GB 权重,20GB 卷按中位价 $0.414/GB·月 = $8.28/月,但计算费在实例停止那一秒就停,存储费只在卷没删掉时才继续走。500 段 mp4 大约 0.2GB,出网按中位价 $0.0081/GB 算不到一美分。按秒计费、无最低消费、无开通费,跑完就停。
04 —
