arkennemasis fal · Flux 3 Edit Video · $0.03/s
Three cents a second to change a clip you already have
- video
- video
- video_path
- seed
- info
The cheapest interesting node in this whole branch. FLUX 3 Edit Video is $0.03 per second of generated video - a tenth of what the full text-to-video endpoint costs - because it isn't generating anything from scratch. You hand it a clip and a sentence like "make it night, keep the camera move", and it re-renders the shot preserving motion, timing and framing. Same edit, same length, same camera. Just a different look.
That's a surprisingly rare capability to buy. Locally you'd be looking at video-to-video with a control signal and an afternoon of tuning; here it's one text box.
What you set
Three required fields. That's the whole node.
video- required. MP4, under 50MB, under 15 seconds. Uploaded to fal's CDN free before the billed call. Trim first; a 40-second clip isn't going to work no matter how nicely you ask.prompt- how to change the clip. Be specific about what stays the same, because that's the part you're actually paying for.safety_tolerance- 0 strictest to 4 most permissive, default 2.
Note what's missing: no resolution, no duration, no aspect_ratio, no generate_audio. The output inherits the source's shape and length, which is exactly the point - you're editing, not re-shooting. Don't look for settings that aren't there.
Optional, shared with every fal node in the pack: max_cost_usd (default $20; checked before anything leaves your machine), reuse_identical_run (on by default - the same clip and prompt come back free from disk), extra_json, max_concurrent.
Outputs: video, video_path, seed, info.
The cost, concretely
It bills by the second of the source clip, so a 12-second clip is $0.36. Compare that to $2.04 for twelve seconds of 720p text-to-video and you can see why this node is worth keeping in the toolbox even if you mostly generate fresh footage: it's the cheapest way to fix a shot that's 80% right.
The one caveat is baked into the mechanism. Because motion and timing are preserved, anything you wanted changed about the motion isn't going to happen. "Make it snow" works. "Make her turn around" doesn't, or at least not reliably - that's a re-render, not an edit.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Hishamahmer/comfyui-arkennemasis
Restart, or install through ComfyUI Manager by searching arkennemasis. Then the key:
FAL_KEY=your-key-from-fal.ai/dashboard/keys
in the .env file next to run_nvidia_gpu.bat (portable build) or in the ComfyUI folder. There's no key box on the node, deliberately - a key typed into a widget ends up inside every workflow JSON you export. And nothing is downloaded, because FLUX 3 Edit Video is an API-only early-access model; this pack wraps it rather than shipping weights it doesn't have.
Where people get burned
The 50MB/15-second limit is the one. There's no client-side length check on this node, so an over-long clip gets uploaded and then rejected - you don't pay for it, but you do wait.
Alpha and odd codecs won't survive the round trip either; feed it a clean MP4. And expect the model to reinterpret rather than obey: prompt-following on these video endpoints is good, not literal, so "change the jacket to red" may well come back as "the jacket is now red-ish and the lighting shifted slightly". Iterate on the prompt, and let reuse_identical_run spare you from paying twice for a comparison.
Results go to output/fal/blackforestlabs_flux-3_edit-video/; the request log lives in output/fal/_requests.jsonl.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | The text prompt describing how to change the input video. The clip is re-rendered preserving motion, timing, and framing. | |
| safety_tolerance | INT | 20–4 | The safety tolerance level for the generated video. 0 is the strictest and 4 is the most permissive. |
| video | VIDEO | URL of the input video. MP4, under 50 MB and under 15 seconds. | |
| max_cost_usdopt | FLOAT | 20.00–100000 | Safety 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_runopt | BOOLEAN | true | If 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_jsonopt | STRING | Advanced: 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_concurrentopt | INT | 11–32 | How 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)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| video_path | STRING | — |
| seed | INT | — |
| info | STRING | JSON: request id, cost estimate, saved files and fal's full answer. |