Ejecutar MiniMax H3 Localmente en una RTX 3060: Probado, Seis Trampas

VideoToPrompton a few seconds ago9 min read

Versión corta: sí, MiniMax H3 funciona en una RTX 3060 de 12GB, y la sorpresa es que la VRAM no es el cuello de botella. El pico de VRAM fue de 4.7GB de 12GB. La RAM del sistema fue la limitación en todo momento.

El costo es el tiempo. Un clip de 832x480 de 5 segundos tardó 25 minutos 24 segundos. Esto hace que H3 local sea excelente para la experimentación gratuita ilimitada e impracticable para producir trabajo terminado.

Todo lo siguiente proviene de una ejecución real en una máquina: RTX 3060 12GB, i5-12490F, 16GB DDR4, un Kingston NVMe sin DRAM, Windows con WSL2.

Lee Esto Primero: La Licencia Excluye a EE. UU., Reino Unido, UE y Corea del Sur

Antes de descargar 35GB, verifica si tienes permiso para usarlo. H3 se distribuye bajo el MiniMax H3 Community License Agreement, no Apache o MIT. La Cláusula 5 define:

"Excluded Territories" means the European Union, the United Kingdom, the Republic of Korea and the United States of America.

Y la cláusula IV.4 va más allá de lo que la mayoría de la gente espera — cubre no solo los pesos sino también lo que produces con ellos:

You may not use, reproduce, modify, distribute, or display the MiniMax H3 Works or any of their Outputs or results outside the Applicable Territory.

Así que en esas cuatro regiones, los videos generados mismos están cubiertos, no solo los archivos del modelo. MiniMax explica el razonamiento en <a href="https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/docs/QA-about-License.md" rel="nofollow" target="_blank">un documento de preguntas y respuestas</a>: la Ley de IA de la UE está en vigor, el Reino Unido y Corea del Sur son incógnitas regulatorias, y en EE. UU. MiniMax está en litigio de derechos de autor en curso específicamente sobre video generativo. Su fraseo es "todavía no, nunca no", e invitan a las personas en esas regiones a contactarlos para una licencia separada.

La API alojada no está restringida — está disponible globalmente, porque MiniMax opera esa infraestructura y puede aplicar salvaguardas en ella. Si te encuentras en un territorio excluido, la ruta de la API a continuación es la que está abierta para ti. Más detalles en nuestro análisis de lo que realmente se envió con los pesos abiertos.

La Pila Que Funcionó

No es ComfyUI nativo. Usamos <a href="https://github.com/deepbeepmeep/Wan2GP" rel="nofollow" target="_blank">WanGP (Wan2GP) v12.41+</a>, que está construido exactamente para esta clase de hardware, con Python 3.11.5 en un venv creado con uv y torch 2.10.0+cu130.

La versión de torch no es opcional — ver trampa 1. La propia guía de WanGP para la serie RTX 30 es Python 3.11.x con PyTorch 2.10 y CUDA 13.0, y sus documentos advierten explícitamente contra 2.8.0 (fuga de memoria al cambiar de modelos) y 2.9.0 (un problema de convolución 3D que dispara la VRAM del VAE).

El conjunto mínimo de modelos funcionales es de aproximadamente 35GB, todo del repositorio comunitario <a href="https://huggingface.co/DeepBeepMeep/MiniMax-H3" rel="nofollow" target="_blank">DeepBeepMeep/MiniMax-H3</a> — no el oficial:

FileSizeRole
MiniMax-H3-FL2VA-pruned_rank8_int8_convrot.safetensors21GBDiT, pruned to ~20B, int8
qwen3vl-32B-MiniMax-H3-Q2_K.gguf8.0GBText encoder
MiniMax-H3-video_vae_fp16.safetensors4.9GBVideo VAE
MiniMax-H3-audio_vae_fp32.safetensors578MBAudio VAE

Para tener una idea: el DiT oficial bf16 es de 66.28GB (33B parameters) y el repositorio completo MiniMaxAI/MiniMax-H3 es de aproximadamente 498GB. El paquete oficial de ComfyUI es de 57GB. La poda y cuantificación de la comunidad es lo que permite que esto quepa.

Banderas de lanzamiento, las tres requeridas:

--profile 5 --perc-reserved-mem-max 0.1 --attention sdpa

Seis Trampas

Cada una de estas se encontró al toparse con el error, no leyendo la documentación.

1. torch debe ser cu130, no cu128. En cu128, los kernels int8 silenciosamente recurren a la ejecución eager. Las mediciones de la comunidad sitúan el muestreo en 6.12 s/it en lugar de 1.92 s/it, una penalización de 3.19× por un error que no produce ningún mensaje de error. Confirma que funcionó buscando esta línea al inicio:

[Quanto][INT8] Injected int8 kernels ACTIVE (backend=triton)

2. El perfil predeterminado 4 va directamente a CUDA OOM. Necesitas --profile 5. WanGP describe el perfil 5 como "VerylowRAM_LowVRAM (Fail safe): at least 24 GB of RAM and 10 GB of VRAM" — así que 16GB de RAM está por debajo del mínimo establecido. Se ejecuta de todos modos, gracias al archivo de paginación NVMe. Esa es también la razón por la que un SSD DRAM-less perjudica aquí.

3. SageAttention falla por completo en H3 para la serie RTX 30. Sage 1.0.6 lanza AssertionError: varlen only support head_dim [64, 128]. Las RTX 30xx no pueden usar Sage 2, por lo que la única opción es --attention sdpa. En las series 40 y 50, Sage 2.2 funciona y los informes de la comunidad sitúan el ahorro en torno al 30%.

4. hf_xet detiene las descargas grandes en cero bytes. El VAE de video se mantuvo en 0 durante ocho minutos. Establecer HF_HUB_DISABLE_XET=1 lo restauró a 18MB/s inmediatamente.

