MiniMax-H3 Studio:在单张 4090 上自托管多模态视频工作室
本文依据 zxcHolmes/minimax-h3-studio 的公开 README、
doc/api.md、deploy.sh与目录结构整理,整理时间为 2026 年 11 月 1 日。仓库代码采用 Apache-2.0 许可,但 ComfyUI 以 GPL-3.0 单独安装,MiniMax-H3 等模型权重另有各自的许可,使用前需要分别核对。文中的速度、显存、模型体积和效果均来自作者在 RTX 4090 上的自测或说明,本文未做独立复测;不同显卡、驱动、ComfyUI 版本和参数会得到不同结果。
把视频模型跑在自己的机器上,通常要面对三件事:ComfyUI 工作流太复杂、模型加载太慢,以及生成结果散落在临时目录里。minimax-h3-studio 的做法是把 ComfyUI 当成 Python 库来调用,不打开节点界面、不依赖工作流 JSON,再在前面加一个常驻任务服务和浏览器 UI。
它面向的是单台 NVIDIA GPU 机器:文本/图片/参考视频生成、图片编辑、图生 3D、语音合成与转写、音乐生成和视频超分,都在同一个队列里排队执行。不是云服务,也不是多租户平台。
它到底包了哪些能力
仓库把功能按任务类型分组,视频和图片共用一套常驻模型与显存管理:
| 任务类型 | 模型或方式 | 主要输入 |
|---|---|---|
| 文生视频 | MiniMax-H3 fl2va 基座 + Turbo LoRA | 文本提示词 |
| 首帧 / 首尾帧视频 | fl2va | 首帧图,可选尾帧图 |
| 参考生视频 | FastH3 OmniRef,或 ref2va + Pika H3 Flex | 最多 6 张参考图和 3 段参考视频 |
| 图片生成与编辑 | MOSS-Image、FLUX.2 Klein 4B、Qwen Image 2.1 Turbo | 提示词,可选 1–4 张参考图 |
| 图生 3D | Pixal3D(TRELLIS.2) | 一张物体图片,输出带贴图 GLB |
| 语音与转写 | audio.cpp:Qwen3-TTS、VoxCPM2、OmniVoice、Qwen3-ASR | 文本或音视频文件 |
| 音乐 | MiniMax Music 3 | 描述、歌词、最大时长 |
| 视频超分 | FlashVSR v1.1、SeedVR2 3B | 已完成视频,输出 1080p / 1440p |
| 引导音频 | ComfyUI 的 MiniMaxH3AddGuide | 视频任务 + 音频片段与起始时间 |
几个能力值得单独说明:
参考视频不只是“垫图”。 参考模式可以接收最多 3 段视频,并把其中的运动、镜头、场景和声音作为参考。代价是参考视频的 token 会进入每次注意力计算,生成时间明显上升。README 给出的数据是:5 秒 544p 镜头,普通采样约 26 秒,加参考视频后约 100 秒;768p 约 145 秒;15 秒镜头配 15 秒参考视频时,约 560 秒。
引导音频用于对口型和音乐视频。 任意视频任务都可以带一个音频文件和起始时间,模型会以这段音频作为镜头的声音基准,让演唱、说话和动作跟随节拍。README 称实测音频包络与歌曲片段的相关性为 0.92–0.99;这是作者单次测量,适合作为方向验证,不是普适指标。
图生 3D 输出可交互的 GLB。 Pixal3D 走的是 BiRefNet 抠图、MoGe 视野估计、DINOv3 条件、结构/形状/纹理多阶段生成,再做实体重网格、UV 展开和贴图烘焙。4090 上 1024 几何 / 2K 贴图约 20 秒,输出约 10 MB、10 万面。作者强调“实体重网格”是必要的,直接抽面会留下孔洞和重叠壳。
架构:ComfyUI 是库,不是界面
项目没有把 ComfyUI 的节点图暴露给用户,而是:
浏览器 UI(Vue)
→ aiohttp API
→ FIFO 任务队列(SQLite 持久化)
→ ComfyUI Python 库(模型、VAE、采样)
→ 各任务 pipeline(视频 / 图片 / 3D / 音频 / 超分)
这样做的直接好处是:
- 可以直接使用 ComfyUI 的量化 checkpoint 和动态显存卸载;
- 不需要让用户理解节点连线和 workflow JSON;
- 任务、输入和结果统一落盘,历史记录可按类型查询;
- 模型权重在任务之间保持常驻,减少反复加载。
服务端按职责拆分:model_catalog.py 管理视频和共享模型,image_models.py 管理图片模型,h3_engine.py 负责 ComfyUI 启动、模型缓存、显存生命周期和取消,pipelines/ 放具体实现,job_worker.py 是单线程 FIFO 工作者。任务一次只跑一个,GPU 不并发复用。
硬件与系统要求
这不是一个能在普通笔记本上直接跑的项目。README 的要求可以整理为:
| 项目 | 要求 |
|---|---|
| GPU | Linux + NVIDIA GPU;参考机为 RTX 4090 24 GB |
| 内存 | 建议 64 GB 以上;参考机 125 GB |
| 存储 | 模型体积大,建议快速 SSD 和充足空间 |
| ComfyUI | 自行安装,需支持 MiniMax-H3(参考版本 v0.42) |
| 部署机 | Node.js 18+、ssh 密钥登录、rsync、scp |
| GPU 机 | systemd、免密 sudo、python3、curl、rsync |
checkpoint 采用内存映射方式加载,因此系统内存和磁盘速度会直接影响首次加载与切换模型的体验。如果显存不足,任务会在加载模型前失败,而不是把机器拖到不可用。
模型是全量下载还是按需下载,差别很大。./deploy.sh models 支持用 --only / --skip 按组选择,例如只装视频、只装图片、只装 3D 或只装音频。README 列出的主要文件包括:
| 组 | 代表文件 | 体积 |
|---|---|---|
| 共享 | H3 文本编码器 | 15.7 GB |
| 共享 | 视频 VAE、音频 VAE | 3.4 GB |
| 视频 | fl2va 主模型 | 21 GB |
| 视频 | ref2va 参考模型 | 21 GB |
| 视频 | FastH3 8-step 模型(两组) | 各 22 GB |
| 图片 | MOSS-Image 模型 + 编码器 | 5.4 GB + 7.3 GB |
| 图片 | FLUX.2 Klein 4B + 编码器 | 7.2 GB + 7.5 GB |
| 图片 | Qwen Image 2.1 Turbo + 编码器 | 6.8 GB + 8.7 GB |
| 音频 | Qwen3-TTS / VoxCPM2 / OmniVoice / ASR | 按需 |
| 3D | Pixal3D、DINOv3、TRELLIS VAE、MoGe、BiRefNet | 合计约 9.3 GB |
只装 Klein 与 Qwen Turbo 两组,就需要约 31.1 GiB(33.4 GB)的额外空间。下载器支持断点续传和 SHA256 校验,但不会替你判断磁盘是否够用。
单卡性能:能到什么程度
README 在 RTX 4090 上给出的 5 秒视频耗时如下(作者自测,单次运行):
| 方案 | 544p | 768p |
|---|---|---|
| 基础 H3(带声音) | 30–45 秒 | 65–70 秒 |
| larryvrh v4 4-step + 稀疏注意力(推荐) | 约 22 秒 | 约 38 秒 |
| Pika H3 Flex 6-step + 稀疏注意力 | 约 25 秒 | 约 45 秒 |
| FastH3 V2 8-step | 约 39 秒 | 约 71 秒 |
图片方面,1024×1024 下 Klein 生成约 4.3 秒、单图编辑约 2.9 秒;Qwen Turbo 生成约 5.5 秒、编辑约 4.6 秒。音乐方面,60 秒歌曲约 100 秒。超分方面,10.8 秒 768p 视频升到 1080p,FlashVSR 约 87 秒,SeedVR2 约 272 秒。
这些数字说明 4090 可以支撑轻量、单任务的短片生产,但不等于可以并发服务很多用户。队列是单线程的,长任务会阻塞后面的任务;参考视频、长时长和高分辨率会把等待时间成倍放大。
部署流程与常见坑
最基本的流程是:
git clone https://github.com/zxcHolmes/minimax-h3-studio.git
cd minimax-h3-studio
cp .env.example .env # 填写 SSH 主机、ComfyUI 路径等
./deploy.sh models # 下载所需 checkpoint 到 GPU 机器
./deploy.sh # 构建 UI、安装服务、启动
服务默认监听 0.0.0.0:8190,启动后访问 http://<gpu-host>:8190。日常操作:
./deploy.sh web # 只更新 UI,不重启服务,权重保持常驻
./deploy.sh server # 只更新服务端
./deploy.sh models # 补下载模型
FORCE=1 ./deploy.sh server # 强制重启,正在运行和排队的任务会丢失
日志用 journalctl -u h3-server -f 查看,数据默认在 $H3_DATA_DIR,包括 jobs.db、视频、图片、音乐、缩略图和上传文件。
项目最容易卡住的地方是 comfy_kitchen 的 CUDA 后端。README 说明:发布版 CUDA wheel 需要 CUDA 13 运行时和 r580 以上驱动;如果机器是 CUDA 12.8 + 驱动 570,就需要按本机 CUDA 和 GPU 架构从源码重建 wheel。此外,ComfyUI 在 torch 低于 cu130 时会直接禁用这个后端,需要修改 comfy/quant_ops.py,让它只在算子确实不可用时才禁用。作者称在 4090 上这一改动让每个模型快了 17–48%。
这属于典型的“性能优化藏在环境里”问题:不处理也能跑,但会退回 triton,速度下降;处理之后,升级 ComfyUI 又可能覆盖补丁,需要重新应用。部署脚本、systemd 和 .env 降低了重复劳动,但没有消除这类底层依赖的维护成本。
安全边界:默认不是一个公网服务
README 没有描述登录、鉴权或多租户隔离,而服务默认绑定 0.0.0.0:8190。这个接口可以上传文件、创建和删除任务、下载生成结果,也能触发 GPU 资源消耗。如果直接映射到公网,至少存在三个风险:未授权使用、磁盘被上传文件占满、GPU 被长任务占住。
更稳妥的部署方式是:
- 只绑定内网地址,或通过 VPN / Tailscale 访问;
- 在反向代理层加身份认证和请求大小限制;
- 用防火墙限制来源 IP,不把 8190 直接暴露;
- 定期清理
uploads/和已完成任务,给数据盘设配额; - 把
.env当作密钥文件管理,不提交到仓库。
这些不是仓库承诺的功能,而是自托管时必须自己补上的运维边界。
适合谁,不适合谁
适合:
- 有一张 24 GB 级别 NVIDIA 显卡,想本地跑视频/图片/3D 的个人或小团队;
- 需要固定角色、固定风格,反复生成短片和参考视频;
- 希望把生成结果、任务历史和数据留在自己机器上;
- 愿意维护 ComfyUI、驱动、CUDA 和模型下载,而不是购买托管服务。
不适合:
- 没有 Linux + NVIDIA 环境,或只有 macOS / Windows 核显;
- 需要多用户并发、按量计费或公网 SaaS;
- 不愿处理模型许可、ComfyUI GPL 义务和驱动兼容;
- 只偶尔生成一两条视频,租用现成服务更省事。
上手前的检查清单
- GPU 显存、系统内存和磁盘空间满足所选模型组合。
- ComfyUI 版本支持 MiniMax-H3,并能在该环境里正常加载模型。
-
comfy_kitchen的 CUDA 后端状态已确认;需要时已完成源码重建和补丁。 - 已用
--only/--skip控制下载范围,避免磁盘被无关模型占满。 -
.env使用独立部署账号,SSH 密钥和权限最小化。 - 8190 端口未直接暴露公网,或已在反向代理层加认证。
- 已核对 MiniMax-H3、ComfyUI 及各模型权重的许可与商用条件。
- 先用 5 秒 544p 任务验证端到端链路,再扩展到长视频和参考视频。
- 已规划任务积压、磁盘清理和模型升级后的回归测试。
来源
- zxcHolmes/minimax-h3-studio(README、
doc/api.md、deploy.sh、目录结构) - Studio API Guide
- MiniMax-H3 模型页
- ComfyUI
সম্পর্কিত গাইড
AI 硬件怎么选:M5 Ultra、RTX 5090 与 DGX Spark 的工作负载决策法