MiniMax H3 Fun ControlNet Union: control Canny, Depth, Pose y más
Alibaba PAI lanza un ControlNet-Union para MiniMax H3: un único checkpoint de 6.8 GB añade control de video Canny, Depth, HED, MLSD y Pose, además de inpaint, vía VideoX-Fun.
Qué es
El checkpoint contiene solo la rama de control (control_proj_in más cinco control_blocks, unos 6.8 GB) y se carga sobre el transformer base de MiniMax H3. Las señales de control se inyectan en cinco de los 50 bloques del transformer (capas 0, 10, 20, 30 y 40), y cada salto de control se incorpora a la rama principal mediante una proyección con puerta de cero.
- Control Union — un solo checkpoint maneja videos de control Canny, Depth, HED, MLSD y Pose para generación video-a-video.
- Destilado en guiado — se ejecuta con
guidance_scale = 1.0y una sola pasada hacia adelante por paso; no necesita classifier-free guidance. - Inpaint — la entrada de control se amplía a 49 canales (latent + latent enmascarado + máscara); usa el ejemplo dedicado
predict_v2v_control_inpaint.py. - Intensidad de control —
control_context_scaleescala cada salto de control antes de sumarlo a la rama principal:1.0da el control más fuerte, valores menores lo debilitan y0.0apaga la rama de control.
La generación sigue el video de control: el número de fotogramas se ajusta al mayor 17 × n + 5 que el VAE de video pueda decodificar (duración máxima de 15 segundos), el lienzo mantiene la relación de aspecto del video de control dentro del presupuesto de píxeles height × width, a 24 fps fijos. Los prompts detallados que describen la escena, el sujeto y la cámara dan los resultados más estables.
Resultados
Todas las muestras siguientes se generaron con 40 pasos de inferencia, guidance_scale = 1.0 y control_context_scale = 1.00. El primer video es la entrada de control y el segundo, la salida generada.
Canny
Entrada de control Canny (calle de Tokio)
Salida generada siguiendo la estructura Canny
Pose
Entrada de control Pose (baile)
Salida generada siguiendo la pose del baile
Disponibilidad
El checkpoint se ejecuta actualmente a través de la canalización de inferencia de VideoX-Fun. Clona el repositorio VideoX-Fun, coloca el modelo base MiniMax-H3 y este checkpoint en models/Diffusion_Transformer/, edita los ajustes al inicio de examples/minimax_h3_fun/predict_v2v_control.py y ejecútalo:
model_name = "models/Diffusion_Transformer/MiniMax-H3"
config_path = "config/minimax_h3/minimax_h3_control.yaml"
transformer_path = "models/Diffusion_Transformer/MiniMax-H3-Fun-Controlnet-Union/MiniMax-H3-Fun-Controlnet-Union.safetensors"
control_video = "your_control_video.mp4"
prompt = "your prompt"python examples/minimax_h3_fun/predict_v2v_control.pyNotas de configuración importantes de la ficha del modelo:
- La configuración debe construir la rama de control exactamente como en el entrenamiento (
control_blocks_places: [0, 10, 20, 30, 40],control_in_dim: 49,control_apply_audio: false); una disposición distinta hace que el checkpoint no cargue. - El checkpoint está destilado en guiado: mantén
guidance_scale = 1.0; valores superiores aplican el guiado dos veces y degradan la salida. - El checkpoint de control solo lleva la rama de control; los pesos base de MiniMax-H3 deben estar presentes.
- El transformer (~62 GB) más el codificador de texto Qwen3-VL (~62 GB) no caben por completo en una GPU de 80 GB; usa
model_group_offloadomodel_cpu_offload_and_qfloat8.
Todavía no existe un loader nativo de ComfyUI para ControlNet de H3: este lanzamiento apunta a la canalización VideoX-Fun. Un Space de demostración en Gradio muestra el modelo con los cinco pares de resultados publicados.
Comentarios
Inicia sesión con GitHub para unirte a la conversación.