Nodes/arkennemasis - ChatGPT / Codex / fal AI nodes/arkennemasis fal · Flux 3 Image to Video Draft · $0.06/s
ComfyUI Node

arkennemasis fal · Flux 3 Image to Video Draft · $0.06/s

Try three animations of the same photo for the price of one

By Hishamahmer·Created 3 months ago·Updated 9 days ago· 11
arkennemasis fal · Flux 3 Image to Video Draft · $0.06/s
  • image
  • video
  • video_path
  • draft_cache_path
  • info
◄prompt►
◄aspect_ratioauto►
◄durationauto►
◄generate_audiotrue►
◄safety_tolerance2►
◄max_cost_usd20.0►
◄reuse_identical_runtrue►
◄extra_json►
◄max_concurrent1►

Here's the honest economics of paid video. A full 1080p render of a 10-second shot is $2.90. If you want to see three different prompts on the same still - and you do, because you never know which phrasing gives you the motion you meant - that's $8.70 of guessing. At $0.06 per second for a draft, the same three experiments cost $1.80 and you only finish the one that worked.

ArkFal_blackforestlabs_flux_3_image_to_video_draft animates a still at draft quality and returns a reusable draft cache, which is what makes the finish cheap in the other sense too: draft_enhance re-renders that draft at full quality rather than re-rolling. Same seed, same motion. You're not buying a lottery ticket, you're buying a decision.

What you set

  • image - required. The opening keyframe. PNG, JPEG or WebP; uploaded to fal's CDN for free.
  • prompt - the motion. The same prompt you'd use on the full node, since the enhance preserves what the draft decided.
  • duration - whole seconds from 5 through 20, or auto. It's the cost dial; drafts bill by the second.
  • generate_audio - on by default, and included at no extra cost, so use it to check whether a line of dialogue lands before you pay full price for it.
  • aspect_ratio - auto by default.
  • safety_tolerance - 0 to 4, default 2.

No resolution box. Drafts are 720p-class, which is precisely why they're a fifth of the price.

Shared fal controls, all optional: max_cost_usd (default $20, enforced before anything is uploaded), reuse_identical_run (on - rerunning an identical graph returns the saved result free rather than billing again), extra_json, max_concurrent (1 by default, so paid calls go one at a time unless you raise it).

Outputs: video, video_path, draft_cache_path, info.

Get the handoff right

The draft saves the encrypted bundle to disk as draft_cache_path - a local path. The enhance node's draft_cache_url expects a URL or data URI, and it passes that string to fal untouched. Wire the path across and it will not work; fal can't fetch your output folder.

The URL is in the draft node's info output, under fal's full answer, and it's also logged to output/fal/_requests.jsonl. Copy it into the enhance node by hand, and keep the draft's info until the finished clip is on disk.

Install

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

Restart ComfyUI afterwards, or let ComfyUI Manager do it (search arkennemasis). Then, once:

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

in the .env file that lives beside run_nvidia_gpu.bat on a portable build, or in the ComfyUI folder otherwise. No key box on the node, deliberately - a key typed into a widget is saved into every workflow file you share. No model downloads either; the entire point of this node is that fal runs FLUX 3 for you.

Notes before you start

The node checks every input, computes the cost and compares it against max_cost_usd before it uploads a single byte - so a bad prompt length, a broken image socket or a too-tight cap fails free. Only the submit itself is billed.

Results are saved in output/fal/blackforestlabs_flux-3_image-to-video_draft/, and the node shows the clip on itself when it's done. If your ComfyUI restarts while a draft is in flight, the render continues on fal: fal Recover Result collects it by request id at no extra cost.

Categoryarkennemasis/fal/Video/Flux

Inputs (10)

NameTypeDefaultDescription
promptSTRINGThe text prompt describing the draft video.
aspect_ratioCOMBOautoAspect ratio of the generated draft. `auto` lets the model choose.
durationCOMBOautoDraft duration in whole seconds from 5 through 20, or `auto`.
generate_audioBOOLEANtrueWhether to generate audio for the draft video.
safety_toleranceINT20–4The safety tolerance level for the generated video. 0 is the strictest and 4 is the most permissive.
imageIMAGEURL or data URI of the opening keyframe 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 (4)

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