网上已经有 MiniMax 的「保姆级」了。这篇不重复那条路。

这篇只干一件事:8G 显存最低配,我们从头到尾跑完的全流程。
机器是 RTX 3060 Ti 8GB + 56GB 内存。能出什么规格、要等多久、开到哪一档会撞墙——全是这台机器上的实测,不是官方推荐表抄下来的。

MiniMax H3 是画面和声音一次生成的视频模型:环境音、音效、配乐和画面在同一次前向传播里一起算,口型和动作天生跟声音对齐。ComfyUI 已原生支持本地跑。

先看成品。 下面这条 10 秒是纯文字生成的,没有任何输入素材:画面、雨声、海浪声、配乐、结尾那行中文字,全是模型一次出的。(记得开声音)

MiniMax H3 8G 最低配:我们从装到出片跑完的全流程 第1张图片

结尾的土豆哥 IP 是后期合成的,原因在后文。

MiniMax H3 8G 最低配:我们从装到出片跑完的全流程 第2张图片

目录

  1. 先看懂几个词
  2. 8G 最低配:我们这台机器
  3. 装 ComfyUI
  4. 下模型(4 个文件,39.6 GB)
  5. ⚠️ 我踩的坑:下载器骗了我
  6. 跑通第一条视频
  7. 两条硬规则:帧数和分辨率
  8. 提示词的三字段格式
  9. 给结尾加自己的品牌
  10. 全部实测耗时
  11. 常见报错速查
  12. 脚本和工作流

1. 先看懂几个词

不看这几个词,后面的报错你会看不懂。

  • ComfyUI — 跑 AI 生成模型的免费开源工作台。界面是节点连线式的,看着复杂,但你不需要自己连:官方模板都做好了,你只改参数。
  • 工作流(Workflow) — 一张连好线的节点图,相当于配方。加载模板 = 打开现成配方。
  • 权重 / 模型文件 — 模型本体,后缀 「.safetensors」 的大文件。H3 需要 4 个:DiT(画画)、文本编码器(读提示词)、视频 VAE、音频 VAE(把内部数据翻译成像素和声波)。
  • 量化 — 把模型压小的技术。「bf16」 是全精度原版,「int8」、「nvfp4」 是压缩版,画质损失很小、显存需求大降。本地部署基本都用量化版。
  • T2V / I2V / R2V — 三种生成模式:纯文字生成、给图片让它动起来、给参考素材锁定角色或风格。这篇讲 T2V。
    MiniMax H3 8G 最低配:我们从装到出片跑完的全流程 第3张图片

2. 8G 最低配:我们这台机器

  • CPU:Intel i7-10700F @ 2.90 GHz
  • 显卡:NVIDIA GeForce RTX 3060 Ti,8 GB(本篇的「最低配」指这档显存)
  • 内存:56 GB
  • 硬盘:4.56 TB(开始下载时剩 223 GB)
    后面所有耗时、能不能跑、开到哪一档会撞墙,都是这台 8G 卡上的边界——不是 24G / 48G 机器的体验。

关于配置,只说一件真正重要的事:内存比显存更是门槛。

H3 的四个模型文件加起来 39.6 GB。ComfyUI 启动时会打这一行:

DynamicVRAM support detected and enabled

它的做法是把权重全部常驻系统内存,计算时按层流式换入显存。跑起来之后日志会告诉你分配了多少:

MiniMax H3 8G 最低配:我们从装到出片跑完的全流程 第4张图片

约 40.5 GB 全部躺在内存里。 所以:

  • 内存 32 GB 是底线,64 GB 才舒服。 内存不够会直接卡死在加载阶段。
  • 权重一定放固态。 机械盘上每次生成都要多等好几分钟——分层加载是要反复读盘的。
  • 显存决定的是「能开多大规格、等多久」,不是「能不能跑」。8G 最低配也能跑通,具体能开到哪一档见第 10 节。

3. 装 ComfyUI

版本必须 ≥ 0.30.0。 H3 的原生节点是 2026 年 8 月才合并进 ComfyUI 的,旧版任何工作流都跑不起来。

全新安装(推荐):去 ComfyUI 官网下桌面版安装包,双击一路默认。Python、PyTorch、CUDA 依赖它自己处理——这是桌面版对新手最友好的地方。

已有 ComfyUI:桌面版在菜单里检查更新;手动 git 部署的进目录 「git pull」,再 「pip install -r requirements.txt」。

