Nodes/SpicyAPI/MiniMax H3 · Image to Video
ComfyUI Node

MiniMax H3 · Image to Video

The audio-native model, at two and a half cents a second

By spicyapi-ai·Created 21 days ago·Updated 2 days ago· 2
MiniMax H3 · Image to Video
  • image_url
  • last_image_url
  • video
  • task id
◄prompt►
◄resolution768p►
◄duration_seconds5►
◄enable_prompt_expansionfalse►
◄seed0►

Why H3 is the interesting one

MiniMax H3 is the 33B omni-modal video model that dropped in August 2026: text, images, video and audio treated as one input context, generating clips with native stereo sound rather than bolting an audio pass onto a silent generator. It took the top slot in the Artificial Analysis video-editing-with-audio arena in its launch window and top-three places in text-to-video and image-to-video, and the day-one reaction was unusually unqualified - ComfyUI's own lead confirmed same-day support off early weight access.

The wrinkle, and it's a strange one: the open weights are licence-locked out of the US, EU, UK and South Korea. The MiniMax H3 Community License scopes its entire grant to an "Applicable Territory" that excludes those four regions, and the exclusion reaches the outputs, not just the files. That's a heavier restriction than the revenue caps the other open models shipped with that year. MiniMax's own hosted service was never geofenced, and this node is a hosted endpoint - which is the whole reason it's worth explaining here rather than in a disclaimer. If you live in one of those regions and want H3, an API is the licensed path; the download isn't.

How it runs

The node posts your request to SpicyAPI, quotes it first, submits, polls while printing progress on the tile, then downloads the finished MP4 and decodes it into an ordinary ComfyUI VIDEO - Save Video writes it. Your opening frame is re-encoded to PNG, falls back to JPEG under the 10 MiB ceiling, and is cached per account for twelve hours so a prompt change doesn't re-upload the same picture.

The inputs

  • prompt - the action, the camera and the sound. H3 generates audio with the picture, so dialogue and effects belong in the prompt, not in a second pass.
  • image_url - the opening frame.
  • resolution - 768p by default, with 480p below and 2K above. The odd number is MiniMax's, not a typo; each tier changes the per-second rate.
  • duration_seconds - 4 to 15 whole seconds, billed per second. At about $0.025 a second, a 5-second clip is around twelve cents, which makes this one of the cheapest ways in this pack to get sound with your picture.
  • enable_prompt_expansion - off by default, and read the tooltip before flipping it: turning it on adds a flat per-request prompt-expansion fee on top of the generation. It's not free convenience. Use it when a short prompt is genuinely under-specified, not as a default.
  • last_image_url - optional closing frame. Pin the end state and the model resolves to it, which is how you close a loop without generating three attempts and picking.

Outputs are video and task id. The task id names the exact request on SpicyAPI - worth keeping if a clip comes back wrong.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi

Restart ComfyUI, then Settings > SpicyAPI and paste a key from spicyapi.ai/console/keys; restart once more so the node list is rebuilt from your account. On a server, set SPICY_API_KEY - the key lives in the ComfyUI user folder, never in a workflow or an image's metadata. ComfyUI Manager users can search the pack title, SpicyAPI. No pip dependencies, no weights, no GPU; current ComfyUI (V3 node API, tested on 0.39) and Python 3.10+.

Traps

No seed on this node. H3 image-to-video doesn't expose one, so you can't reproduce a good clip or hold everything still while changing one setting. Generate two takes and keep the better one; that's the technique this node supports.

Prompt expansion is a real line item. A flat per-request fee on top of per-second billing means it costs the same on a 4-second 480p run as on a 15-second 2K one. Fine if you use it deliberately, expensive if you leave it on.

Billing mechanics are pack-wide. Max cost per run in the settings panel refuses an over-budget quote before anything is charged. Cancelling stops your wait, not the job: the task keeps running on SpicyAPI, is charged if it succeeds, and its result stays in your console for up to 14 days.

A missing model means a restart. The node list is built from your account's catalogue at ComfyUI startup, so anything newly added on the SpicyAPI side appears only after a restart - and with no key set you get the list bundled with the release instead.

Filtering follows the endpoint. H3's documented posture on explicit content is genuinely unspecified, so don't assume either way; an API node can't bypass a provider's refusal regardless, and the licence question above applies to the weights, not to this call.

CategorySpicyAPI/Video/MiniMax

Inputs (7)

NameTypeDefaultDescription
promptSTRINGDescribe what happens after the opening frame: the action, the camera, and the sound.
image_urlIMAGEAuthorised opening frame.
resolutionCOMBO768pOutput resolution.
duration_secondsINT54–15Requested output length in seconds.
enable_prompt_expansionBOOLEANfalseExpand the prompt into a fuller description before generating. Requests with it on add a flat per-request prompt-expansion fee.
seedINT00–2147483647This model takes no seed, so the number is never sent. Changing it makes ComfyUI run the node again: set 'control after generate' to randomize for a new result on every run; every run is billed.
last_image_urloptIMAGEOptional closing frame the clip should resolve to.

Outputs (2)

NameTypeDescription
videoVIDEO—
task idSTRINGThe SpicyAPI task id, for the console logs or support.