arkennemasis fal · Flux Video Upscale · $0.14-0.79/s
14 cents a second vs SeedVR2 on your own GPU
- video
- video
- video_path
- info
Video upscaling is one of the few jobs where local is genuinely competitive. upscaling.md has the ladder: SeedVR2 beats FlashVSR on heavy upscales, NVIDIA's RTX VSR is real-time but closer to Lanczos than to a diffusion model, and the KB's own summary of the community is that the RTX path is what one node author replaced a Topaz subscription with. So why pay?
ArkFal_blackforestlabs_flux_video_upscale is the hosted answer, and the honest pitch is convenience plus a mode the local tools don't have: a precise, source-faithful pass and a creative detail-enhancement pass, from the same node, at up to 4K. $0.14–0.79 per second of output video, billed on the delivered output only.
The price grid, which is the whole decision
| Mode | 1080p | 2K | 4K | |---|---|---|---| | precise | $0.14/s | $0.25/s | $0.55/s | | creative | $0.20/s | $0.35/s | $0.79/s |
A 10-second 1080p clip is $1.40 in precise mode, $2.00 creative. Because it bills the output, and you set the scaling factor, the priciest single setting is the one that pushes you into the 4K tier - so check what upscale_factor is going to produce before you run.
What you set
video- required. MP4, at most 20 seconds and 50MB. Uploaded free, then billed.creativity- defaults to1, which is creative mode. That's the more expensive of the two and it rewrites detail rather than preserving it. If you're upscaling a clip you already like and just want more pixels, set it to0for the source-faithful upscale. This is the single most useful thing on the node and the default points the wrong way for that job.upscale_factor- default 2. The source aspect ratio is preserved, so this multiplies both dimensions. This is what decides which price tier you land in.prompt- optional, and only meaningful in creative mode, where it guides what kind of detail gets invented. Leave it empty for precise.safety_tolerance- moderation strictness, default 2. Lower is stricter.
Optional shared controls: max_cost_usd (default $20, checked before upload), reuse_identical_run (on by default), extra_json, max_concurrent.
Outputs: video and video_path - no seed, no draft cache. It's a finisher.
When to call it, when to stay home
Call it when the clip came from a paid model and you want one more tier without a local restoration stack: 4K at $0.55/s is cheaper than the hours you'd spend tuning SeedVR2 for the same clip. Stay home when you're upscaling a lot of footage - 10 seconds here is a dollar and change, and a batch of twenty clips is a bill.
There's a fair argument that the sweet spot is creative at 1080p for compressed, soft sources: $0.20/s is where the model's ability to add plausible texture earns its money, and 1080p keeps you out of the expensive tier.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Hishamahmer/comfyui-arkennemasis
Restart after that, or use ComfyUI Manager and search arkennemasis. Then:
FAL_KEY=your-key-from-fal.ai/dashboard/keys
in the .env next to run_nvidia_gpu.bat (or in your ComfyUI folder on a normal install). No key input on the node, on purpose - workflow files store widget values verbatim, and a key in a widget is a key in every file you share. No model downloads; the upscaler runs on fal.
Two warnings
The live price badge on the title is computed at the 4K rate - the tag reads "$0.14-0.79/s" and the badge label says as much. The real figure depends on your factor and mode, so treat the badge as a ceiling, not a quote.
And the clip leaves your machine. For a client's raw footage, that's a decision, not a detail. Everything before the submit is free - bad inputs and a too-tight cap fail without billing you - and once a result is on disk, reuse_identical_run means re-running the same graph costs nothing.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| video | VIDEO | URL of the MP4 video to upscale. The video must be at most 20 seconds and 50 MB. | |
| upscale_factor | FLOAT | 2.001.5–3 | Output scaling factor. The source aspect ratio is preserved. |
| creativity | COMBO | 1 | Use 0 for a source-faithful upscale or 1 for creative detail enhancement. |
| prompt | STRING | Optional description used to guide creative detail enhancement. Empty leaves it out. | |
| safety_tolerance | INT | 20–4 | Moderation strictness. Lower values are stricter. |
| 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 (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| video_path | STRING | — |
| info | STRING | JSON: request id, cost estimate, saved files and fal's full answer. |