验证装好了:启动后浏览器打开 「http://127.0.0.1:8188」,看到节点画布就行。确认版本:设置(左下角齿轮)→ 关于,版本号 ≥ 0.30.0。

低于这个版本就去更新,别硬试。「缺少 MiniMaxH3ImageToVideo 节点」这个最高频报错,99% 是版本问题。

我的环境最后是:ComfyUI 0.31.0 / 前端 1.48.7 / torch 2.12.1+cu130 / Python 3.13.12 / CUDA 13.0。

首次启动会让你挑一个 starter workflow,MiniMax H3 就在推荐位。

MiniMax H3 8G 最低配:我们从装到出片跑完的全流程 第5张图片

注意那里标的 ~53 GB 不准。 T2V / I2V 真正需要的是 4 个文件、39.6 GB。多出来的十几 GB 是 R2V 那套单独的权重,只有你要做「参考生视频」才用得到。别被那个数字吓退。

MiniMax H3 8G 最低配:我们从装到出片跑完的全流程 第6张图片

4. 下模型(4 个文件,39.6 GB)

模型托管在 Hugging Face 的 「Comfy-Org/MiniMax-H3」 仓库。

别 clone 整个仓库——原始仓库有几百 GB(各种精度的版本全在里面),你只要 4 个文件:

MiniMax H3 8G 最低配:我们从装到出片跑完的全流程 第7张图片

两个 VAE 都必须下。 视频 VAE 出画面,音频 VAE 出声音——少了音频 VAE,你会得到一条无声视频。

关于选型,两句就够: 上面这组是官方推荐的通吃组合,任何显卡都先用它跑通。文本编码器选 「nvfp4」 而不是更大的 「int8」 版,是因为它小 10 GB——在内存吃紧的机器上,省 10 GB 内存比省一点计算重要得多。

下载方式:国内把链接里的 「huggingface.co」 换成 「hf-mirror.com」,速度差一个量级。20 GB 的大文件务必用支持断点续传的工具(IDM、aria2,或文末那个脚本),断了不用重来。

放完目录结构应该是这样:

桌面版用户注意:模型目录可能在安装时自选的路径下,设置里搜 model paths 确认。

5. ⚠️ 我踩的坑:下载器骗了我

这一节是这篇最值钱的部分。因为它会让你怀疑是不是自己哪里装错了。

我用桌面版内置的下载器下,进度条跑完,Downloads 面板四个全绿勾、全部显示「完成」

MiniMax H3 8G 最低配:我们从装到出片跑完的全流程 第8张图片

盯着面板看第二眼才发现不对:

  • DiT 显示 3.13 GB,应该是 19.53 GB
  • 文本编码器显示 2.67 GB,应该是 14.61 GB
    下载中断之后,下载器没有报错,直接把截断的文件标成了完成。

点 Run,报错是这个:

RuntimeError: shape ‘[151936, 5120]’ is invalid for input of size 149999876

这行错误极具误导性。 它看起来像模型版本不匹配、像 ComfyUI 有 bug、像量化格式不支持。你会想去重装 PyTorch、换量化版、翻 issue。

它的真实含义只有一个:「.safetensors」 文件被截断了。 header 里声明某个张量的形状是 「[151936, 5120]」(文本编码器的 embedding,151936 × 5120),但文件里实际只剩 149999876 个元素,一读就炸。

怎么确认文件完整

方法一(够用):文件大小对照上面那张表,或者对照 Hugging Face 页面上标的字节数。另外每个下载好的模型旁边都有一个 「.safetensors.dl-meta」 的小 JSON,里面写着权威的 「expectedSize」 和 sha256——信这个,别信面板上的绿勾。

方法二(严格):解析 safetensors 的 header,把所有张量 「data_offsets」 的末尾取最大值,加上 header 长度,和文件实际大小对比,必须严格相等

这个检查能在你浪费两小时之前告诉你答案。

怎么修:续传,别重下

19.5 GB 重下一遍太蠢。用 HTTP Range 断点续传,只补缺的字节。核心就是 curl:

curl -L –fail –retry 8 –retry-delay 5 –retry-all-errors \

 --continue-at - --progress-bar -o "$path" "$url"

我把它包成了一个脚本(文末附),带大小和 SHA256 双校验,加 「-Mirror」 参数走国内镜像,中途断了重跑同一条命令会自动接着下。

