MiniMax H3 LoRA · Text to Video
Pick Your Own Weights Without Leaving ComfyUI
- loras
- video
- task id
Most text-to-video nodes are a black box: you type a prompt and hope the base model's taste matches yours. This one takes LoRAs. If you have - or can find - weights trained for MiniMax H3, you can attach up to three by URL and steer the take yourself, on a 3-to-15 second clip with stereo sound, from $0.05 per second.
Why this node exists
MiniMax H3 landed as open weights in August 2026: a 33B omni-modal video model with native audio, the lab's first open-weights generation release, and the first open answer to the thing Veo did that nothing else could - generating dialogue, foley and room tone with the picture rather than bolting audio on afterwards. The community reaction on day zero was unusually warm for a launch. The licence was the sour note: the MiniMax H3 Community License excludes the US, EU, UK and South Korea from its Applicable Territory, which is fine if you never download the weights. This node doesn't. SpicyAPI hosts the model, so you're paying for inference instead of wrestling a 30B-plus checkpoint onto your card.
The output is a plain ComfyUI VIDEO: wire it into Save Video or anything else that takes video, and the task id string goes to support if something goes sideways.
The inputs
Required, and short:
- prompt - describe the scene, the action, the camera and the sound. The author's tooltip is specific about the last part: put the soundtrack on its own
Audio:line. H3 generates audio natively, so a prompt with no sound described tends to get generic ambience. - aspect_ratio (default 16:9), resolution (default 480p - raise it once you have a take you like), duration_seconds (5 to 15).
- seed - same settings, same result.
Optional: loras, which takes the loras output of a SpicyAPI LoRA node. That node is just a URL box plus a strength slider (0 to 4), and you can chain them to stack up to three. The URL must be a direct .safetensors link that opens without a login - a Google Drive or CivitAI page link will not do. The pack's bundled lora template wires an Apache-2.0 pixel-art H3-compatible LoRA through it if you want to see the shape of it.
Note there is no enable_prompt_expansion on this variant. If you want the model to rewrite your prompt for you, that lives on the non-LoRA H3 nodes.
Installing it
In ComfyUI Manager, search SpicyAPI and install; restart. Otherwise:
cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi
Restart ComfyUI, then open Settings > SpicyAPI and paste a key from spicyapi.ai/console/keys. Restart once more - the node list is rebuilt from your account at startup, so models added since your last launch only show up then. There is nothing else to install: the pack declares no dependencies, and it leans on the aiohttp, torch and PyAV that ComfyUI already has. On a server, set SPICY_API_KEY in the environment rather than clicking through the UI.
Practical gotchas
Every run is billed, including the ones you abandon, so set Max cost per run in Settings > SpicyAPI and let the node refuse quotes above it - it checks before creating the task. Seeds default to fixed for exactly that reason: re-queueing the same graph reuses the first result instead of quietly charging you a second time. Flip control after generate to randomize when you want a new one. And if you cancel mid-run, the job keeps going on SpicyAPI's side; it's charged if it succeeds, and the result sits in your console for up to 14 days. There is also a hard truth in the KB's API-node essay worth repeating here: prompts, reference media and results all leave your machine. That is the mechanism, not a bug - but if a model's filter would refuse your prompt, no node on this side can talk it out of it.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the scene, the action, the camera and the sound. Put the soundtrack on its own Audio: line. | |
| aspect_ratio | COMBO | 16:9 | Output aspect ratio. |
| resolution | COMBO | 480p | Output resolution. |
| duration_seconds | INT | 53–15 | Requested output length in whole seconds, from 3 to 15. |
| seed | INT | 00–2147483647 | Same seed and settings, same result. Set 'control after generate' to randomize to get a new result on every run; every run is billed. |
| lorasopt | SPICY_LORAS | Up to three LoRA weight files trained for MiniMax H3, each with its own strength. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The SpicyAPI task id, for the console logs or support. |