MiniMax H3 Singularity LoRA · Reference to Video
Nine Images, Three Clips, Three LoRAs
- reference_image_urls
- reference_video_urls
- reference_audio_urls
- loras
- video
- task id
This is the everything-node of the H3 family: a community fine-tune of MiniMax H3, up to nine reference images, three reference clips and three reference audio files, plus up to three LoRAs of your own, producing one 3-to-15 second shot at 480p to 1080p in seven aspect ratios with stereo sound. From about $0.06 per second.
When this is the right node
Reach for it when a shot has ingredients rather than a subject. A character from here, a jacket from there, a location from a third image, a movement from a reference clip, and a music bed from an audio file - that is the shape of work this node exists for. The KB's character-consistency writing is clear that identity preservation is the unsolved problem everyone hits, and that the 2026 answer has been to feed the model what you want kept instead of hoping a prompt pins it down. This is that answer with a fine-tune's bias on top and LoRA control underneath.
The hosting arrangement matters here: H3's open weights carry a licence excluding the US, EU, UK and Korea from its Applicable Territory, which is a problem for downloading and running the checkpoint. It isn't a problem for this node, because the model runs on SpicyAPI's servers and you only ever receive the result.
How it runs
Inputs come from the model's published schema, so the node exposes exactly the API's parameters - no invented sliders. Under the hood: upload the connected media, request a quote, create the task with an idempotency key (which is what stops a retried request becoming two charges), poll with progress printed on the node, download the MP4, hand you a VIDEO. Media uploads are hashed per account and reused for 12 hours, so re-running with a tweaked prompt doesn't re-upload your reference set.
Inputs and outputs
Required:
- prompt - refer to references by number and describe the shot, sound included. The author's tooltip is doing real work there: numbered references plus a described soundtrack is how this model expects to be steered.
- aspect_ratio (default 16:9), resolution (default 480p, up to 1080p), duration_seconds (3 to 15, default 5), seed.
Optional:
- reference_image_urls - autogrow sockets, one per connected image, up to nine. Each one adds a per-reference charge.
- reference_video_urls - up to three clips, 15 seconds in total, billed like output seconds. This is the expensive group; a reference clip costs the same per second as the video you asked for.
- reference_audio_urls - up to three clips, per-reference charge each.
- loras - from a SpicyAPI LoRA node (direct
.safetensorsURL + strength 0–4, chainable). Up to three.
Outputs: video, plus task id for support.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi
Restart, then Settings > SpicyAPI and paste a key from spicyapi.ai/console/keys. Restart once more - the node menu is rebuilt from your account catalogue at startup. ComfyUI Manager users can search SpicyAPI and install from there. Zero dependencies; it borrows ComfyUI's own aiohttp, torch and PyAV. On a shared or remote box, set SPICY_API_KEY rather than typing the key into a browser session.
The cost conversation you should have with yourself
Do the arithmetic before the first queue. Output seconds, plus reference video seconds at the same rate, plus a per-reference charge for every image and audio clip, times a 1080p multiplier, times however many takes you need. This is the node where a "just one more try" habit gets pricey. Set Max cost per run in Settings > SpicyAPI and the node will refuse a quote above it before creating the task - that is your seatbelt, and it's calibrated for exactly this. Seeds arrive set to fixed so re-queueing reuses the previous result instead of buying a second one; flip control after generate to randomize when you want variety. And if you cancel, the job keeps running server-side, bills on success, and sits in your console for up to 14 days.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Refer to the references by number and describe the shot they should produce, including the sound. | |
| 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. |
| reference_image_urlsopt | COMFY_AUTOGROW_V3 | Reference images, up to nine. Each one adds a per-reference charge. | |
| reference_video_urlsopt | COMFY_AUTOGROW_V3 | Reference videos, up to three and 15 seconds in total. Their seconds are billed like output seconds. | |
| reference_audio_urlsopt | COMFY_AUTOGROW_V3 | Reference audio clips, up to three. Each one adds a per-reference charge. | |
| 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. |