我要补的是 28.34 GB。四行全绿,这一步才算真的过了。

6. 跑通第一条视频

顶部菜单 工作流 → 浏览模板 → 视频,搜 「MiniMax H3」。

会出来 6 个,认清楚别点错:本地版三个(Text to Video / Image to Video / Reference to Video),「api_」 开头的三个是调云端的、要充值。

Text to Video 开始。加载后画布上有一串节点,你只需要认识这几个:

  • UNETLoader — 选 DiT 权重
  • 文本编码器加载节点 — 选 「qwen3vl_32b_…」
  • 两个 VAE Loader — 分别选视频 VAE 和音频 VAE
  • ResolutionSelector — 控制输出分辨率
  • 提示词框 — 写你要的内容
  • 时长输入 — 决定视频长度
  • SaveVideo — 输出 MP4 的终点
    MiniMax H3 8G 最低配:我们从装到出片跑完的全流程 第9张图片

如果哪个模型下拉框是空的或红的,说明那个文件没下完,回第 5 节。

我第一条的参数:ResolutionSelector 的 Megapixels 设 0.3 → 736×416,时长 5 秒,点 Run。

结果:292 秒。 时间去哪了,日志说得很清楚:

MiniMax H3 8G 最低配:我们从装到出片跑完的全流程 第10张图片

MiniMax H3 8G 最低配:我们从装到出片跑完的全流程 第11张图片

出来的是一条带声音的 MP4。「ffprobe」 验过:H.264 + AAC,32000 Hz、双声道,和官方标的「32 kHz 立体声」一致。

两件正常现象,别慌

一、进度条会长时间停在模型加载阶段。 约 34 GB 要从磁盘进内存,小显存卡还要反复换入换出,这一段慢是正常的。

二、控制台刷这行不是报错:

Input tensors must be in dtype of torch.float16 or torch.bfloat16, using pytorch attention instead

这是部分层回退到标准 attention 的提示,不影响生成。

怎么判断跑到哪了

看队列面板里 「SamplerCustomAdvanced」 的百分比,这个工作流是 20 步。

别看那个 Estimated to finish in——样本少的时候它会算出荒谬的值。我见过它在已经跑了 31 分钟的任务上显示「约 1 秒后完成」。也别只看 「Total: xx%」,那是整图的节点级进度,不等于采样进度。

7. 两条硬规则:帧数和分辨率

这两条不是经验之谈,是工作流里写死的。

规则一:帧数必须落在 17k+5 网格

模板里那个数学表达式节点长这样:

max(5, round(a 24)) + (5 - (max(5, round(a 24)) % 17)) % 17

翻译一下:帧数必须满足 「n % 17 == 5」,不合法的值会被静默向上吸附——不报错、不提示。

官方标的输出时长是 4–15 秒 @ 24fps。实用换算:

填 60 秒也只会得到 15 秒左右。 更长的内容要分镜头生成再剪辑。

规则二:原生画布是短边 768

官方说明里写的是默认短边 768 像素,支持 21:9 / 16:9 / 4:3 / 1:1 / 3:4 / 9:16。ComfyUI 模板自带的档位对照表:

  • 0.2:608×352
  • 0.3:736×416
  • 0.4:864×480
  • 0.5:960×544
  • 1.0:1344×768(原生画布)
    我的建议:用 0.3(736×416)反复试提示词,定稿再考虑往上抬。 为什么不是一步到原生画布,第 10 节有我的实测答案。

MiniMax H3 8G 最低配:我们从装到出片跑完的全流程 第12张图片

8. 提示词的三字段格式

这是从「能跑」到「能用」的分界线。H3 的提示词是官方定义的结构化格式,不是散文。三个字段,顺序固定:

integrated_multimodal_description: [Shot 1] …

overall_soundscape: …

non_diegetic_music: …

几条容易踩的:

  • 后两段没内容就写 「N/A」。
  • 除对白和画面内文字保留原语言外,全部用英文写。
  • 「[Shot 1]」 开头交代整体风格 + 初始构图,不带时间戳。风格词像 「Cinematic」 / 「live-action」 / 「2D-animated」 / 「3D CG」 / 「watercolor」 / 「vintage film」。
  • 后续镜头带严格递增的时间戳:「[Shot 2] At 00:03.500, the camera cuts to …」
  • 运镜写成镜头内自然的英文句子,别在句尾堆标签

    The camera pushes in with small amplitude at slow speed toward the phone in his hands.

