Nodes/arkennemasis - ChatGPT / Codex / fal AI nodes/arkennemasis fal · MiniMax Video 01 Image to Video · $0.5/run
ComfyUI Node

arkennemasis fal · MiniMax Video 01 Image to Video · $0.5/run

Fifty cents to make your still move

By Hishamahmer·Created 3 months ago·Updated 9 days ago· 11
arkennemasis fal · MiniMax Video 01 Image to Video · $0.5/run
  • image
  • video
  • video_path
  • info
◄prompt►
◄prompt_optimizertrue►
◄max_cost_usd20.0►
◄reuse_identical_runtrue►
◄extra_json►
◄max_concurrent1►

The plain image-to-video node: one still in, one short clip out, $0.50. No camera vocabulary (that's the Director variant), no reference-image identity stuff (that's Subject Reference) - just "make this picture move."

That sounds thin, and for a lot of workflows it is the whole job. Text-to-video puts two hard problems in one call: getting a good composition and getting believable motion. Splitting them is how people actually work now - the frame pipeline in the KB is closed-model stills animated by a video model, and this is the paid end of exactly that. You get the composition you want first, for pennies, then pay to animate it.

When this is the right call and when it isn't

Right call: your still is already good, motion is small and physical (hair, steam, a hand, a slow turn), and you want it done in one click rather than in a 30-minute local render.

Wrong call: you need several shots of the same character, or the shot needs a specific camera move, or you want to iterate on motion cheaply. Same character → Subject Reference. Specific camera → the Director variant. Cheap iteration → a local model.

Worth knowing in passing: Hailuo is one of the closed services the subreddit periodically asks people to stop posting clips from - the whole "this isn't your model" argument. Inside your own graph the objection mostly evaporates, but the closed-ness doesn't. Your picture and prompt go to fal and then to MiniMax.

Inputs and outputs, without the fluff

Three boxes: image (the first frame - one image, not a batch; the pack rejects a batch before uploading anything, so a batched LoadImage needs splitting first), prompt (what happens in the shot), and prompt_optimizer, on by default, which lets the model rewrite your prompt. If your prompt seems to be ignored, that checkbox is why.

Out: video (ComfyUI VIDEO - into a save node, a lip-sync node, the pack's dub or assembly nodes), video_path (the file under output/fal/fal-ai_minimax_video-01_image-to-video/), and info (JSON: request id, estimate, saved files, fal's raw answer).

There's no seed and no duration box. What you get is one clip of the endpoint's fixed length, shaped by your first frame.

Install

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

Restart ComfyUI, or search arkennemasis in ComfyUI-Manager and install from the registry entry. requirements.txt contains httpx and nothing else - that's for the pack's Codex nodes; the fal nodes use Python's standard library, so you're not inheriting a dependency tree.

Key goes in the .env beside run_nvidia_gpu.bat:

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

You'll never find a key field on these nodes. A widget value is saved verbatim into workflow JSON, and the pack's authors clearly didn't want to be the reason your key showed up in a shared canvas.

Cost control is built in, use it

max_cost_usd (default $20, 0 = off) stops a run before upload when the estimate exceeds it - so a fat-fingered batch of paid nodes can't quietly empty an account. max_concurrent (default 1) throttles how many paid fal calls run at once across the whole run: leave it at 1 for a handful of nodes, raise it toward 32 when you deliberately want a grid of clips in parallel. reuse_identical_run (default true) returns files you've already paid for when the inputs are byte-identical and the output is still on disk - including after a restart. And output/fal/_requests.jsonl is your ledger of every submit, which is what you paste into fal Recover Result if ComfyUI died mid-job.

Where people get burned

  • "It's ignoring my prompt." prompt_optimizer. Turn it off.
  • The clip is a different shape than you hoped. The first frame decides.
  • You fed it four images. One per call, checked pre-flight.
  • You got the same clip twice. That's reuse_identical_run earning its keep, not a bug. Turn it off for a fresh take.
  • You asked for a 10-second shot. There's no length widget; the endpoint serves its own fixed length and that's your clip.
Categoryarkennemasis/fal/Video/MiniMax

Inputs (7)

NameTypeDefaultDescription
promptSTRING—
imageIMAGEURL of the image to use as the first frame
prompt_optimizerBOOLEANtrueWhether to use the model's prompt optimizer
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 (3)

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