artokun/comfyui-mcp/plugin/skills/minimax-h3-video/SKILL.md
minimax-h3-video
Build MiniMax H3 (Hailuo) local video workflows with native T2V/I2V/R2V nodes, Comfy-Org INT8 weights, turbo LoRAs for 8GB VRAM, 15-second stereo-audio clips, and the official MiniMax prompting guides (cite by link, do not copy).
- Source repository stars
- 690
- Declared platforms
- 0
- Static risk flags
- 0
- Last source update
- 2026-08-28
- Source checked
- 2026-08-28
Decision brief
What it does: where it fits
This skill teaches the local-weights MiniMax H3 path in ComfyUI. It is the pilot for 1155 (Official vs Empirical sources) because MiniMax publishes a real prompting guide. Cite that guide by URL. Do not copy it into this repo.
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/artokun/comfyui-mcp --skill "plugin/skills/minimax-h3-video"Inspect the Agent Skill "minimax-h3-video" from https://github.com/artokun/comfyui-mcp/blob/3a950ff3d32d6ed219c921974d7fb1cd7aa5eba3/plugin/skills/minimax-h3-video/SKILL.md at commit 3a950ff3d32d6ed219c921974d7fb1cd7aa5eba3. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Two products, two cost models — pick one
They share a brand and must not be mixed.
They share a brand and must not be mixed.API nodes do not take MiniMaxH3SigmaShift or Sage-attention patches. Local nodes do not spend API credits. If the user asked for Hailuo cloud, stop and use the API nodes + their key; do not download 40 GB of weights.MiniMaxH3Director is a third-party pack (muse-collective-26/MiniMaxH3-Director), not core. Do not require it for T2V / I2V / R2V. - 02
License — cite, do not copy
Local weights and MiniMax's own documentation sit under the MiniMax H3 Community License. Materials includes the Documentation. The agreement's Applicable Territory excludes the United States, the EU, the UK, and South Korea. This skill does not reproduce MiniMax's skills/h3-pro…
Local weights and MiniMax's own documentation sit under the MiniMax H3 Community License. Materials includes the Documentation. The agreement's Applicable Territory excludes the United States, the EU, the UK, and South…This is not legal advice. Tell a US/EU/UK/KR user that the local path is territory-restricted and that the paid API is a separate product under MiniMax platform terms. - 03
Prefer the Comfy-Org template over hand-wiring
ComfyUI ≥ 0.30.0 (templates in the 0.33 line). These are core comfyui-workflow-templates graphs in the frontend Template Library → Video, not installer packs and not custom-node exampleworkflows:
Preferred. Ask the user to open Template Library → Video → MiniMax H3:Agent, no UI click. Fetch the UI JSON fromComfyUI ≥ 0.30.0 (templates in the 0.33 line). These are core comfyui-workflow-templates graphs in the frontend Template Library → Video, not installer packs and not custom-node exampleworkflows: - 04
Models (Comfy-Org INT8 pack)
All from huggingface.co/Comfy-Org/MiniMax-H3. Download with downloadmodel action:"download".
All from huggingface.co/Comfy-Org/MiniMax-H3. Download with downloadmodel action:"download".The Comfy-Org T2V template already switches these on with turbomode:Kijai conversions live at Kijai/MiniMax-H3comfy (loras/) and experimental W4A8 at Kijai/MiniMax-H3-experimental. Same job (low-step / low-VRAM). Prefer the Comfy-Org / lightx2v filenames the template already names; only… - 05
Turbo LoRAs (4–8 steps instead of 20)
The Comfy-Org T2V template already switches these on with turbomode:
The Comfy-Org T2V template already switches these on with turbomode:Kijai conversions live at Kijai/MiniMax-H3comfy (loras/) and experimental W4A8 at Kijai/MiniMax-H3-experimental. Same job (low-step / low-VRAM). Prefer the Comfy-Org / lightx2v filenames the template already names; only…4-step is faster and softer; 6 to 8 steps is the usual sharpness compromise.
Permission review
Static risk signals and limitations
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 690 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- artokun/comfyui-mcp
- Skill path
- plugin/skills/minimax-h3-video/SKILL.md
- Commit
- 3a950ff3d32d6ed219c921974d7fb1cd7aa5eba3
- License
- MIT
- Collected
- 2026-08-28
- Default branch
- main
View the original SKILL.md
MiniMax H3 (Hailuo) — local video
This skill teaches the local-weights MiniMax H3 path in ComfyUI. It is the
pilot for #1155 (Official vs Empirical sources) because MiniMax publishes a
real prompting guide. Cite that guide by URL. Do not copy it into this repo.
Two products, two cost models — pick one
They share a brand and must not be mixed.
| Path | Nodes | Cost | VRAM | When |
|---|---|---|---|---|
| Local weights (this skill) | MiniMaxH3ImageToVideo, MiniMaxH3ReferenceToVideo, EmptyMiniMaxH3LatentAV, MiniMaxH3SigmaShift, MiniMaxH3MemoryEfficientSageAttentionPatch | Free after download | Yes — INT8 + turbo LoRA is the 8 GB story | User wants 4–15 s stereo clips on their GPU |
| Partner API | MinimaxHailuo03TextToVideoNode, MinimaxHailuo03FirstLastFrameNode, MinimaxHailuo03ReferenceNode, MinimaxTextToVideoNode, MinimaxImageToVideoNode, MinimaxHailuoVideoNode | Paid per generation | None | User has a MiniMax / Hailuo API key and does not want local weights |
API nodes do not take MiniMaxH3SigmaShift or Sage-attention patches. Local
nodes do not spend API credits. If the user asked for Hailuo cloud, stop and
use the API nodes + their key; do not download 40 GB of weights.
MiniMaxH3Director is a third-party pack (muse-collective-26/MiniMaxH3-Director),
not core. Do not require it for T2V / I2V / R2V.
License — cite, do not copy
Local weights and MiniMax's own documentation sit under the
MiniMax H3 Community License.
Materials includes the Documentation. The agreement's Applicable Territory
excludes the United States, the EU, the UK, and South Korea. This skill
does not reproduce MiniMax's skills/h3-prompt-writing/ SKILL.md or the
prompting-guide prose. Linking to a public URL is the #1155 requirement.
This is not legal advice. Tell a US/EU/UK/KR user that the local path is territory-restricted and that the paid API is a separate product under MiniMax platform terms.
Prefer the Comfy-Org template over hand-wiring
ComfyUI ≥ 0.30.0 (templates in the 0.33 line). These are core
comfyui-workflow-templates graphs in the frontend Template Library →
Video, not installer packs and not custom-node example_workflows:
| Mode | Template Library card | File | Diffusion file |
|---|---|---|---|
| T2V / I2V / FL2VA | MiniMax H3: Text to Video / Image to Video | video_minimax_h3_t2v.json / video_minimax_h3_i2v.json | minimax_h3_fl2va_pruned_int8_convrot.safetensors |
| R2V (omni-reference) | MiniMax H3: Reference to Video | video_minimax_h3_r2v.json | minimax_h3_ref2va_pruned_int8_convrot.safetensors |
list_packs action:"list_templates" will not list them.
enqueue_workflow action:"run_template" will not resolve
video_minimax_h3_t2v / _i2v / _r2v. That action only loads bundled
installer packs, and there is no packs/minimax-h3-* yet. Do not call it
until a pack exists. panel_load_workflow needs pack:, a disk path:, or
an inline UI graph. A Template Library basename is none of those.
Load path that works:
- Preferred. Ask the user to open Template Library → Video → MiniMax H3:
Text to Video (or Image to Video / Reference to Video). Pick the local
video_minimax_h3_*cards, not theapi_minimax_h3_*paid partner templates. - Agent, no UI click. Fetch the UI JSON from
https://github.com/Comfy-Org/workflow_templates/blob/main/templates/video_minimax_h3_t2v.json
(or
_i2v/_r2v; raw.githubusercontent.com is the same files), save it withsave_workflow action:"save"filename:"video_minimax_h3_t2v.json", thenpanel_load_workflow path:"video_minimax_h3_t2v.json". Same pattern asvideo-extend(stage on disk, thenpath:). Do not pass the GitHub URL aspath:orpack:.
After it lands, retarget the subgraph's exposed widgets (prompt, duration,
turbo_mode, megapixels). Official T2V/I2V graphs wrap
MiniMaxH3ImageToVideo inside a subgraph (type is a UUID). Do not flatten
that interior unless you are hand-building.
Hand-building the subgraph is slower and easy to get wrong.
Comfy tutorial (wiring, not MiniMax's prompt formula): https://docs.comfy.org/tutorials/video/minimax/minimax-h3
Models (Comfy-Org INT8 pack)
All from huggingface.co/Comfy-Org/MiniMax-H3. Download with
download_model action:"download".
| File | Folder | Role |
|---|---|---|
minimax_h3_fl2va_pruned_int8_convrot.safetensors | diffusion_models/ | T2V / I2V / first-last-frame |
minimax_h3_ref2va_pruned_int8_convrot.safetensors | diffusion_models/ | R2V only — different UNet |
qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors | text_encoders/ | Qwen3-VL-32B encoder, CLIPLoader type=minimax |
minimax_h3_video_vae_fp16.safetensors | vae/ | Visual VAE |
minimax_h3_audio_vae_fp32.safetensors | vae/ | Stereo audio VAE (32 kHz) |
Turbo LoRAs (4–8 steps instead of ~20)
The Comfy-Org T2V template already switches these on with turbo_mode:
| Steps | File | Source |
|---|---|---|
| 8 | minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors | lightx2v/Minimax-h3-Turbo |
| 4 | minimax_h3_fl2v_turbo_4step_v1.0_768p_comfyui_bf16.safetensors | Comfy-Org/MiniMax-H3 loras/ |
Kijai conversions live at Kijai/MiniMax-H3_comfy (loras/) and experimental
W4A8 at Kijai/MiniMax-H3-experimental. Same job (low-step / low-VRAM). Prefer
the Comfy-Org / lightx2v filenames the template already names; only switch to a
Kijai file if that is what is on disk.
4-step is faster and softer; 6 to 8 steps is the usual sharpness compromise.
Output spec
| Knob | Value |
|---|---|
| Duration | 4–15 seconds |
| Frame rate | 24 fps (CreateVideo.fps) |
| Audio | Native stereo, decoded by the audio VAE, muxed in CreateVideo |
| Short edge | 768 px native; cap 768×1344, multiple of 32 |
| Preview size | ResolutionSelector megapixels 0.4 → 864×480 at 16:9 |
| Full 768p | megapixels ~0.98 → 1344×768 at 16:9 |
Duration → frame length (Comfy-Org template math, 17-frame blocks):
max(5, round(seconds * 24)) + (5 - (max(5, round(seconds * 24)) % 17)) % 17
That is the 17k+5 grid. Do not invent a WAN-style 4n+1 length.
Node graph (local T2V / I2V)
From the Comfy-Org T2V subgraph (core nodes, not the Markdown notes):
ResolutionSelector (aspect, megapixels, multiple=32) → width, height
UNETLoader (fl2va int8)
├─ LoraLoaderModelOnly (turbo LoRA) ─┐
└────────────────────────────────────┤ ComfySwitchNode (turbo_mode)
▼
BasicGuider + BasicScheduler + KSamplerSelect(res_multistep)
▼
CLIPLoader (type=minimax, qwen3vl 32b) → MiniMaxH3ImageToVideo
VAELoader (video vae) ─────────────────→ prompt, width, height, length
optional first_frame / last_frame ─────→ → CONDITIONING + LATENT
▼
SamplerCustomAdvanced → LATENT
├─ VAEDecode (video vae) → IMAGE
└─ VAEDecodeAudio (audio vae) → AUDIO
▼
CreateVideo (fps=24) → SaveVideo
MiniMaxH3ImageToVideo is T2V when both image sockets are empty, I2V with
first_frame, FL2VA with both frames. Do not add a second T2V-only node.
R2V replaces the UNet with ref2va and the conditioner with
MiniMaxH3ReferenceToVideo. Do not load fl2va into an R2V graph.
Local-only helpers
| Node | Role |
|---|---|
EmptyMiniMaxH3LatentAV | Empty audio-video latent when you are not using MiniMaxH3ImageToVideo's built-in latent |
MiniMaxH3SigmaShift | Flow-matching shift on the local UNet |
MiniMaxH3MemoryEfficientSageAttentionPatch | Core Sage patch; or KJNodes Patch Sage Attention KJ (sage_attention=auto) between UNETLoader and BasicGuider |
Sage roughly doubles speed. H3 has mixed dtypes, so console lines about falling back to pytorch attention on some layers are expected.
Sampler defaults (Comfy-Org template)
| Mode | Sampler | Scheduler | Steps |
|---|---|---|---|
| Base (no turbo) | res_multistep | simple | 20 |
| Turbo on | res_multistep | simple | 4–8 (template default turbo steps widget) |
Guider is BasicGuider (CFG-distilled checkpoint, so do not crank CFG). Seed via
RandomNoise.
Prompting — read the vendor guide, do not paste it here
Write the prompt in the MiniMax H3 node, not a generic CLIPTextEncode.
Official MiniMax guides (read these; do not copy them into graphs as a system prompt dump):
- T2VA / I2VA / FL2VA / L2VA: https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/docs/VIDEO_PROMPT_WRITING_GUIDE_base_en.md
- Full-reference / R2V: https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/docs/VIDEO_PROMPT_WRITING_GUIDE_ref_en.md
- Vendor skill (install separately if the user wants it; we do not bundle it):
https://github.com/MiniMax-AI/MiniMax-H3 (
npx skills add … --skill h3-prompt-writing)
H3-Context-IR (the hosted prompt rewriter) is not in the open weights.
Local ComfyUI has no IR node. Either write the structured prompt yourself from
the guide, or call MiniMax's Context-IR API and paste content.prompt into the
local node.
Comfy-Org's own template notes (safe to follow, not MiniMax docs):
- One block covering look, scene, timed shots, camera, and audio (dialogue, SFX, score).
- Time shots (
[0s-1.5s] Shot 1: …). - R2V: name each input in connection order (
<Picture 1>,<Video 1>,<Audio 1>) and say what job each one does (identity, motion, voice). - R2V caps (vendor model card, not a guess): ≤9 images, ≤3 videos, ≤3 audio clips, ≤12 files mixed; each AV clip 2 to 15 s.
15-second clips and chaining
One H3 shot is at most ~15 s. Longer pieces are concatenated clips, not a
bigger length.
- Generate clip N (up to 15 s).
- Confirm the file with
get_imageaction:"list_outputs"(kind:"video"). Video nodes often skip/history. - Stage the last frame (or the whole clip) with
upload_imageaction:"stage". - Clip N+1:
MiniMaxH3ImageToVideo.first_frame= last frame of N, or R2V with<Video 1>as a continuation reference. - Concat with ffmpeg (
directorskill) or an editor.
This is not WAN Pusa (video-extend). Pusa LoRAs and flowmatch_pusa do
not apply to H3.
VRAM
| Card | Practical setup |
|---|---|
| 24 GB+ | INT8 fl2va + Qwen3-VL + both VAEs; 1344×768; 10–15 s; Sage optional |
| 12–16 GB | Same INT8 pack; drop megapixels toward 0.4–0.6; turbo LoRA on; Sage |
| 8 GB | INT8 + turbo LoRA + Sage + short preview (0.2–0.4 MP, 4–6 s). Minutes per clip. Kijai W4A8 if INT8 still OOMs. |
Always clear_vram before switching to H3 from WAN / LTX / a checkpoint.
Gotchas
CLIPLoadertype must beminimax.qwen_image/fluxwill load the wrong encoder layout.- fl2va vs ref2va. T2V/I2V templates on ref2va (or R2V on fl2va) are garbage or a load error.
- Turbo off, 4 steps. The switch defaults off and base steps are 20. Four steps without the LoRA is mush.
- API node in a local graph. Costs money and ignores the UNet you downloaded.
- WAN frame math. H3 is 24 fps and
17k+5, not 16 fps4n+1. - Verify video on disk, then stage. Never guess
input/paths. - ffmpeg is required for
CreateVideo/SaveVideo/VHS_VideoCombine. - Desktop/Cloud ComfyUI lags nightly. Missing
MiniMaxH3*nodes → update to ≥0.30.0 (0.33 templates) before hunting custom packs.
See also
video-extend: WAN Pusa temporal continuation (different family)director: multi-clip concat after you have 15 s H3 shotsprompt-engineering: generic CLIP syntax; H3 does not use ittriton-sageattention: installing Sage on Windows
There is no bundled packs/minimax-h3-* installer yet, which is why
enqueue_workflow action:"run_template" cannot load these graphs. Use the
Template Library (or the GitHub fetch → save_workflow →
panel_load_workflow path: path above) + download_model against
Comfy-Org/MiniMax-H3.
Sources
- Official: MiniMax prompting guides https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/docs/VIDEO_PROMPT_WRITING_GUIDE_base_en.md (T2VA/I2VA/FL2VA/L2VA) and https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/docs/VIDEO_PROMPT_WRITING_GUIDE_ref_en.md (full-reference / R2V); vendor repo https://github.com/MiniMax-AI/MiniMax-H3; ComfyUI tutorial + templates https://docs.comfy.org/tutorials/video/minimax/minimax-h3 (wiring, duration grid, INT8 filenames). MiniMax's own
skills/h3-prompt-writingis linked, not copied, because the Community License includes Documentation. - Empirical: local vs partner-API node split and 8 GB turbo-LoRA note from issue #1167 / the reporter's rig; Sage mixed-dtype fallback from the Comfy tutorial; chaining last-frame→next-clip from observed ComfyUI I/O (stage + list_outputs), not a vendor extender.
Frequently asked questions
What to verify before installation and use
What does the minimax-h3-video source document cover?
This skill teaches the local-weights MiniMax H3 path in ComfyUI. It is the pilot for 1155 (Official vs Empirical sources) because MiniMax publishes a real prompting guide. Cite that guide by URL. Do not copy it into this repo.
How do I install minimax-h3-video?
The source record exposes this install command: npx skills add https://github.com/artokun/comfyui-mcp --skill "plugin/skills/minimax-h3-video". Inspect the command and pinned source before running it.