> ## Documentation Index
> Fetch the complete documentation index at: https://dripart-chore-sync-comfy-api-v2-spec-462120c.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# MiniMax H3 in ComfyUI: T2V, I2V, and R2V Video Workflows

> Learn how to use the open-weights MiniMax H3 in ComfyUI with native text-to-video, image-to-video, and reference-to-video workflows with stereo audio.

[MiniMax H3](https://www.minimax.io/blog/minimax-h3) is MiniMax's general-purpose, omni-modal generation model, now available as open weights. It jointly understands text, images, video, and audio in a single context, and generates video with **native stereo audio**: voice, sound effects, and music are modeled together in a single forward pass instead of being layered on afterward. Output is up to 2K resolution, 24fps, and about 15 seconds.

ComfyUI natively supports MiniMax H3. The template library currently ships with three example workflows, each covering one generation mode:

* **Text-to-Video** (T2V): Generate videos from text prompts
* **Image-to-Video** (I2V): Generate videos from an input image, with optional first/last-frame control
* **Reference-to-Video** (R2V): Generate videos that lock in a character, style, motion, camera move, or voice from reference images, videos, and audio

These three are example templates, not an exhaustive list. The model supports more generation modes through the native MiniMax H3 nodes: first/last-frame image-to-video (fl2va) via the `MiniMaxH3ImageToVideo` node, and reference-driven generation with images, videos, and audio (ref2va) via the `MiniMaxH3ReferenceToVideo` node. You can build additional workflows with these nodes.

<UpdateReminder />

## Key features

* **Native stereo audio**: Dialogue, sound effects, and music are generated together with the video, synced in one MP4
* **Multimodal context**: Text, images, video, and audio references can be combined in one generation
* **Reference-driven generation**: Lock a character's identity, a style, a motion, a camera move, or a voice from reference materials
* **Instruction following**: Describe the relationship between references and the target shot in natural language
* **Accurate text rendering**: Spelled-out text and brand elements render cleanly
* **Open weights**: Run locally in ComfyUI with full control over every parameter

## Getting started

MiniMax H3 is supported in ComfyUI with open weights. To get started:

1. Update ComfyUI to version 0.30.0 or later
2. Go to **Template Library** > **Video** > choose any MiniMax H3 workflow
3. Follow the pop-up to download models and run the workflow

The model files are hosted on Hugging Face in the [Comfy-Org/MiniMax-H3](https://huggingface.co/Comfy-Org/MiniMax-H3) repository.

## Setting the output resolution

Each workflow uses a **Resolution Selector** node to control the overall output size. The node computes `width` and `height` from three settings, and its outputs connect directly to the `width` and `height` inputs of the MiniMax H3 node:

* **Aspect ratio**: Pick a preset such as `16:9 (Widescreen)`, `9:16 (Portrait Widescreen)`, or `1:1 (Square)`
* **Megapixels**: Target total pixel count for the output. Higher values give larger frames; lower values run faster
* **Multiple**: The computed resolution is rounded to the nearest multiple of this number. Keep it at `32` to match H3's resolution grid

The template ships with a fast preview size. For full-quality output at 16:9, set the Resolution Selector's Megapixels to `0.98` for H3's native canvas (a 768px short edge, 1344x768 at 16:9), or enter `1344 x 768` directly in the MiniMax H3 node's `width` and `height` inputs (its default). Skip the `1.0` Megapixel step: it yields 1376x768, above the model's 768x1344 pixel area cap.

## ComfyUI Native Workflows

### MiniMax H3 Text to Video (T2V)

Generate videos from text prompts with native stereo audio.

<video controls className="w-full aspect-video" src="https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/output/video_minimax_h3_t2v.mp4" />

<CardGroup cols={2}>
  <Card title="Run on Comfy Cloud" icon="cloud" href="https://cloud.comfy.org/?template=video_minimax_h3_t2v&utm_source=docs&utm_medium=referral&utm_campaign=minimax-h3">
    Open in Comfy Cloud
  </Card>

  <Card title="Download Workflow" icon="download" href="https://github.com/Comfy-Org/workflow_templates/blob/main/templates/video_minimax_h3_t2v.json">
    Download JSON or search "MiniMax H3 T2V" in Template Library
  </Card>
</CardGroup>

#### Model downloads

<CardGroup cols={2}>
  <Card title="Diffusion Model: minimax_h3_fl2va_pruned_int8_convrot" icon="download" href="https://huggingface.co/Comfy-Org/MiniMax-H3/blob/main/diffusion_models/minimax_h3_fl2va_pruned_int8_convrot.safetensors">
    Place in <code>ComfyUI/models/diffusion\_models/</code>
  </Card>

  <Card title="Text Encoder: qwen3vl_32b_minimax_h3_nvfp4_awq" icon="download" href="https://huggingface.co/Comfy-Org/MiniMax-H3/blob/main/text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors">
    Place in <code>ComfyUI/models/text\_encoders/</code>
  </Card>

  <Card title="VAE: minimax_h3_video_vae_fp16" icon="download" href="https://huggingface.co/Comfy-Org/MiniMax-H3/blob/main/vae/minimax_h3_video_vae_fp16.safetensors">
    Place in <code>ComfyUI/models/vae/</code>
  </Card>

  <Card title="VAE: minimax_h3_audio_vae_fp32" icon="download" href="https://huggingface.co/Comfy-Org/MiniMax-H3/blob/main/vae/minimax_h3_audio_vae_fp32.safetensors">
    Place in <code>ComfyUI/models/vae/</code>
  </Card>

  <Card title="LoRA: minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16" icon="download" href="https://huggingface.co/lightx2v/Minimax-h3-Turbo/resolve/main/minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors">
    Required by the workflow's model scan; powers the optional Lightning LoRA turbo mode. Place in <code>ComfyUI/models/loras/</code>
  </Card>
</CardGroup>

#### Model storage

```
ComfyUI/
├── 📂 models/
│   ├── 📂 diffusion_models/
│   │   └── minimax_h3_fl2va_pruned_int8_convrot.safetensors
│   ├── 📂 text_encoders/
│   │   └── qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors
│   ├── 📂 vae/
│   │   ├── minimax_h3_video_vae_fp16.safetensors
│   │   └── minimax_h3_audio_vae_fp32.safetensors
│   └── 📂 loras/
│       └── minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors
```

#### Prompting tips

1. **Describe the whole scene**: State the overall scene first (location, character, what is happening), then break it into timed shots
2. **Shots, camera, and audio**: Describe the shots, camera moves, and the accompanying audio (dialogue, SFX, music) in one prompt block
3. **Resolution**: H3's native canvas is a 768px short edge, which is 1344x768 at 16:9, and resolutions are rounded to a multiple of 32
4. **Duration**: The duration input snaps to the model's 17-frame-per-block (17k+5) grid at 24fps
5. **First/last frame**: Connect images to `first_frame` and/or `last_frame` on the `MiniMaxH3ImageToVideo` node to turn this workflow into first/last-frame image-to-video
6. **Turbo mode (optional)**: The workflow generates at 20 steps by default; raise the step count (for example to 25) for better motion quality. Enable `turbo_mode` on the MiniMax H3 node to use the included Lightning LoRA (`minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16`) at 8 steps for much faster generation, with slightly lower audio and motion quality

#### Prompt writing guide

MiniMax publishes an official [video prompt writing guide](https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/docs/VIDEO_PROMPT_WRITING_GUIDE_base_en.md) for the base generation modes: T2VA, I2VA, FL2VA, and L2VA. The guide explains how to structure a prompt into timed shots with camera movement and audio (dialogue, SFX, music), and includes examples for each mode. MiniMax also publishes installable [H3 skills](https://github.com/MiniMax-AI/MiniMax-H3/tree/main/skills), including a prompt-writing skill that packages these guides for agent use.

***

### MiniMax H3 Image to Video (I2V)

Generate videos from an input image, with optional first/last-frame keyframes.

<video controls className="w-full aspect-video" src="https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/output/video_minimax_h3_i2v.mp4" />

<CardGroup cols={2}>
  <Card title="Run on Comfy Cloud" icon="cloud" href="https://cloud.comfy.org/?template=video_minimax_h3_i2v&utm_source=docs&utm_medium=referral&utm_campaign=minimax-h3">
    Open in Comfy Cloud
  </Card>

  <Card title="Download Workflow" icon="download" href="https://github.com/Comfy-Org/workflow_templates/blob/main/templates/video_minimax_h3_i2v.json">
    Download JSON or search "MiniMax H3 I2V" in Template Library
  </Card>
</CardGroup>

<CardGroup cols={1}>
  <Card title="Input Image: transparent_rgb_gaming_mouse.png" icon="image" href="https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/input/transparent_rgb_gaming_mouse.png">
    Download the default input image, or use your own image.
  </Card>
</CardGroup>

#### Model downloads

<CardGroup cols={2}>
  <Card title="Diffusion Model: minimax_h3_fl2va_pruned_int8_convrot" icon="download" href="https://huggingface.co/Comfy-Org/MiniMax-H3/blob/main/diffusion_models/minimax_h3_fl2va_pruned_int8_convrot.safetensors">
    Place in <code>ComfyUI/models/diffusion\_models/</code>
  </Card>

  <Card title="Text Encoder: qwen3vl_32b_minimax_h3_nvfp4_awq" icon="download" href="https://huggingface.co/Comfy-Org/MiniMax-H3/blob/main/text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors">
    Place in <code>ComfyUI/models/text\_encoders/</code>
  </Card>

  <Card title="VAE: minimax_h3_video_vae_fp16" icon="download" href="https://huggingface.co/Comfy-Org/MiniMax-H3/blob/main/vae/minimax_h3_video_vae_fp16.safetensors">
    Place in <code>ComfyUI/models/vae/</code>
  </Card>

  <Card title="VAE: minimax_h3_audio_vae_fp32" icon="download" href="https://huggingface.co/Comfy-Org/MiniMax-H3/blob/main/vae/minimax_h3_audio_vae_fp32.safetensors">
    Place in <code>ComfyUI/models/vae/</code>
  </Card>
</CardGroup>

<CardGroup cols={1}>
  <Card title="Turbo LoRA: minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16" icon="download" href="https://huggingface.co/lightx2v/Minimax-h3-Turbo/blob/main/minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors">
    Place in <code>ComfyUI/models/loras/</code>. Used when <code>turbo\_mode</code> is enabled.
  </Card>
</CardGroup>

#### Model storage

```
ComfyUI/
├── 📂 models/
│   ├── 📂 diffusion_models/
│   │   └── minimax_h3_fl2va_pruned_int8_convrot.safetensors
│   ├── 📂 text_encoders/
│   │   └── qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors
│   ├── 📂 loras/
│   │   └── minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors
│   └── 📂 vae/
│       ├── minimax_h3_video_vae_fp16.safetensors
│       └── minimax_h3_audio_vae_fp32.safetensors
```

#### Prompting tips

1. **Keyframes**: The `first_frame` and `last_frame` inputs are optional; the model generates the motion between them
2. **Prompt**: Describe the shots, motion, and the accompanying audio (dialogue, SFX, music) in one block
3. **Resolution**: H3's native canvas is a 768px short edge, which is 1344x768 at 16:9, and resolutions are rounded to a multiple of 32
4. **Duration**: The duration input snaps to the model's 17-frame-per-block (17k+5) grid at 24fps
5. **Turbo mode**: Enable `turbo_mode` on the MiniMax H3 node to switch to the turbo LoRA and generate in `turbo_steps` (default 8) instead of 20 steps. `turbo_model_strength` controls the LoRA strength (default 1.0).

#### Prompt writing guide

MiniMax publishes an official [video prompt writing guide](https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/docs/VIDEO_PROMPT_WRITING_GUIDE_base_en.md) for the base generation modes: T2VA, I2VA, FL2VA, and L2VA. The guide explains how to structure a prompt into timed shots with camera movement and audio (dialogue, SFX, music), and includes examples for each mode. MiniMax also publishes installable [H3 skills](https://github.com/MiniMax-AI/MiniMax-H3/tree/main/skills), including a prompt-writing skill that packages these guides for agent use.

***

### MiniMax H3 Reference to Video (R2V)

Generate videos that lock in a character, style, motion, camera move, or voice from any mix of reference images, videos, and audio.

<video controls className="w-full aspect-video" src="https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/output/video_minimax_h3_r2v.mp4" />

<CardGroup cols={2}>
  <Card title="Run on Comfy Cloud" icon="cloud" href="https://cloud.comfy.org/?template=video_minimax_h3_r2v&utm_source=docs&utm_medium=referral&utm_campaign=minimax-h3">
    Open in Comfy Cloud
  </Card>

  <Card title="Download Workflow" icon="download" href="https://github.com/Comfy-Org/workflow_templates/blob/main/templates/video_minimax_h3_r2v.json">
    Download JSON or search "MiniMax H3 R2V" in Template Library
  </Card>
</CardGroup>

<CardGroup cols={2}>
  <Card title="Reference Image: red_superboy_on_city_roof.png" icon="image" href="https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/input/red_superboy_on_city_roof.png">
    Character reference for the workflow, or use your own images.
  </Card>

  <Card title="Reference Image: mecha_dragon_lightning.png" icon="image" href="https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/input/mecha_dragon_lightning.png">
    Style and subject reference for the workflow, or use your own images.
  </Card>
</CardGroup>

#### Model downloads

<CardGroup cols={2}>
  <Card title="Diffusion Model: minimax_h3_ref2va_pruned_int8_convrot" icon="download" href="https://huggingface.co/Comfy-Org/MiniMax-H3/blob/main/diffusion_models/minimax_h3_ref2va_pruned_int8_convrot.safetensors">
    Place in <code>ComfyUI/models/diffusion\_models/</code>
  </Card>

  <Card title="Text Encoder: qwen3vl_32b_minimax_h3_nvfp4_awq" icon="download" href="https://huggingface.co/Comfy-Org/MiniMax-H3/blob/main/text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors">
    Place in <code>ComfyUI/models/text\_encoders/</code>
  </Card>

  <Card title="VAE: minimax_h3_video_vae_fp16" icon="download" href="https://huggingface.co/Comfy-Org/MiniMax-H3/blob/main/vae/minimax_h3_video_vae_fp16.safetensors">
    Place in <code>ComfyUI/models/vae/</code>
  </Card>

  <Card title="VAE: minimax_h3_audio_vae_fp32" icon="download" href="https://huggingface.co/Comfy-Org/MiniMax-H3/blob/main/vae/minimax_h3_audio_vae_fp32.safetensors">
    Place in <code>ComfyUI/models/vae/</code>
  </Card>

  <Card title="LoRA: minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16" icon="download" href="https://huggingface.co/Comfy-Org/MiniMax-H3/blob/main/loras/minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors">
    Required by the workflow's model scan; powers the optional Lightning LoRA turbo mode. Place in <code>ComfyUI/models/loras/</code>
  </Card>
</CardGroup>

#### Model storage

```
ComfyUI/
├── 📂 models/
│   ├── 📂 diffusion_models/
│   │   └── minimax_h3_ref2va_pruned_int8_convrot.safetensors
│   ├── 📂 text_encoders/
│   │   └── qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors
│   ├── 📂 vae/
│   │   ├── minimax_h3_video_vae_fp16.safetensors
│   │   └── minimax_h3_audio_vae_fp32.safetensors
│   └── 📂 loras/
│       └── minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors
```

#### Prompting tips

1. **Reference by tag**: Reference each input by tag in the exact order it was connected, for example `<Picture 1>`, `<Video 1>`, `<Audio 1>`
2. **Assign each reference a job**: State which reference drives which part of the shot (identity, style, motion, camera, voice). Explicit assignments tend to work much better
3. **Limits**: Up to 9 reference images, 3 reference videos (each can carry its own soundtrack), and 3 standalone reference audio clips
4. **ref\_image\_size**: `match` scales references down to the generation resolution for speed; `max` keeps up to a 2048px short edge for stronger identity fidelity at the cost of speed
5. **Note**: R2V uses the `ref2va` diffusion model, a different set of weights from the `fl2va` model used by the T2V and I2V workflows
6. **Turbo mode (optional)**: The workflow generates at 20 steps by default; raise the step count (for example to 25) for better motion quality. Enable the **Lightning LoRA** checkbox to use the 4-step turbo LoRA (`minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16`) for much faster generation, with slightly lower audio and motion quality

#### Prompt writing guide

MiniMax publishes an official [full-reference mode prompt guide](https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/docs/VIDEO_PROMPT_WRITING_GUIDE_ref_en.md) for reference-driven generation (R2V). The guide covers the rewrite output structure, including subject definitions, reference labels, and retention analysis, and how to assign each reference a role in the target shot. MiniMax also publishes installable [H3 skills](https://github.com/MiniMax-AI/MiniMax-H3/tree/main/skills), including a prompt-writing skill that packages these guides for agent use.

## Advanced workflows with the native nodes

The native MiniMax H3 nodes support three additional workflows that landed in recent ComfyUI updates. Update ComfyUI to the latest version to use them.

### Anchoring guides at any frame (#15439)

[Comfy-Org/ComfyUI#15439](https://github.com/Comfy-Org/ComfyUI/pull/15439) added the `MiniMaxH3AddGuide` node. Before it, keyframes could only anchor at the first and last frame of the video. The node removes that restriction: a guide can anchor at any frame, on a continuous time axis.

Connect the `positive` and latent outputs of a MiniMax H3 node to `MiniMaxH3AddGuide`, then provide at least one guide input:

* **image**: A still image or a clip. Multi-frame batches are anchored as a clip and cropped down to the model's valid clip lengths: 5, 22, 39... frames (17k+5). Batches shorter than 5 frames use only the first image
* **audio**: A soundtrack anchored at the same frame index, cropped to the video's remaining duration
* **frame\_idx**: The frame to anchor at. Negative values count from the end of the video

Connect the video VAE to `vae` when you provide an image, and the audio VAE to `audio_vae` when you provide audio. Chain several `MiniMaxH3AddGuide` nodes to anchor guides at multiple frames.

For example, feed the first 22 frames of an existing video plus its audio into a `MiniMaxH3AddGuide` at frame 0, and the model generates the continuation of both streams. Or place a still image at frame 60 of a 124-frame video to force the video to pass through that frame.

First/last-frame anchoring produces the same coordinates as before, so existing workflows keep working unchanged.

### Using prompt embeddings (#15697)

[Comfy-Org/ComfyUI#15697](https://github.com/Comfy-Org/ComfyUI/pull/15697) added support for prompt embeddings in MiniMax H3. You can now use ComfyUI's standard `embedding:` syntax in H3 prompts.

Place an embedding file in `ComfyUI/models/embeddings/` and reference it in the prompt by name, for example `embedding:my_embedding`. The embedding is loaded and mixed into the text conditioning just like with any other ComfyUI model.

Community-trained example embeddings are available in the [silveroxides/MiniMax-H3\_tests](https://huggingface.co/silveroxides/MiniMax-H3_tests/tree/main/embeddings) repository. The file name describes the intended effect, and the trigger word is the file name without the extension:

| Embedding                    | Effect (by name)          |
| ---------------------------- | ------------------------- |
| `minimaxh3_art_is_explosion` | Explosive art composition |
| `minimaxh3_blooming_flowers` | Flowers blooming          |
| `minimaxh3_bullet_time`      | Bullet-time effect        |
| `minimaxh3_dark_magic`       | Dark magic atmosphere     |
| `minimaxh3_fire_breath`      | Fire-breath effect        |
| `minimaxh3_four_seasons`     | Four seasons transition   |
| `minimaxh3_kiss_camera`      | Kiss scene camera move    |
| `minimaxh3_spiral_ascent`    | Spiraling ascent          |
| `minimaxh3_storm_magic`      | Storm magic               |
| `minimaxh3_truman_show`      | Truman Show style         |

### Inpainting and extension with latent noise masks (#15375)

[Comfy-Org/ComfyUI#15375](https://github.com/Comfy-Org/ComfyUI/pull/15375) added per-token noise masks for MiniMax H3, covering both the video and audio latents. You can now regenerate only part of a video while keeping the rest fixed.

Connect a mask to the sampler's `denoise_mask` input as usual: a value of `0` preserves the corresponding latent region, while `1` regenerates it. Video masks snap to the model's 2x2 latent patch grid, and audio masks to whole latent frames. Use it for local inpainting, object removal, or extending a clip while keeping the existing content stable.

## Speeding up generation with Sage Attention

The example workflows use the standard attention implementation. You can roughly double the generation speed with [Sage Attention](https://github.com/woct0rdho/SageAttention), with minimal quality loss. Sage Attention is an optional dependency, so you need to install it yourself:

1. Install the `sageattention` Python package. Download the wheel that matches your PyTorch and CUDA versions from the [SageAttention releases](https://github.com/woct0rdho/SageAttention/releases) page, then install it with `pip install <wheel-file>`.
2. Install the [KJNodes custom nodes](https://github.com/kijai/ComfyUI-KJNodes), which provide the `Patch Sage Attention KJ` node. Use the ComfyUI Manager, or clone the repository into `ComfyUI/custom_nodes/` and restart ComfyUI.
3. Add a `Patch Sage Attention KJ` node to the workflow and connect it between the `UNETLoader` and the `BasicGuider` node: its `model` input receives the model from the `UNETLoader`, and its `model` output feeds the `model` input of the `BasicGuider`. Set `sage_attention` to `auto`.
4. Run the workflow as usual. Only the guider needs the patch; the scheduler only generates the sigmas and can stay as is.

Notes:

* Sage Attention requires float16 or bfloat16 tensors. MiniMax H3 runs some layers in other dtypes, so you may see "Input tensors must be in dtype of torch.float16 or torch.bfloat16, using pytorch attention instead" messages in the console. These are expected; the affected layers fall back to standard attention and generation still works.
* Alternatively, you can enable Sage Attention globally by launching ComfyUI with the `--use-sage-attention` flag instead of adding the node.
