MiniMax H3 Simple Prompt
MiniMax H3 Simple Prompt — the 'just type it' node that builds H3's fussy prompt payload
- prompt
- text
H3 doesn't take a plain text box. It wants a structured prompt payload - text plus a mode plus a frame count plus a ratio - because one DiT needs to know whether it's doing text-to-video, image-to-video, or full reference generation before it samples. SimplePrompt is the honest name: it's the shortcut for people who just want to type a line and go, without touching the Storyboard editor or a refiner. It's the node you reach for on your first H3 render.
How it works
The node wraps your text and a handful of settings into a MINIMAX_H3_PROMPT dict: text, mode, frame_count, total_duration, ratio, and an optional negative_prompt. The frame_count is computed from total_duration at 24 fps, aligned to H3's frame-count convention. That dict is exactly the shape Conditioning and the Refiner nodes expect, so SimplePrompt is interchangeable with a Storyboard or a Refiner's output wherever a MINIMAX_H3_PROMPT is consumed.
The inputs that matter
text- the actual prompt, multiline. Your shot description, in plain English. H3 is a vision-language-conditioned model; it reads this sentence by sentence, so describing camera, subject and motion beats keyword soup.mode- dropdown:T2VA(text to video+audio, the default),I2VA(image to video+audio),FL2VA(first/last-frame anchored),L2VA(last-frame only),full_reference(driven by reference media in a PackageData node). If you plug reference media or an FL constraint into Conditioning, the mode gets overridden by what's actually connected - so don't overthink it; setT2VAand let the wiring decide.total_duration- seconds, 1–15, default 5. This is your clip length; H3's max is 15 seconds.ratio-adaptive,21:9,16:9(default),4:3,1:1,3:4,9:16. Conditioning's canvas logic will cap the actual pixel area at H3's 768×1344 limit, so tall/narrow ratios get normalized to whatever fits.negative_text(optional) - a negative prompt attached to this conditioning. Only bites if the KSampler'scfgis above 1.0.
The outputs
Two: prompt (the MINIMAX_H3_PROMPT payload, for Conditioning) and text (a plain STRING copy of the prompt, handy for display or a preview node).
Installing it
Pack-wide routine - ComfyUI Manager search "MiniMax H3", or:
cd ComfyUI/custom_nodes
git clone https://github.com/xiaolibai-sys/ComfyUI-MiniMaxH3
pip install -r requirements.txt
then restart. It's a pure text node - no models needed.
Common issues
- Duration seems ignored.
total_durationsetsframe_count, and Conditioning builds the latent from it. If you changed the widget after wiring and nothing updated, drag the value; if you're feeding a Refiner in between, the Refiner carries its own duration and may override. - Mode doesn't match what you intended. As designed - the connected FL constraint or package wins. Check Conditioning, not this node.
- Negative prompt does nothing.
cfgis at 1.0. Bump it above 1.0 in the KSampler to activate negative guidance.
The one-liner: SimplePrompt + Conditioning + KSampler + Decode AV is the smallest H3 workflow that produces sound and video, and this node is the only part of it where you actually type.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — | |
| mode | COMBO | T2VA | 5 options: T2VA, I2VA, FL2VA, L2VA, full_reference |
| total_duration | FLOAT | 5.01–15 | — |
| ratio | COMBO | 16:9 | 7 options: adaptive, 21:9, 16:9, 4:3, 1:1, 3:4, +1 |
| negative_textopt | STRING | Optional negative prompt attached to this conditioning. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| prompt | MINIMAX_H3_PROMPT | — |
| text | STRING | — |