Nodes/arkennemasis - ChatGPT / Codex / fal AI nodes/arkennemasis fal · MiniMax H3 Reference to Video · $0.05-0.16/s
ComfyUI Node

arkennemasis fal · MiniMax H3 Reference to Video · $0.05-0.16/s

12 files in, and a prompt that has to learn to count

By Hishamahmer·Created 3 months ago·Updated 9 days ago· 11
arkennemasis fal · MiniMax H3 Reference to Video · $0.05-0.16/s
  • reference_image_1
  • reference_image_2
  • reference_image_3
  • reference_image_4
  • reference_image_5
  • reference_image_6
  • reference_video_1
  • reference_video_2
  • reference_video_3
  • reference_audio_1
  • reference_audio_2
  • reference_audio_3
  • video
  • video_path
  • expanded_prompt
  • info
◄prompt►
◄duration5►
◄resolution2K►
◄seed-1►
◄enable_safety_checkertrue►
◄prompt_expansion_modebalanced►
◄aspect_ratioadaptive►
◄max_cost_usd20.0►
◄reuse_identical_runtrue►
◄extra_json►
◄max_concurrent1►

This is the interesting one in the H3 family. Instead of a first frame, you feed it a small pile of references - images for subject and style, clips for motion, audio for sound - and describe how they combine. It's the closest thing on the hosted market to "keep this person, move them like that clip, over this track," and it's where H3's unified multimodal context actually earns its keep.

It's also the fiddliest node in this pack, because the prompt has to refer to the references by number, and the numbering is decided by socket order.

How the referencing works

Each reference socket is a batch-capable one. The pack sends them in socket order, and the first picture on socket 1 is Image 1, the second is Image 2, and so on; videos are Video 1…3, audio Audio 1…3. The prompt tooltip says it plainly: refer to assets by modality and order - Image 1, Image 2, Video 1, Audio 1.

So a prompt that works looks like: "Image 1 walks through the doorway, matching the camera movement of Video 1, with Audio 1 as the room tone underneath." A prompt that gets you a mess is "make the person from the photo move like the video," because nothing tells the model which photo or which video you meant.

Limits you'll hit

You get six image sockets, three video sockets and three audio sockets, and the endpoint caps the whole set at 12 files. Reference video clips must be 2–15 seconds each with a combined duration of at most 15 seconds. Image pricing is where it gets interesting: the first five reference images are free and each additional one costs $0.08 - so a six-image reference set adds real money on top of the per-second rate. Video itself runs $0.05/s at 480p, $0.06 at 768p, $0.13 at 2K and $0.16 at 4K, with 2K as the default resolution.

Settings worth setting

resolution - 480P and 768P are native generation modes; 2K and 4K upscale a 768P base result. If your references are phone photos, 768P is honest and cheap; 2K is for delivery. aspect_ratio defaults to adaptive, which is the right choice here - it lets the references decide the shape rather than forcing 16:9 on a portrait subject. duration is 5–15 seconds, billed per second.

prompt_expansion_mode behaves slightly differently on this endpoint than on the plain ones: balanced picks per request, fast returns in about a second, quality spends up to ~30s. Since your prompt contains numbered references, a rewrite that "improves" your wording can also scramble your numbering - check the expanded_prompt output if the output ignores the wrong reference.

Then the usual safety rail: enable_safety_checker, max_cost_usd (default $20 cap), reuse_identical_run, extra_json, max_concurrent (1 by default).

Outputs: video, video_path, expanded_prompt, info.

Install

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

Manager users: search arkennemasis. Key goes in the .env beside run_nvidia_gpu.bat:

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

Restart ComfyUI when you're done. No key box on the node - deliberate, so a key can never be baked into a workflow you share.

