恒创AI
恒创AI
MiniMax H3 本地部署教程
从零安装 ComfyUI v0.30 + H3 视频生成(文生视频 / 图生视频 / 参考视频生成),本教程基于实测环境整理,所有命令均可直接复制。
预计耗时 1.5 ~ 2.5 小时(大部分是下载等待) 需下载 约 67 GB(内核 0.5G + 依赖 4G + 模型 63.4G) 推荐配置 NVIDIA 8G+ 显存 版本 ComfyUI 0.30.0 / torch 2.12+cu126 / H3 pruned-int8

0 环境要求

项目要求说明
系统Windows 10 / 11(64 位)本教程为 Windows 版;显卡驱动用最新 Game Ready / Studio 驱动
显卡NVIDIA 独显,显存 ≥ 8GB 推荐 10GB+H3 本地跑需 CUDA。10GB 显存用 pruned-INT8 配置可跑 480p / 3~5s;16GB 更宽裕
磁盘剩余 ≥ 100 GB模型 63.4GB + 环境约 10GB + 出片空间;建议固态盘
内存16 GB 起步,32 GB 更稳模型加载会同时吃系统内存(RAM)
网络能访问国内镜像即可本教程全部走国内可达源:ModelScope / 腾讯云 PyPI / 上海交大镜像 / GitHub
⚠ 全程只用 cmd / PowerShell / 双击,别用 Git Bash

这台机器的实测教训:Git Bash(MSYS)环境下 import torch 必然崩溃(段错误),但用 cmd/PowerShell 一切正常。这是 MSYS 注入 DLL 干扰所致,不是环境坏了。所有命令请复制到 cmd(命令提示符)或 PowerShell 里运行。

安装流程总览

准备环境驱动 · Git · Python ComfyUI 内核git clone v0.30+ torch + 依赖CUDA 版 torch ⚠ 勿装 CPU 版 H3 模型5 个文件 63.4G · ModelScope 启动 & 出片8188 · H3 模板

1 NVIDIA 驱动

新电脑先保证显卡驱动可用,直接命令行确认:

cmd / PowerShell
nvidia-smi

能看到显卡型号和 CUDA Version(≥ 12.6 即可)就 OK。看不到 / 报错则先装驱动:NVIDIA 官网驱动,选对应显卡下载安装。

✓ 达标参考

RTX 3080 10GB 实测可跑(480p / 3~5 秒);16GB 显卡体验明显更好。

2 安装 Git 可选

推荐用 git 安装内核(以后一条命令升级)。Win10/11 可直接:

cmd / PowerShell
winget install Git.Git

或者去 git-scm.com 下载安装包,一路默认即可。不装 Git 也能继续(第 4 步改用下载 ZIP)。

3 安装 Python 3.13 务必 3.12~3.13

下载 64 位安装包(国内可用华为云镜像,速度快):

浏览器打开
https://mirrors.huaweicloud.com/python/3.13.12/python-3.13.12-amd64.exe

安装时 务必勾选 “Add python.exe to PATH”,其余默认。装完验证:

cmd / PowerShell
py -3.13 --version

能打印 Python 3.13.x 即成功。

4 获取 ComfyUI 内核(≥ v0.30.0)

H3 的节点是 v0.30.0 才内置的(2026-08-04 发布),内核版本低于它就没有 H3 节点。用 git 克隆到 D:\ComfyUI

cmd / PowerShell
git clone --depth 1 https://github.com/comfyanonymous/ComfyUI.git D:\ComfyUI

如果 clone 很慢/卡住,先执行(国内网络提速):

cmd / PowerShell
git config --global http.version HTTP/1.1

不装 Git 的话:浏览器打开 https://github.com/comfyanonymous/ComfyUI → Code → Download ZIP → 解压并重命名为 D:\ComfyUI

ℹ 版本确认

安装后检查版本:用记事本打开 D:\ComfyUI\comfyui_version.py,应显示 __version__ = "0.30.0" 或更高。

5 建 venv + 安装 CUDA 版 torch 本教程最关键一步

5.1 创建虚拟环境

cmd / PowerShell
cd D:\ComfyUI
py -3.13 -m venv venv
venv\Scripts\python.exe -m pip install --upgrade pip -i https://mirrors.cloud.tencent.com/pypi/simple/

