Skip to content

Latest commit

 

History

History
143 lines (107 loc) · 7.99 KB

README_EN.md

File metadata and controls

143 lines (107 loc) · 7.99 KB

MacOS H3 Speedrun

中文 · English

Create synchronized video and audio with MiniMax-H3 in ComfyUI on Apple Silicon. Select a model by memory tier and render MP4 directly from a prompt.

MacOS H3 Speedrun

Click the cover to play · 480p · 5.175 seconds · generated in 3m12s · native audio

Creator examples

These examples use MiniMax-H3 Turbo v4-600 + SolAttn 1.3. Each is about 15 seconds long and includes native audio. Click a poster to play the 720p version.

Cyber showdown
Cyber Showdown
480p · 720p · Prompt
Wuxia bamboo forest
Wuxia Bamboo Forest
480p · 720p · Prompt
Luxury perfume commercial
Luxury Perfume Commercial
480p · 720p · Prompt
First-person shooter
First-Person Battlefield
480p · 720p · Prompt

The examples are 832x480 and 1280x736 at 24 fps for 15.083 seconds. “480p / 720p” are friendly tier names.

Create in three steps

git clone https://github.com/EvolvingLMMs-Lab/MacOS-H3-Speedrun
cd MacOS-H3-Speedrun
/path/to/ComfyUI/.venv/bin/python bootstrap.py --comfyui /path/to/ComfyUI --memory-tier auto
  1. Bootstrap downloads the nodes, models, and workflows for your unified-memory tier.
  2. Restart ComfyUI for PyTorch workflows with python main.py --use-pytorch-cross-attention.
  3. Open the Turbo4 workflow from user/default/workflows, edit the prompt, and queue it.

Do not use --force-fp16, --fp16-unet, or --fp16-text-enc with PyTorch MiniMax-H3; keep the checkpoint's default BF16/mixed precision. --bf16-vae may remain enabled. Unsafe settings produce NaNs/static on the first step and may surface later as SaveVideo: avcodec_send_frame() returned 22.

Choose your Mac

Unified memory Default workflow Peak memory
24 GB MLX Core4-pruned · offset stream2 16.36 GB
32 GB MLX Core4-pruned · resident 24.70 GB
48 GB MLX Core8-pruned · resident 32.21 GB
64 GB MLX Attention16 + MLP8 39.73 GB
96–128 GB BF16-pruned standard ComfyUI graph 63.35 GB (same-checkpoint strict-staged baseline)
192 GB+ Full BF16 standard ComfyUI graph 159.99 GB

Peaks are process-footprint measurements from the 512 GB M3 Ultra test host. The 32/48 GB figures are conservative measurements from equivalent older AdaLN8 profiles. The 63.35 GB figure comes from the same BF16-pruned checkpoint under strict-staged Full20; the current standard ComfyUI graph still needs a matching rerun. The 24 GB path has not been tested on a physical 24 GB Mac and needs roughly 110–120 GB of temporary disk space.

The optional 48/64 GB BF16-pruned stream5 quality set peaked at 42.56 GB through the real ComfyUI API, with zero swap in all three generation modes.

Choose a generation mode

Mode Best for Default acceleration
Turbo 4 Fast Prompt, shot, and sound drafts SolAttn on
Turbo 8 Balanced An optional second generation trajectory SolAttn on
Full 20 Quality A final comparison without the Turbo LoRA Safe FBC + SolAttn on

The 24 GB tier installs only its validated Turbo4 workflow. Other standard tiers include Turbo4, Turbo8, and Full20. Start at 480p / 5 seconds with Turbo4, then raise resolution or steps after the shot works.

Community mods and LoRAs

Community models follow one of two paths:

Path Workflows How to use it
Use directly in ComfyUI 48/64 GB BF16 quality, 96–128 GB BF16-pruned, and 192 GB Full BF16 Select compatible H3 checkpoints directly; custom graphs can connect compatible LoRAs through the standard MODEL stream node
Convert the checkpoint/adapter first 24–64 GB MLX fast workflows Generic Load LoRA nodes and ComfyUI checkpoints cannot connect directly; convert them to MLX H3 format first. The runtime currently accepts one adapter

The built-in Turbo LoRA is ready to use. Community assets must target MiniMax-H3 and match the pruned/full base and AdaLN width; SD, SDXL, Flux, Wan, and other model families are incompatible. Test normal style or character LoRAs with Full20 first.

Prompt tips

  • Describe one continuous shot: subject, action, camera, lighting, and what must stay consistent.
  • Specify sound. Use no speech or no music when needed.
  • Avoid several cuts and unrelated scenes within five seconds.
  • See Omni-Rewriter and awesome-minimax-h3-prompts for more ideas.

Optional setup

Install the BF16-pruned stream5 quality set on 48/64 GB systems:

python bootstrap.py --comfyui /path/to/ComfyUI --memory-tier 48 --workflow-set quality
# fast|quality|all

This set uses the standard ComfyUI BF16-pruned checkpoint directly: Qwen runs 25+25 and is released, the DiT keeps five blocks resident at a time, then the original ComfyUI Video/Audio VAEs decode the result. Real API runs peaked at 42.56 GB with no swap. Stream5 measured 208.98 s / 42.56 GB versus stream10 at 210.47 s / 43.24 GB, so both 48 GB and 64 GB use stream5. Start ComfyUI with --use-pytorch-cross-attention.

Available tiers: 24|32|48|64|96|192. Workflows never download models silently; installation happens only when you run bootstrap.py. Allow enough model storage and review the upstream MiniMax-H3 license.

Measured generation time

Measured creator workflows, all on M3 Ultra at 864x480, about five seconds, with SolAttn enabled:

Configuration Complete generation
24 GB workflow · Core4 offset stream2 239.27 s (3m59s)
Core4 resident · 32 GB default path 216.60 s (3m37s)
BF16-pruned stream5 · 48/64 GB quality · Turbo4 208.98 s (3m29s)
BF16-pruned stream5 · 48/64 GB quality · Turbo8 383.79 s (6m24s)
BF16-pruned stream5 · 48/64 GB quality · Full20 551.33 s (9m11s)

End-to-end standard BF16 ComfyUI graph measurements are from ComfyUI-SolAttn-MPS, using M3 Ultra and Turbo4:

Video Native MPS SDPA SolAttn
480p · 5.17 s 4m39s 3m14s
480p · 15.08 s 17m32s 12m37s
720p · 5 s 12m11s 9m20s
720p · 15.08 s 63m49s 38m03s

These fixed-prompt, fixed-seed M3 Ultra figures do not predict every Mac or community checkpoint. The default 48/64 GB quantized fast profiles do not yet have exact matching end-to-end measurements. Full20 contained four full-scale audio samples (0.000012); Turbo4/8 contained none.