Real gotchas

  • Count your sockets before you write the prompt. Add a second image to socket 1 tomorrow and every number in your prompt shifts. If a prompt suddenly produces the wrong subject, this is why.
  • The 12-file ceiling is a total, not a per-modality limit. Six images + three videos + three audios is already full.
  • The 15-second combined video-reference cap catches people who wire in three 10-second clips expecting them all to be used. They won't be.
  • Extra reference images cost money. Five free, $0.08 each after that, per call - and reuse_identical_run is the thing that saves you from paying twice when you re-run the same graph.
  • Restart mid-wait? The render continues on fal. Pull the request id from output/fal/_requests.jsonl and use fal Recover Result - free, because it only downloads.
Categoryarkennemasis/fal/Video/MiniMax

Inputs (23)

NameTypeDefaultDescription
promptSTRINGText prompt for video generation. Refer to reference assets by their modality and order in the reference lists: Image 1, Image 2, Video 1, Audio 1, and so on.
durationINT55–15The duration of the video in seconds.
resolutionCOMBO2KThe resolution of the generated video. 480P and 768P are native generation modes; 2K and 4K upscale a 768P base result.
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. 'fast' returns in about a second. 'balanced' picks per request. 'quality' spends up to ~30s on a richer prompt. Empty leaves it out.
aspect_ratioCOMBOadaptiveThe aspect ratio of the generated video.
reference_image_1optIMAGEURLs of subject/style reference images, referenced in the prompt as Image 1, Image 2, and so on. Reference images, videos, and audio clips must add up to at most 12 files. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
reference_image_2optIMAGEURLs of subject/style reference images, referenced in the prompt as Image 1, Image 2, and so on. Reference images, videos, and audio clips must add up to at most 12 files. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
reference_image_3optIMAGEURLs of subject/style reference images, referenced in the prompt as Image 1, Image 2, and so on. Reference images, videos, and audio clips must add up to at most 12 files. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
reference_image_4optIMAGEURLs of subject/style reference images, referenced in the prompt as Image 1, Image 2, and so on. Reference images, videos, and audio clips must add up to at most 12 files. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
reference_image_5optIMAGEURLs of subject/style reference images, referenced in the prompt as Image 1, Image 2, and so on. Reference images, videos, and audio clips must add up to at most 12 files. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
reference_image_6optIMAGEURLs of subject/style reference images, referenced in the prompt as Image 1, Image 2, and so on. Reference images, videos, and audio clips must add up to at most 12 files. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
reference_video_1optVIDEOURLs of motion/reference video clips (2-15 seconds each, combined duration at most 15 seconds), referenced in the prompt as Video 1, Video 2, and so on. Reference images, videos, and audio clips must add up to at most 12 files. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
reference_video_2optVIDEOURLs of motion/reference video clips (2-15 seconds each, combined duration at most 15 seconds), referenced in the prompt as Video 1, Video 2, and so on. Reference images, videos, and audio clips must add up to at most 12 files. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
reference_video_3optVIDEOURLs of motion/reference video clips (2-15 seconds each, combined duration at most 15 seconds), referenced in the prompt as Video 1, Video 2, and so on. Reference images, videos, and audio clips must add up to at most 12 files. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
reference_audio_1optAUDIOURLs of reference audio clips (2-15 seconds each, combined duration at most 15 seconds), referenced in the prompt as Audio 1, Audio 2, and so on. Images, videos, and audio can be provided individually or together. Reference images, videos, and audio clips must add up to at most 12 files. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
reference_audio_2optAUDIOURLs of reference audio clips (2-15 seconds each, combined duration at most 15 seconds), referenced in the prompt as Audio 1, Audio 2, and so on. Images, videos, and audio can be provided individually or together. Reference images, videos, and audio clips must add up to at most 12 files. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
reference_audio_3optAUDIOURLs of reference audio clips (2-15 seconds each, combined duration at most 15 seconds), referenced in the prompt as Audio 1, Audio 2, and so on. Images, videos, and audio can be provided individually or together. Reference images, videos, and audio clips must add up to at most 12 files. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
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 (4)

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