5.2 安装 CUDA 版 torch(⚠ 不要用默认 pip 源!)

⚠ 大坑:pip 默认源的 torch 是 CPU 版

直接 pip install torch 会装上 CPU 版(torch 2.13.0+cpu),CUDA 永远为 False,H3 跑不了。必须用 PyTorch 官方 CUDA 索引,或本地 CUDA wheel。

方式 A(推荐,一条命令装全 torch+torchvision+torchaudio,含 CUDA 运行时):

cmd / PowerShell · PyTorch 官方 cu128 索引
venv\Scripts\python.exe -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128

国内直连 download.pytorch.org 较慢(约 0.1~0.5 MB/s),可用上海交大镜像替代(simple 格式兼容 pip):

方式 A' · 上海交大镜像(快)
venv\Scripts\python.exe -m pip install torch torchvision torchaudio -i https://mirror.sjtu.edu.cn/pytorch-wheels/

方式 B(备用,离线 wheel 手动解压):从 https://mirror.sjtu.edu.cn/pytorch-wheels/torch/ 下载 torch-2.12.1+cu126-cp313-cp313-win_amd64.whl(约 2.6GB)及配套 torchaudio-2.11.0+cu126torchcodec-0.14.0+cu126,然后用 zip 解压到 venv\Lib\site-packages,再补装 filelock typing-extensions sympy networkx jinja2 fsspec

5.3 立即验证(必须成功再往下)

cmd / PowerShell
venv\Scripts\python.exe -c "import torch; print(torch.__version__, torch.cuda.is_available())"

期望输出:2.x.x+cu126 True(或 +cu128 ... True)。看到 False 就回去看 5.2,别往下走。

⚠ 崩溃排查提示

如果这条命令在 Git Bash 里段错误崩溃、但在 cmd/PowerShell 里正常 —— 属 MSYS 干扰,忽略即可,记住全程用 cmd/PowerShell。

6 安装依赖(排除 torch 三件套)

requirements.txt 里也写了 torch/torchvision/torchaudio——直接装会把 5.2 的 CUDA 版覆盖成 CPU 版。先过滤掉再装:

PowerShell
cd D:\ComfyUI
Get-Content requirements.txt | Where-Object { $_ -notmatch '^(torch|torchvision|torchaudio)' } | Set-Content req_wo_torch.txt
venv\Scripts\python.exe -m pip install -r req_wo_torch.txt -i https://mirrors.cloud.tencent.com/pypi/simple/

torchsde 依赖 torch 会再次把 CPU 版拉进来,必须 --no-deps 单独装:

cmd / PowerShell
venv\Scripts\python.exe -m pip install torchsde --no-deps -i https://mirrors.cloud.tencent.com/pypi/simple/
⚠ 装完必须复查

再跑一次 5.3 的验证命令。若变成 cpu/False,说明被覆盖了——删掉 venv\Lib\site-packages 里所有 torch* 目录,回到 5.2 重装 CUDA 版。

7 模型目录 & 路径配置

推荐模型库与内核分离(D:\manjuComfyUI\models),以后多套 ComfyUI 共用。新建目录:

cmd / PowerShell
mkdir D:\manjuComfyUI\models\diffusion_models D:\manjuComfyUI\models\text_encoders D:\manjuComfyUI\models\vae

D:\ComfyUI\extra_model_paths.yaml 写入以下内容(没有就新建):

D:\ComfyUI\extra_model_paths.yaml
manju_models:
    base_path: D:/manjuComfyUI/models
    is_default: true
    checkpoints: checkpoints
    configs: configs
    loras: loras
    vae: vae
    vae_approx: vae_approx
    text_encoders: |
        text_encoders
        clip
    diffusion_models: |
        diffusion_models
        unet
    clip_vision: clip_vision
    style_models: style_models
    embeddings: embeddings
    diffusers: diffusers
    controlnet: controlnet
    gligen: gligen
    upscale_models: upscale_models
    hypernetworks: hypernetworks
    photomaker: photomaker

不想分离、直接把模型放 D:\ComfyUI\models\ 下也可以,跳过本步。

8 下载 H3 模型(5 个文件,63.4 GB)

