news 2026/9/9 23:17:51

OpenMontage 如何在 NVIDIA GPU 上启用本地视频生成并选择匹配的 Wan、Hunyuan 模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenMontage 如何在 NVIDIA GPU 上启用本地视频生成并选择匹配的 Wan、Hunyuan 模型

OpenMontage 如何在 NVIDIA GPU 上启用本地视频生成并选择匹配的 Wan、Hunyuan 模型

【免费下载链接】OpenMontageWorld's first open-source, agentic video production system. 12 production pipelines, 100+ tools, 700+ agent skill and production-knowledge files. Turn your AI coding assistant into a full video production studio.项目地址: https://gitcode.com/GitHub_Trending/op/OpenMontage

如果你有一块 NVIDIA 显卡,想让 OpenMontage 不调用任何云端 API 就能自己生成视频,需要完成三件事:装好 GPU 依赖栈、在.env里开启本地生成开关、按显存大小选一个能跑起来的 Wan 或 Hunyuan 模型。做完后,wan_videohunyuan_video等本地工具会被注册进工具菜单,整个流程免费且离线。本文基于 docs/PROVIDERS.md 的 "Local Video Generation (GPU Required)" 一节、Makefile 和 README.md 整理。

前提条件

  • 一块显存足够的 NVIDIA GPU(本地视频生成要求 CUDA 运行时,即 NVIDIA 卡;具体显存门槛见下面的选型表)。
  • Python 3.10+。Makefile 的ensure-venv会检查解释器版本,缺失时提示安装uv或更高版本 Python 后重试。
  • 项目已 clone 到本地并可以运行make

第一步:安装 GPU 依赖栈

在项目根目录执行:

make install-gpu

这个目标由 Makefile 定义,实际做两件事:

  1. pip install -r requirements-gpu.txt—— 安装 requirements-gpu.txt 中列出的torch>=2.0torchaudio>=2.0torchvision>=0.15
  2. pip install diffusers transformers accelerate—— 本地视频生成依赖的推理库。

如果没有make,也可以按 docs/PROVIDERS.md 给出的手动方式安装:

pip install diffusers transformers accelerate torch pillow requests

注意:requirements-gpu.txt文件头注明这些依赖是在requirements.txt基础之外追加安装的。如果还没跑过make setup,项目核心依赖(PyYAML、pydantic、fastapi 等)尚未安装,先执行make setup

第二步:在 .env 中启用本地生成

make setup会从.env.example生成.env。在.env中加入两行:

# 1. 打开本地视频生成开关 VIDEO_GEN_LOCAL_ENABLED=true # 2. 按你的 GPU 显存选一个模型 VIDEO_GEN_LOCAL_MODEL=wan2.2-ti2v-5b

VIDEO_GEN_LOCAL_ENABLED接受true1yes(见 tools/video/_shared.py 中的判断逻辑)。VIDEO_GEN_LOCAL_MODEL决定加载哪个本地检查点,可选值及其显存要求来自 docs/PROVIDERS.md:

模型值名称显存质量速度文档给出的定位
wan2.2-ti2v-5bWAN 2.2 TI2V (5B)12GB+ExcellentMedium默认值。720p @ 24fps,一个检查点覆盖 T2V/I2V/V2V
wan2.1-1.3bWAN 2.1 (1.3B)6GB+GoodFast入门级显卡,快速迭代,仅文生视频
wan2.1-14bWAN 2.1 (14B)24GB+ExcellentSlowWan 2.1 系中质量最高
hunyuan-1.5Hunyuan 1.512GB+Very goodMedium面向中端显卡
ltx2-localLTX-28GB+GoodFastest快速草稿、最低延迟
cogvideo-5bCogVideo (5B)10GB+GoodMedium平衡选项
cogvideo-2bCogVideo (2B)6GB+FairFast低显存实验

如何为 Wan 和 Hunyuan 做选型