The camera holds a static shot as the wave slides toward the lens.

中等幅度、正常速度直接省略不写。想要构图绝对稳定,别用「小幅度推近」——直接锁静态并把要保留在画面内的东西列出来,我实测 10 秒零漂移:

MiniMax H3 8G 最低配:我们从装到出片跑完的全流程 第13张图片

  • 有对白的话,给会出声的角色分配稳定 ID 「(S1)」、「(S2)」,台词包在 「[语言] … 」 里,一字不改、不翻译。身份和语气描述放标签外面:
    The young woman with a quiet voice (S1) says: [English] I get off at seven.

一个意外:中文字它写对了

我在结尾那一镜让它渲染一行中文标语,写法是把原文放在英文双引号里、不翻译

我本来做好了糊掉、错字、缺笔画的心理准备——视频模型渲染汉字普遍不行。结果一个字都没错,笔画完整、居中、稳稳停到结尾。上面那条成品视频里就是。

MiniMax H3 8G 最低配:我们从装到出片跑完的全流程 第14张图片

9. 给结尾加自己的品牌

标语模型能写对,但你的专属 IP 形象它画不出来——它只会画一个「它以为的」东西。这个别指望提示词。

正确做法是生成完之后用 ffmpeg 精确合成。 把 logo(和需要的文字)预渲染成一张带 alpha 的 PNG,叠上去淡入:

「-c:a copy」 直接复制音轨,模型生成的那条立体声一点不动。

三个实操细节,都是我试出来的:

一、logo 原图四角如果是黑的(RGB 没有 alpha 通道),直接叠会出一个黑方块。得先按圆形(或原始轮廓)范围做一个抗锯齿的 alpha 遮罩。

二、位置要看成片再定。 我一开始放底部居中,结果发现画面主体最后正好停在下方中央,logo 压在上面;放中部也挡主体。最后放顶部——那片天空是空的,加一层顶部渐变压暗保证白字可读。先抽末帧试三个位置,比直接猜省事。

三、停留时间要靠冻帧买,不是靠提前淡入。 只提前淡入会吃掉表演时间。让演出完整演完,然后冻住最后一帧

[0:v]tpad=stop_mode=clone:stop_duration=1.8[vp];

[0:a]apad=pad_dur=1.8,afade=t=out:st=<总长-0.9>:d=0.9[a]

视频克隆末帧停 1.8 秒,音频同步补齐并在最后 0.9 秒淡出。配合提前 2.2 秒开始淡入,片尾总露出约 4 秒——足够视觉停留,又不损失任何画面内容。

10. 全部实测耗时(8G 最低配)

一张表,都是 RTX 3060 Ti 8GB 上真跑出来的。

MiniMax H3 8G 最低配:我们从装到出片跑完的全流程 第15张图片

两个可以直接用的结论:

一、I2V 不比 T2V 贵。 同规格下几乎同价,多一张输入图不额外收费。

二、时长维度是超线性的。 5 秒 292 秒、10 秒 773 秒——时长翻倍,耗时 2.6 倍。这符合 attention 对 token 数的复杂度。

那次撞墙

跑通 736×416 只花 5 分钟,我当时想:像素多一点应该也就十几二十分钟。于是按 Megapixels 1.0(1344×768)、10 秒点了 Run。

31 分钟后,采样器进度:5%。

20 步里刚做完 1 步。一步 20 分钟,20 步约 10 小时。我停掉了。

MiniMax H3 8G 最低配:我们从装到出片跑完的全流程 第16张图片

关键是这个反差:像素涨 3.4 倍、帧数涨 2 倍,计算量总共涨 6.7 倍,而耗时涨了约 125 倍。

差出这 20 倍不是算力不够,是内存墙。回到第 2 节那句话——权重是流式换入显存的,剩给激活值的余量本来就薄。而激活值和 attention 的工作集是随「像素 × 帧数」涨的:撑破那点余量之后,每一步都要把约 20 GB 权重重新从内存搬进显存,从「算得慢」变成「几乎全程在等 PCIe」。

这是个断崖,不是平滑变慢。 所以:

  • 在你的机器上先找到甜点区,别想当然往上推。 方法很简单——开一档,跑 2 分钟,看采样器百分比推进了多少,反推总时长。不对劲立刻停。
  • 别指望加速节点救这个。 Cache 类节点省的是计算和步数,而这是显存带宽问题——省下来的那点时间在这个量级面前没有意义。
  • 画质不够就在提示词和构图上找,别硬拉分辨率。 736×416 在手机上看已经够用,而拉到原生画布的代价你看到了。
    如果你的卡显存更大,上限自然更高;这张表是 8G 最低配 的边界,方法可以照搬。