文件大小放到用途
minimax_h3_fl2va_pruned_int8_convrot.safetensors20.97 GBdiffusion_models文生视频 / 图生视频(10G 显存适配版)
minimax_h3_ref2va_pruned_int8_convrot.safetensors20.97 GBdiffusion_models参考视频生成(R2V)
qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors15.69 GBtext_encoders文本编码器(NVFP4 压缩版)
minimax_h3_video_vae_fp16.safetensors5.21 GBvae视频 VAE 解码
minimax_h3_audio_vae_fp32.safetensors0.61 GBvae音频 VAE(带音轨视频需要)

8.1 用下载脚本(推荐,自动断点续传)

把下面的脚本保存为 D:\manjuComfyUI\download_h3.pyROOT 按你的模型目录改),然后运行。脚本强制 IPv4 并支持断点续传,中断后重跑即可接着下:

展开完整下载脚本(download_h3.py)
# -*- coding: utf-8 -*-
"""MiniMax H3 模型下载器 — ModelScope 镜像, 强制 IPv4, 断点续传, 多线程"""
import socket, urllib.request, os, time, threading

# ---- 强制 IPv4(本机 IPv6 路由不通时 curl 会卡死,此补丁解决)----
_orig = socket.getaddrinfo
def _v4(host, port, *a, **k):
    res = _orig(host, port, *a, **k)
    v4s = [x for x in res if x[0] == socket.AF_INET]
    return v4s or res
socket.getaddrinfo = _v4

BASE = "https://modelscope.cn/models/Comfy-Org/MiniMax-H3/resolve/master/"
ROOT = r"D:\manjuComfyUI\models"   # <-- 改成你的模型目录
FILES = [
    ("diffusion_models/minimax_h3_fl2va_pruned_int8_convrot.safetensors", None),
    ("diffusion_models/minimax_h3_ref2va_pruned_int8_convrot.safetensors", None),
    ("text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors", None),
    ("vae/minimax_h3_video_vae_fp16.safetensors", None),
    ("vae/minimax_h3_audio_vae_fp32.safetensors", None),
]
UA = {"User-Agent": "Mozilla/5.0", "Accept": "*/*"}
MAX_RETRY = 30
status = {}
lock = threading.Lock()

def human(n):
    try: return "%.2f GB" % (n / 1e9)
    except Exception: return str(n)

def download_one(rel, expect):
    dest = os.path.join(ROOT, rel.replace("/", os.sep))
    os.makedirs(os.path.dirname(dest), exist_ok=True)
    name = os.path.basename(rel)
    st = status.setdefault(name, {"done": 0, "total": 0, "ok": False, "err": ""})
    resume = os.path.getsize(dest) if os.path.exists(dest) else 0
    retry = 0
    while True:
        try:
            headers = dict(UA)
            if resume > 0: headers["Range"] = "bytes=%d-" % resume
            req = urllib.request.Request(BASE + rel, headers=headers)
            with urllib.request.urlopen(req, timeout=60) as r:
                total = st["total"]
                if not total:
                    cr = r.headers.get("Content-Range", "")
                    if "/" in cr: total = int(cr.split("/")[-1])
                    st["total"] = total
                mode = "ab" if resume > 0 else "wb"
                with open(dest, mode) as f:
                    while True:
                        chunk = r.read(1 << 20)
                        if not chunk: break
                        f.write(chunk); resume += len(chunk)
                        if total and resume >= total:
                            st["ok"] = True; st["done"] = resume
                            print("[%s] 完成 %s" % (name, human(resume)), flush=True)
                            return
        except urllib.error.HTTPError as e:
            if e.code == 416:
                st["ok"] = True; st["done"] = resume
                print("[%s] 文件已完整 %s" % (name, human(resume)), flush=True)
                return
            retry += 1
            if retry > MAX_RETRY: st["err"] = str(e); return
            print("[%s] HTTP%s 重试%d 已下%s" % (name, e.code, retry, human(resume)), flush=True)
            time.sleep(3)
        except Exception as e:
            retry += 1
            if retry > MAX_RETRY: st["err"] = str(e); return
            print("[%s] %s 重试%d 已下%s" % (name, e, retry, human(resume)), flush=True)
            time.sleep(3)

def main():
    threads = [threading.Thread(target=download_one, args=(rel, exp), daemon=True) for rel, exp in FILES]
    for t in threads: t.start()
    for t in threads: t.join()
    print("=== 全部下载结束 ===", flush=True)
    for name, st in status.items():
        print("  %-52s %s ok=%s err=%s" % (name, human(st["done"]), st["ok"], st["err"]), flush=True)

