Nodes/arkennemasis - ChatGPT / Codex / fal AI nodes/arkennemasis fal · MiniMax H3 Max Turbo Image to Video · $0.025-0.08/s
ComfyUI Node

arkennemasis fal · MiniMax H3 Max Turbo Image to Video · $0.025-0.08/s

Hand it one frame, get 15 seconds and a soundtrack

By Hishamahmer·Created 3 months ago·Updated 9 days ago· 11
arkennemasis fal · MiniMax H3 Max Turbo Image to Video · $0.025-0.08/s
  • target_audio
  • image
  • end_image
  • video
  • video_path
  • timings
  • expanded_prompt
  • info
◄prompt►
◄duration5►
◄resolution768P►
◄seed-1►
◄enable_safety_checkertrue►
◄prompt_expansion_modebalanced►
◄max_cost_usd20.0►
◄reuse_identical_runtrue►
◄extra_json►
◄max_concurrent1►

MiniMax H3 was the open-weight video release everyone lost their mind over in August 2026 - 33B, native audio, arena-topping. This node is not that. It is fal's hosted H3 Max Turbo, a post-trained variant tuned for prompt adherence and better aesthetics, running on fal's own inference stack. You bring a picture, you get a clip with sound. You never download 42 GB of weights, and you never have to think about the H3 community licence that excludes the US, EU, UK and South Korea from running the local weights.

That's the actual reason to reach for it. Local H3 exists, and if you're in a licensed territory with a big card, great. Everyone else is calling it, and this is the node that calls it.

What it does, mechanically

Like every fal node in this pack, it's a thin, opinionated wrapper. On Run it reads FAL_KEY from your install's .env, validates the inputs, estimates the cost and stops if it's over your max_cost_usd, uploads your pictures and audio to fal's CDN (free), then submits - that submit is the one billed call - polls while showing status, and downloads the result into output/fal/minimax_h3-max-turbo_image-to-video/. Nothing reaches fal until every free check has passed, so a missing key or a bad input costs you nothing.

A 1080P run on this node isn't a fresh 1080p generation: the tooltip says it's latent refinement from a native 768P source. You're paying 3x the 480p rate for an upscale pass over a 768p base.

The inputs a beginner actually sets

image is optional on the node, and that's the interesting part. Wire a picture and it's the first frame - the output canvas follows it. Leave it empty and the tooltip says the request is handled as text-to-video, 16:9 by default. That's also why there's no aspect_ratio widget here; the picture decides the shape. end_image is the optional last frame, and it works alone if you want to land on a specific still.

resolution (480P / 768P / 1080P, default 768P) and duration (5–15 seconds) are your money dials: the node bills per second of output, so a 15-second 1080p take is roughly twelve times a 5-second 480p one. prompt_expansion_mode is the one people miss - balanced spends about a second rewriting your prompt, quality can spend up to 30 seconds on a richer one, disabled skips it. Whatever it decides is returned on the expanded_prompt output, which is the fastest way to understand why you got the video you got.

target_audio deserves a sentence: H3 always generates a soundtrack and can't be asked for silence, so if you have a voice-over or a music bed you care about, pin it here (at least 2s, max 15MB) and it replaces the model's audio, padded with silence if it's shorter.

Then the housekeeping four: max_cost_usd (default $20, 0 disables), reuse_identical_run, extra_json for any fal field the node has no box for, and max_concurrent (default 1 = one paid fal call at a time across the whole run).

Outputs: video (a VIDEO, wire it into Save Video or the pack's video utilities), video_path, timings, expanded_prompt, and info - a JSON blob with the request id, the cost estimate, the saved files and fal's full answer. If you're logging runs, keep info.

Install

ComfyUI Manager → search arkennemasis, or:

cd ComfyUI/custom_nodes
git clone https://github.com/Hishamahmer/comfyui-arkennemasis
pip install httpx

Then put your fal key in the .env in the folder holding run_nvidia_gpu.bat:

FAL_KEY=your-key-from-fal.ai/dashboard/keys

Restart ComfyUI. There is deliberately no key box on the node - a typed key would end up baked into every workflow JSON and every shared PNG.

Where people get burned

  • No FAL_KEY and the node tells you so and stops. It doesn't fail cryptically and it doesn't bill.
  • "I changed the seed and got the same video." That's reuse_identical_run defaulting to true: same settings plus the same input files means it hands back the files you already paid for, even after a restart. Turn it off when you want a genuinely new take.
  • A canvas full of fal nodes crawls. max_concurrent defaults to 1, so paid calls queue one after another. Raise it on the nodes you want side by side. Also worth knowing: once one fal node fails, the ones still waiting never start, so a failure can't quietly keep spending.
  • You restarted ComfyUI mid-wait. The job kept running on fal. Every submit is logged in output/fal/_requests.jsonl with its request id - grab it and use fal Recover Result (free) rather than paying for the same video twice.
  • The price badge is a rate, not your quote. The badge can't see your pictures, so it assumes a plain 1 MP image; the pre-run check measures what you actually connected.
Categoryarkennemasis/fal/Video/MiniMax

Inputs (13)

NameTypeDefaultDescription
promptSTRINGText prompt for video generation
durationINT55–15The duration of the video in seconds.
resolutionCOMBO768PThe native generation resolution, or 1080P latent refinement from a native 768P source.
seedINT-1-1–2147483647Random seed. A random seed is selected when omitted. -1 leaves it to the model.
enable_safety_checkerBOOLEANtrueIf set to true, the safety checker will be enabled.
prompt_expansion_modeSTRINGbalancedHow much effort to spend rewriting the prompt before generation. 'disabled' skips prompt expansion. 'balanced' returns in about a second. 'quality' spends up to ~30s on a richer prompt.
target_audiooptAUDIOOptional URL of an audio clip at least 2 seconds long (maximum 15 MB) to pin to the generated soundtrack. Longer clips are trimmed to the requested video duration, keeping the beginning. The original audio replaces the output soundtrack, padded with silence if shorter than the video, without changing playback speed. Exceptionally high sample rates may be resampled to 96 kHz. Accepts an HTTP(S) URL or a base64 data UR
imageoptIMAGEOptional URL of the image to use as the first frame. When provided, the output canvas follows this image. If only end_image_url is provided, the canvas follows that last frame instead. If both images are omitted, the request is handled as text-to-video (16:9 by default).
end_imageoptIMAGEOptional URL of the image to use as the last frame. It may be provided alone for end-only keyframe generation; in that case the output canvas follows this image.
max_cost_usdoptFLOAT20.00–100000Safety cap. If the estimated cost of this run is above this many US dollars the node stops BEFORE sending anything to fal. 0 = no cap.
reuse_identical_runoptBOOLEANtrueIf these exact inputs (the settings AND the same pictures/clips/audio) were already paid for and the files are still in output/fal, return them instead of paying again - also after a ComfyUI restart. Turn off for a fresh take with the same settings.
extra_jsonoptSTRINGAdvanced: a JSON object merged into the request last, for any fal field this node has no box for. Example: {"seed": 7}. Leave empty normally.
max_concurrentoptINT11–32How many paid fal calls may run at the same time in one run, across every fal node. 1 (default) = one after another. This node starts its paid part only while fewer than this many fal calls are running. Once any fal node fails, the ones still waiting are not started, so nothing more is billed.

Outputs (5)

NameTypeDescription
videoVIDEO—
video_pathSTRING—
timingsSTRING—
expanded_promptSTRING—
infoSTRINGJSON: request id, cost estimate, saved files and fal's full answer.