MiniMax H3 8G 最低配:我们从装到出片跑完的全流程 第17张图片

11. 常见报错速查

Q:提示缺少 「MiniMaxH3ImageToVideo」 等节点
A:ComfyUI 版本低于 0.30.0,升级。这是最高频的问题。

Q:「RuntimeError: shape ‘[…]’ is invalid for input of size …」
A:模型文件被截断了,不是版本或量化问题。对照第 5 节查大小、续传补全。

Q:爆显存 / CUDA out of memory
A:按顺序排——① 确认用的是量化版(「pruned_int8」 + 「nvfp4_awq」),别误下了 「bf16」;② 关掉其他吃显存的程序,包括浏览器(硬件加速会占 1–2 GB);③ 内存拉到 32 GB 以上。注意:降分辨率救不了爆显存,因为显存大头是模型本身。(但降分辨率能救「跑不动」,见第 10 节——这是两件不同的事。)

Q:输出视频没有声音
A:两个 VAE 都要加载,并确认工作流里音频 VAE 和 SaveVideo 之间的链路完整。用官方模板一般不会错,自己改过工作流最容易漏掉这条线。

Q:视频时长和我填的不一样
A:帧数被吸附到 17k+5 网格了,见第 7 节。从合法帧数表里直接抄。

Q:控制台刷 dtype 警告
A:正常现象,部分层回退到标准 attention,不影响生成。

Q:进度条不动,是不是卡死了?
A:看队列面板里 「SamplerCustomAdvanced」 的百分比,别看 Estimated to finish in(它会瞎报)。加载阶段本身就慢,模型放机械盘更慢。

12. 脚本和工作流

配套打包里有这些(需要的话评论区问我怎么拿):

  • 断点续传脚本 — 补全被截断的模型文件,带大小 + SHA256 双校验,「-Mirror」 走国内镜像
  • 工作流 — T2V(5 秒 / 10 秒,736×416),参数都调好了
  • 片尾合成脚本 — logo + 标语 + 冻帧停留,一条命令出成片

最后

8G 最低配能跑通,不代表什么规格都能开——甜点在 736×416,原生画布在这台机器上是断崖。

本地真正值钱的是试错阶段:一条 5 秒片走云端 API 要花钱,本地只有电费。反复改提示词、筛构图、试运镜,成本几乎为零。定稿后再考虑要不要用 API 出高分辨率,那笔账才划算。

有问题直接评论——8G 这档我们跑过的,我都能答。

土豆哥 | 一人公司手册系列

  • 001 — 20 分钟注册域名
  • 002 — GitHub Pages 建站
  • 003 — 人在国内开美国银行卡
  • 004 — 终身免费 Oracle VPS:4 核 24G,从申请到跑起来
  • 005 — 全球免费的前后端部署平台
  • 006 — 给 AI 装上腿,人在地铁 AI 在家跑
  • 007 — 从 0 到 EIN,人在国内也能注册一家美国公司
  • 008(上)— 独立站 GEO 实战:流量逻辑变了
  • 008(中) — 独立站 GEO 实战:用 Reddit 做 SEO 和 GEO
  • 008(下) — 独立站 GEO 实战:从 JSON-LD 到内容矩阵,10 步配置清单
  • 009 — 有公司有账户,怎么用 Stripe 收第一笔钱
  • 010 — Stripe 以外还有 Paddle,独立站收款怎么选
    MiniMax H3 8G 最低配:我们从装到出片跑完的全流程 第18张图片

mousepotato(土豆哥)| 美国计算机全奖博士 | 硅谷 11 年技术管理 | AI · OPC · 产品 | X @iluciddreaming

关注我,获取 AI 前沿、技术、管理、产品、英语和硅谷生活见闻。

土豆哥 AI 交流群: OPC 一人公司 · AI 赋能 · 出海讨论 · 海外生活聊天吹水。加微信 tudou_peak 参与交流。
土豆哥 AI Notes 电报群:https://t.me/tudouge_ai_notes (免费)


来源:@iluciddreaming · 发布于 2026-08-09 13:34:36 · 原文链接