5. Los kernels GGUF llama.cpp CUDA no están disponibles — el registro dice [GGUF][llama.cpp CUDA] kernels unavailable, using fallback. Así que usa el DiT int8_convrot en lugar de un DiT GGUF. GGUF sigue siendo la opción correcta para el text encoder, donde Q2_K ahorra mucha RAM.

6. Un proxy del sistema interceptará localhost y Gradio muere con un 503: Couldn't start the app because 'http://localhost:7860/gradio_api/startup-events' failed. Establece NO_PROXY=localhost,127.0.0.1; el tráfico saliente seguirá pasando por el proxy.

Extra, si tu unidad C está llena: redirige UV_CACHE_DIR, TMP, TEMP y HF_HOME a otra unidad antes de empezar.

Rendimiento Medido

Todo en la misma 3060, 20 pasos:

Resolución / framesTiempo por clipPor paso
608x352 / 73 frames (3.0s)19 min 50 s
832x480 / 124 frames (5.2s)25 min 24 s71.8 s
864x480 / 124 frames (5.2s)28 min 38 s84 s
1280x736 / 192 frames (8s)~3 h (estimado, no ejecutado)

VRAM pico: 4.7–4.8GB de 12GB. RAM del sistema libre: 0.2GB. Esa es toda la historia: la GPU está inactiva mientras la máquina intercambia datos.

La primera fila es la que vale la pena observar. Bajar a 608x352 con 73 frames reduce el token count a aproximadamente el 30% de la ejecución de 864x480, y sin embargo, el tiempo solo disminuye de 28.6 minutos a 19.8, ni de lejos proporcional. La razón es que en una máquina de 16GB, cada paso retransmite los 21GB de pesos desde NVMe, y ese overhead es fijo independientemente de la resolución. Así que "simplemente renderizar más pequeño" apenas ayuda cuando estás limitado por la RAM. Añadir RAM es la solución; reducir el canvas no lo es.

La comparación que lo demuestra: el equipo de ComfyUI midió 480p/5s en aproximadamente 9 minutos en la misma 3060 con 32GB de RAM. Duplicar la memoria del sistema vale aproximadamente 2.8× aquí. Si estás eligiendo qué actualizar, compra RAM, no una GPU más grande.

Salida verificada con ffprobe: video h264 más AAC stereo a 32kHz — audio nativo genuino generado en la misma pasada, no añadido después — 24fps, 124 frames = 5.167 segundos.

Restricciones que no puedes evitar con prompts

  • No 2K localmente. Los pesos abiertos se renderizan en un lienzo de lado corto de 768, máximo 768x1344. El 2K anunciado proviene de un pase de In-Context Regeneration del lado de la API.
  • El número de fotogramas debe ser 17k+5: 73, 124, 175, 192.
  • Ambas dimensiones deben ser múltiplos de 32. Por eso 720p se escribe 1280x736 — 720 no es divisible por 32.
  • La duración escala mal. Números de la comunidad de una 5090: 5s = 168s, 7s = 282s, mientras que 15s se ejecuta en cualquier lugar de 7 a 50 minutos dependiendo de la optimización. Tres clips de 8 segundos son mucho más baratos que un clip de 15 segundos.
  • Todavía no hay LoRA destilado o lightning a principios de agosto de 2026, por lo que 15-20 pasos es el mínimo. Sin embargo, las compilaciones cuantificadas están apareciendo rápidamente — GGUF Q4_K_M a 19.86GB, Q3_K_M a 15.57GB, además de las variantes NVFP4 e INT4.

Otro hardware, según informes de la comunidad: una 5090 con SageAttention hace 1280x736/5s en 168s (242s sin), y con SM120 sparse attention más EasyCache, 15 segundos bajan de 55 minutos a unos 7. Una 4090 optimizada hace 362 fotogramas en 9.6 minutos. Una RTX PRO 5000 alcanza un máximo de 46.5GB sin ninguna descarga.

¿Local, alquilado o API?

Para un clip de 8 segundos:

RutaCosto por clip100 clips
MiniMax API, 768p ($0.09/s)$0.72$72
MiniMax API, 2K ($0.13/s)$1.04$104
5090 alquilada (~$0.21–0.54/h, ~5.5 min/clip)~$0.023~$2–5
3060 localsolo electricidad~3 h cada uno

Alquilar es de 15 a 50 veces más barato que la API, dependiendo de la resolución y la tarjeta — una brecha lo suficientemente grande como para reorganizar un flujo de trabajo. La división sensata: ejecutar localmente para iterar, porque las tomas fallidas no cuestan nada y el refinamiento de prompts son en su mayoría tomas fallidas; alquilar una 5090 para renderizar finales; usar la API cuando necesites 2K, o cuando la licencia signifique que los pesos no son una opción para ti.

Haz tus prompts correctamente antes de gastar 25 minutos

Con 25 minutos por toma, la calidad del prompt importa más localmente que en cualquier otro lugar. Las estructuras que funcionan en H3 — secuenciación explícita de la cámara, un fotograma de cierre nombrado, sonido descrito tan deliberadamente como la imagen — se desglosan en nuestro análisis de prompts de lanzamiento de H3.

También puedes explorar lo que los creadores están ejecutando realmente, ordenado por modelo, en prompts de tendencia.

Y si tienes un clip al que quieres aplicar ingeniería inversa en lugar de adivinar, para eso sirve nuestra herramienta de video a prompt : pega un enlace o sube el archivo y te devolverá un prompt estructurado que cubre la escena, el movimiento y el trabajo de cámara — que luego puedes alimentar a H3 localmente, de forma gratuita, tantas veces como quieras.