按显存分档,Wan 与 Hunyuan 的选择逻辑是:

  • 12GB 显存(如 3060 12G/4070 级别):Wan 2.2 TI2V 5B 与 Hunyuan 1.5 都要求 12GB+。Wan 2.2 TI2V 5B 是文档标注的默认模型,一个检查点同时支持 text-to-video、image-to-video、video-to-video;Hunyuan 1.5 在 tools/video/_shared.py 的HUNYUAN_VARIANTS中标记t2vi2v均为支持,默认输出 848x480。两者都能跑,文档没有在这两个之间做质量排序,可按自己偏好的模型系列选。
  • 6GB 显存:只能选wan2.1-1.3b(或 CogVideo 2B)。注意 Wan 2.1 1.3B 官方没有 I2V 权重,docs/PROVIDERS.md明确 "Wan 2.1 never shipped 1.3B I2V weights",它只适合文生视频。
  • 24GB+ 显存wan2.1-14b提供 Wan 2.1 系最高质量,支持 T2V/I2V/V2V/首尾帧插值等全部 Wan 操作,但速度标记为 Slow。
  • 8–10GB 显存:标题场景之外的替代选项是ltx2-local(8GB+,最快)和cogvideo-5b(10GB+),但 CogVideo 只有文生视频,不支持图生视频。

一个容易混淆的点:本地 Hunyuanhunyuan_video,模型值hunyuan-1.5,需要 GPU 且免费)与腾讯云 Hunyuanhunyuan_cloud_video,需要TENCENT_TOKENHUB_API_KEY,按次付费)是两条互不相干的路径,环境变量也不同。本文只覆盖前者。

验证本地工具已生效

运行项目自带的 preflight 检查,它会调用工具注册表并打印当前环境可用/不可用的 provider 菜单:

make preflight

该命令在 Makefile 中定义为执行registry.discover()后输出registry.provider_menu()的 JSON。本地视频生成正确启用后,菜单中应出现wan_videohunyuan_videocogvideo_videoltx_video_local这几个由VIDEO_GEN_LOCAL_ENABLED解锁的工具(见 docs/PROVIDERS.md 的 "Provider-to-Tool Mapping" 表中Local GPU一行)。

之后通过 AI 编码助手调用wan_videohunyuan_video时,工具会按所选检查点的operations能力表拒绝它做不了的操作(例如用wan2.1-1.3b请求图生视频会被直接拒绝,而不是悄悄加载错误的 14B 检查点)。

NVIDIA 驱动版本不一致的处理

docs/PROVIDERS.md专门记录了一个 NVIDIA 特有的坑:如果已加载的 kernel 模块与用户态驱动库版本不一致,nvmlInit会失败,表现为:

  • CUDA 计算本身仍然能跑,但 PyTorch 在组装 OOM 报告时会调用 NVML,导致真实的显存不足(OOM)以 internal assert 的形式爆出;
  • int8/int4精度的 bitsandbytes 无法加载。

排查方法是对比两条命令的输出:

cat /proc/driver/nvidia/version nvidia-smi

如果两者显示的驱动版本不一致,文档给出的解决办法是重启机器。wan_video工具会检测这种状态并在结果中说明。

12GB 显卡的显存适配参数

如果你按文档实测遇到 12GB 卡上显存吃紧,wan_video提供两个都默认auto的参数:

  • precisionauto/bf16/int8/int4
  • offload_modeauto/model/sequential

文档给出的 12GB 实测数据(来源:docs/PROVIDERS.md,属文档示例/实测值,不是固定预期):bf16 的 5B transformer 常驻约 10GB,用offload_mode="model"时峰值达 10.85GB(仅 512x320);换成offload_mode="sequential"(逐个子模块流式加载)后同一张卡峰值降到 1.97GB,可以舒服地渲染 704x480,代价是每个去噪步约 4s 的 PCIe 传输。在 12GB GPU 上auto会自动选择sequential