if __name__ == "__main__":
    main()
cmd / PowerShell
cd D:\manjuComfyUI
py -3.13 download_h3.py

ModelScope 国内实测 30~50 MB/s,5 个文件约 25~40 分钟。脚本会多线程同时下载 5 个文件。

8.2 手动逐个下载(不想要脚本的话)

浏览器直接打开下面的链接就会开始下载(ModelScope 国内快):

https://modelscope.cn/models/Comfy-Org/MiniMax-H3/resolve/master/diffusion_models/minimax_h3_fl2va_pruned_int8_convrot.safetensors
https://modelscope.cn/models/Comfy-Org/MiniMax-H3/resolve/master/diffusion_models/minimax_h3_ref2va_pruned_int8_convrot.safetensors
https://modelscope.cn/models/Comfy-Org/MiniMax-H3/resolve/master/text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors
https://modelscope.cn/models/Comfy-Org/MiniMax-H3/resolve/master/vae/minimax_h3_video_vae_fp16.safetensors
https://modelscope.cn/models/Comfy-Org/MiniMax-H3/resolve/master/vae/minimax_h3_audio_vae_fp32.safetensors

若浏览器下载中断(无断点续传),还是建议用 8.1 的脚本。

ℹ 为什么不用 HuggingFace?

H3 官方在 HF 的仓库大文件会跳转到 AWS(xet-bridge)CDN,国内常出现“连接成功但 0 字节传输”。ModelScope 有官方镜像,是国内最稳的下载通道。

9 启动 & 自检

建一个一键启动脚本 D:\ComfyUI\启动ComfyUI.bat,内容如下(以后双击它启动):

D:\ComfyUI\启动ComfyUI.bat
@echo off
chcp 65001 >nul
title ComfyUI (MiniMax H3 Ready)
cd /d D:\ComfyUI
echo ============================================
echo   ComfyUI v0.30.0  -  MiniMax H3 已配置
echo   启动后访问 http://127.0.0.1:8188
echo ============================================
venv\Scripts\python.exe main.py
pause

双击运行,等黑窗口出现 Starting server / To see the GUI go to: http://127.0.0.1:8188,然后浏览器打开:

浏览器
http://127.0.0.1:8188

自检三连(cmd/PowerShell 里):

cmd / PowerShell
curl http://127.0.0.1:8188/system_stats   rem 返回 JSON 即服务正常
venv\Scripts\python.exe -c "import torch; print(torch.cuda.get_device_name(0))"

10 打开 H3 工作流模板 & 首跑参数

1

打开 Templates 面板ComfyUI 界面顶部工具栏

http://127.0.0.1:8188 页面顶部工具栏找到 Templates 按钮(一摞模板卡片图标),点击后搜索 minimax

2

选择模板三个官方 H3 模板

video_minimax_h3_t2v = 文生视频;video_minimax_h3_i2v = 图生视频(漫剧分镜最常用);video_minimax_h3_r2v = 参考视频生成。

⚠ R2V 模板可能不显示在面板里

实测部分版本前端不列出 r2v 模板。解决办法:直接把模板文件拖进浏览器窗口加载——路径 D:\ComfyUI\venv\Lib\site-packages\comfyui_workflow_templates_json\templates\video_minimax_h3_r2v.json

3

核对模型下拉框模板自动填好,异常才手动选

UNETLoader 选 minimax_h3_fl2va_pruned_int8_convrot.safetensors(R2V 则选 ref2va_...);CLIPLoader 选 qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors;两个 VAE 对应选 video/audio。

4

首跑参数10GB 显存起步配置

参数起步值说明
分辨率480p(如 480×848)跑通后逐步加到 768p
时长3~5 秒15 秒是上限,但 10G 显存吃紧
采样步数20~30模板默认即可
5

点 Queue 出片生成视频会存到 D:\ComfyUI\output\

速度参考:16GB 显卡约 1 分钟出 2 秒视频;10GB 显卡更慢。生成时黑窗口显示进度。

换电脑 · 数据迁移方案

你有现成的 D:\ComfyUID:\manjuComfyUI,换电脑时按情况选:

方案 A · 模型库直接拷贝(推荐,省 63GB 下载)

D:\manjuComfyUI\models(约 63GB)用移动硬盘 / 局域网拷贝到新电脑同样位置。然后新电脑只需走本教程 第 1~7、9 步(驱动→Python→内核→torch→依赖→路径配置),跳过第 8 步模型下载。内核和 venv 重建很快(约 20 分钟)。

venv 不推荐直接拷贝(虚拟环境路径绑定,跨机器易坏);重新执行 5.2 装 CUDA torch 即可,几分钟的事。

方案 B · 完整迁移(内核 + 环境 + 模型一起拷)

D:\ComfyUI(去掉 venv,或连同 venv 一起拷但到新机后 删除 venv 重建)和 D:\manjuComfyUI\models 全部拷贝。新机装好驱动 + Git + Python 后:cd D:\ComfyUI && py -3.13 -m venv venv,再走 5.2 / 5.3 / 6 步装 torch 和依赖即可。模型、extra_model_paths.yaml、工作流全都在,无缝衔接。

方案 C · 全新安装

完全按本教程第 1~10 步走。适合连模型一起重新下载(网络好时 ModelScope 30MB/s 也很快)。

! 常见问题排错表

现象原因 & 解决
import torch 段错误崩溃(segfault)在用 Git Bash / MSYS 环境。换 cmd / PowerShell / 双击 bat 运行即可,不是环境坏了。
torch.cuda.is_available() = False 或版本显示 +cpu装成了 CPU 版 torch(pip 默认源)。按 5.2 用 PyTorch 官方 cu128 索引重装;再跑 6 步时注意过滤 torch 三件套、torchsde 用 --no-deps。
下载大文件 0 字节 / 卡死本机 IPv6 不通导致连上 CDN 后不传数据。用本教程的下载脚本(强制 IPv4),或 curl 加 -4 参数,或浏览器下载。
HuggingFace 模型下载不动HF 大文件跳 AWS CDN 被卡。改用 ModelScope 镜像(本教程 8.1)。
git clone 卡住 / 极慢执行 git config --global http.version HTTP/1.1 后重试;或用 GitHub ZIP 下载。
启动报 ModuleNotFoundError: torchvision缺少 torchvision。用 5.2 的索引命令补装(与 torch 同版本):pip install torchvision --index-url https://download.pytorch.org/whl/cu128
生成时显存不足(OOM)分辨率降到 480p、时长 3~5 秒;确认用的是 pruned_int8 扩散模型 + NVFP4 编码器;关闭浏览器其他占用显存的程序。
Templates 面板搜不到 R2V 模板前端未列出 r2v。拖 JSON 加载:venv\Lib\site-packages\comfyui_workflow_templates_json\templates\video_minimax_h3_r2v.json
加载模板后模型下拉框是空的模型没被识别。确认模型文件放对了目录(diffusion_models / text_encoders / vae),重启 ComfyUI 再 F5 刷新页面。

附录 · 速查

最终目录结构

D:\ComfyUI\                      ComfyUI 内核(v0.30.0)
├── venv\                        Python 虚拟环境(torch 2.12.1+cu126)
├── main.py                      启动入口
├── extra_model_paths.yaml       模型库挂载配置
├── 启动ComfyUI.bat              一键启动脚本(双击)
└── output\                      出片目录
D:\manjuComfyUI\models\          独立模型库(63.4GB)
├── diffusion_models\            fl2va + ref2va(各 20.97GB)
├── text_encoders\               qwen3vl NVFP4(15.69GB)
└── vae\                         video VAE + audio VAE

每日使用流程

① 双击 启动ComfyUI.bat → ② 浏览器开 127.0.0.1:8188 → ③ Templates 选模板 / 拖 JSON → ④ 调参 → ⑤ Queue 出片。

版本速记(实测组合)

ComfyUIv0.30.0(≥0.30 才有 H3 节点)
Python3.13.12
torch / torchvision / torchaudio2.12.1+cu126 / 0.27.1+cu126 / 2.11.0+cu126
H3 模型fl2va_pruned_int8 + ref2va_pruned_int8 + qwen3vl NVFP4 + 双 VAE
⚠ 商用提醒

MiniMax H3 权重开放,但商用授权包含区域限制条款,商业出品前请查阅官方 LICENSE。