Instructions to use alibaba-pai/MiniMax-H3-Fun-Controlnet-Union-2.0 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- VideoX Fun
How to use alibaba-pai/MiniMax-H3-Fun-Controlnet-Union-2.0 with VideoX Fun:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
license: other
license_link: LICENSE.md
license_name: minimax-h3-community-license-agreement
library_name: videox_fun
tags:
- controlnet
- controlnet-union
- video-to-video
- image-text-to-video
- text-to-video
- video-inpainting
tasks:
- text-to-video-synthesis
MiniMax-H3-Fun-Controlnet-Union-2.0
2.0 新变化
| MiniMax-H3-Fun-Controlnet-Union(v1) | MiniMax-H3-Fun-Controlnet-Union-2.0(本模型) | |
|---|---|---|
| 控制条件 | 5 种 — Canny、深度、HED、MLSD、姿态 | 8 种 — 新增涂鸦、布局、灰度 |
| 控制分支深度 | 5 个控制块(第 0, 10, 20, 30, 40 层) |
10 个控制块(第 0, 5, 10, …, 45 层)— 在 50 个 transformer 块中每 5 层设置一个注入点 |
| 修复掩码像素方案 | pre_norm(空洞区域约为 VAE 输入空间的 −2,接近纯黑) |
**post_norm**(空洞区域置 0,即中灰色,与 Wan 2.1 一致)— 修复区域衔接更干净 |
| Checkpoint 内容 | control_proj_in + 5 个 control_blocks(约 6.8 GB) |
control_proj_in + 10 个 control_blocks(约 13.5 GB) |
| 所需配置 | minimax_h3_control.yaml |
minimax_h3_control_inpaint_post_norm.yaml |
其他方面与 v1 保持一致:control_in_dim = 49(潜变量 + 掩码后潜变量 + 掩码图,控制与修复共用同一分支)、control_apply_audio = false、引导蒸馏(guidance_scale = 1.0),以及同样的零初始化门控加性注入主分支。
⚠️ 用 v1 配置加载本 checkpoint 会"静默失败"。 使用
minimax_h3_control.yaml(仅 5 个块)时,模型只会搭建一半的控制分支:load_state_dict(strict=False)会把control_blocks.5~9当作多余键直接丢弃,其余权重还会错位加载,最终产出完全错误的结果。请务必使用minimax_h3_control_inpaint_post_norm.yaml。
模型文件说明
| 文件名 | 说明 |
|---|---|
| MiniMax-H3-Fun-Controlnet-Union-2.0.safetensors | MiniMax-H3 的 ControlNet-Union-2.0 分支权重,仅包含控制分支(control_proj_in 与 10 个 control_blocks,约 13.5 GB),需叠加加载到 MiniMax-H3 基础 transformer 之上。单个 checkpoint 覆盖 8 种控制条件(Canny、深度、HED、MLSD、姿态、涂鸦、布局、灰度)及视频修复。 |
模型特性
- 一个 checkpoint 统管 8 种控制条件:Canny、深度、HED、MLSD、姿态、涂鸦、布局、灰度控制视频的视频到视频生成,无需为每种条件单独切换 checkpoint。
- 更密集的控制注入:控制分支接入 50 个 transformer 块中的 10 个(第 0, 5, 10, 15, 20, 25, 30, 35, 40, 45 层),每条控制跳接都经零初始化门控投影后叠加到主分支。注入点数量约为 v1 的 2 倍,对控制视频的结构还原更严格。
- 引导蒸馏:以
guidance_scale = 1.0推理,每步仅需一次前向计算,无需 classifier-free guidance。 - 支持视频修复,采用
post_norm方案:控制输入拓宽至control_in_dim = 49(潜变量 + 掩码后潜变量 + 掩码图通道)。与 v1 不同,掩码区域的像素是在 ImageNet 归一化之后置零(空洞为 0,对应中灰),而非归一化之前(v1 中空洞落在 −2 附近,接近纯黑),修复区域与保留区域的融合更加自然。对应脚本:examples/minimax_h3_fun/predict_v2v_control_inpaint.py。 control_context_scale控制整体注入强度:它在控制跳接叠加回主分支前对其进行缩放——1.0为最强控制(下方所有结果均用此值),调低可减弱控制视频的约束,0.0则完全关闭控制分支。- 生成结果严格跟随控制视频:帧数自动向下取整到视频 VAE 可解码的最大
17 * n + 5(时长上限 15 秒);画布在height * width像素预算内沿用控制视频自身的宽高比(二者均为 32 的倍数);固定 24 fps 输出。 - 提示词越详细,生成越稳定。建议在 prompt 中同时描述场景、主体与镜头运动。
支持的控制条件
| 条件 | 控制信号 | 2.0 新增? |
|---|---|---|
| Canny | Canny 边缘图 | |
| Depth | 单目深度图 | |
| HED | HED 边缘检测图 | |
| MLSD | 直线段检测图 | |
| Pose | DWPose 人体骨架 | |
| Scribble | 手绘 / 草图线条 | ✅ |
| Layout | 边界框布局图 | ✅ |
| Gray | 灰度(亮度)视频 | ✅ |
Layout(布局)控制视频沿用 Wan2.1-VACE 的布局生成方案:将每个主体的边界框(通过检测/跟踪获得,或直接指定)以不同颜色绘制在白色背景上,渲染成一段普通的 RGB 视频作为控制输入。可直接复用 VACE-Annotators 的预处理工具(如 vace_preproccess.py --task layout_track ...),从参考视频或一组 bbox 生成布局控制视频。
生成效果
以下所有样例均在 num_inference_steps = 40、guidance_scale = 1.0、control_context_scale = 1.00、随机种子 43,画布模式 control、像素预算 704×1280、24 fps 的条件下生成。每组对比中,上排为控制视频,下排为生成结果。
| Canny | Depth | HED | MLSD |
| Pose | Scribble ✨ | Layout ✨ | Gray ✨ |
视频修复(post_norm)
源视频中被打上掩码的区域会根据 prompt 重新绘制,画面其余部分原样保留。掩码视频中,需要重新生成的区域为白色,需要保留的区域为黑色。
| 源视频 | 掩码 | 修复输出 |
推理
更多细节请参见 VideoX-Fun 代码仓库。
首先克隆 VideoX-Fun 仓库并创建模型目录:
# 克隆代码
git clone https://github.com/aigc-apps/VideoX-Fun.git
# 进入 VideoX-Fun 目录
cd VideoX-Fun
# 创建模型目录
mkdir -p models/Diffusion_Transformer
随后将 MiniMax-H3 基础模型与本 checkpoint 下载至 models/Diffusion_Transformer 下:
📦 models/
├── Diffusion_Transformer/
│ ├── 📂 MiniMax-H3/
│ └── MiniMax-H3-Fun-Controlnet-Union-2.0/
│ └── MiniMax-H3-Fun-Controlnet-Union-2.0.safetensors
接着修改 examples/minimax_h3_fun/predict_v2v_control.py(视频修复用 predict_v2v_control_inpaint.py)顶部的配置项,然后运行:
model_name = "models/Diffusion_Transformer/MiniMax-H3"
config_path = "config/minimax_h3/minimax_h3_control_inpaint_post_norm.yaml"
transformer_path = "models/Diffusion_Transformer/MiniMax-H3-Fun-Controlnet-Union-2.0/MiniMax-H3-Fun-Controlnet-Union-2.0.safetensors"
control_video = "your_control_video.mp4"
prompt = "your prompt"
python examples/minimax_h3_fun/predict_v2v_control.py
注意事项:
config_path必须是config/minimax_h3/minimax_h3_control_inpaint_post_norm.yaml:只有它能按 checkpoint 期望的结构完整搭建控制分支(control_blocks_places: [0, 5, 10, 15, 20, 25, 30, 35, 40, 45]、control_in_dim: 49、control_apply_audio: false、inpaint_masked_pixel_mode: post_norm);若用 v1 的minimax_h3_control.yaml(仅 5 个块),一半控制权重会被静默丢弃。- 纯控制(不做修复输入)时,pipeline 会自动把掩码通道补零,因此这个修复版 checkpoint 一样能正确跑普通的 Canny/深度/… 控制任务。
- 本 checkpoint 经过引导蒸馏:请保持
guidance_scale = 1.0;大于 1 会叠加两次引导,反而损害画质。 - 控制 checkpoint 只含控制分支,
model_name目录中必须有 MiniMax-H3 基础权重。 - Layout 条件的控制视频请使用 Wan2.1-VACE 的布局生成管线制作(见支持的控制条件);其余控制视频的格式与 v1 保持一致。
- 显存:transformer(约 62 GB)加 Qwen3-VL 文本编码器(约 62 GB)无法在单张 80 GB 显卡上全量驻留;单卡 80 GB 请使用
model_group_offload(速度最快)或model_cpu_offload_and_qfloat8。
许可证
本模型为 MiniMax-H3 的衍生模型,依据 MiniMax H3 社区许可证协议 发布。使用前请仔细阅读许可条款,尤其是地域限制与可接受使用政策(AUP)。