已知限制

  • 图生视频不是所有模型都支持:Wan 2.1 1.3B 没有 I2V 权重,CogVideo 仅文生视频。每个变体的真实能力列表在 tools/video/_shared.py 的operations字段,wan_video对不支持的操作会直接拒绝。
  • TI2V 线的 720p 是 1280x704 而不是 1280x720:Wan 2.2 TI2V 的 VAE 空间压缩 16 倍、transformer 再 2 倍 patching,宽高必须是 32 的倍数,而 720 不是;其他线是 16 的倍数。帧数落在4k + 1
  • 长片段的漂移:Wan 大约按 5 秒一段训练,请求更长片段(duration_seconds)时工具会串联多段,每段以上一段末帧作为新帧 0。文档指出串联会漂移(对比度和色彩渐变),correct_drift默认开启用于校正;如需逐镜头控制可用segment_prompts

完成以上步骤后,你的验证落点就是:make preflight菜单中出现本地视频工具,且wan_video/hunyuan_video能按所选检查点的operations正常执行请求。若某操作被拒,回查所选模型在operations列表里的能力,而不是怀疑开关没生效。

【免费下载链接】OpenMontageWorld's first open-source, agentic video production system. 12 production pipelines, 100+ tools, 700+ agent skill and production-knowledge files. Turn your AI coding assistant into a full video production studio.项目地址: https://gitcode.com/GitHub_Trending/op/OpenMontage

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

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

STM32按键状态机:取代延时消抖,优雅实现单击双击长按

简介:面向嵌入式单片机开发者,STM32按键状态机工程围绕单击、双击、长按三类操作实现单按键多事件识别,运用定时器中断与状态机思想,将按键事件按时间窗口划分为短按和长按,可迁移至台灯调控、菜单切换等实际交互场景。…

作者头像 李华
网站建设 2026/9/9 23:15:01

TVBoxOSC 文档阅读快速指南:3 步在电视大屏查看 PDF 与 TXT

TVBoxOSC 文档阅读快速指南:3 步在电视大屏查看 PDF 与 TXT 【免费下载链接】TVBoxOSC TVBoxOSC - 一个基于第三方项目的代码库,用于电视盒子的控制和管理。 项目地址: https://gitcode.com/GitHub_Trending/tv/TVBoxOSC TVBoxOSC 是一款基于第三…

作者头像 李华
网站建设 2026/9/9 23:14:29

用DQN强化学习训练AI打愤怒的小鸟全攻略

简介:这套名为“人工智能玩游戏之-愤怒的小鸟 DQN”的工程包,聚焦深度强化学习中的经典DQN算法,以《愤怒的小鸟》为环境,面向具备一定Python基础、希望动手实践强化学习项目的开发者。压缩包共54个文件,约23.54MB&…

作者头像 李华
网站建设 2026/9/9 23:14:14

APP被入侵后的应急响应指南:止损、溯源与安全恢复

1. 先别慌:从“疑似被黑”到“确认入侵”的十分钟判断做了这么多年App开发和运维,我最怕的不是线上宕机,而是半夜收到那种“用户数据不对劲”的消息。更怕的是,团队里有人上来就重启服务器,把现场毁得干干净净。APP被入…

作者头像 李华
网站建设 2026/9/9 23:13:31

信息流性能优化实战:分页加载、懒加载与虚拟滚动

之前在整理一个社区类的动态页面时,遇到过一种非常典型的性能现象:某位活跃用户连续发布了几十条动态后,整个信息流列表的加载速度明显变慢;另一位用户想发布一条视频,结果上传页面也迟迟打不开。那句“我的朋友&#…

作者头像 李华
网站建设 2026/9/9 23:11:09

libphonenumber 快速实践:解析与校验国际电话号码

libphonenumber 快速实践:解析与校验国际电话号码 【免费下载链接】libphonenumber Googles common Java, C and JavaScript library for parsing, formatting, and validating international phone numbers. 项目地址: https://gitcode.com/GitHub_Trending/li/l…

作者头像 李华