Nodes/arkennemasis - ChatGPT / Codex / fal AI nodes/arkennemasis fal · VEED Fabric 1.0 Fast · $0.10-0.20/s
ComfyUI Node

arkennemasis fal · VEED Fabric 1.0 Fast · $0.10-0.20/s

VEED Fabric 1.0 Fast costs more per second than the slow one. That's not a typo.

By Hishamahmer·Created 3 months ago·Updated 9 days ago· 11
arkennemasis fal · VEED Fabric 1.0 Fast · $0.10-0.20/s
  • image
  • audio
  • video
  • video_path
  • info
◄resolution720p►
◄max_cost_usd20.0►
◄reuse_identical_runtrue►
◄extra_json►
◄max_concurrent1►

Same node, same two sockets, one surprising number: the "fast" endpoint runs $0.10 per second at 480p and $0.20 at 720p, while the standard Fabric 1.0 endpoint runs $0.08 and $0.15. You are paying roughly a 25–33% premium for latency.

That's not a bug in this node - it's the endpoint's own pricing, read off fal's page. It's also not irrational: fast tiers are for iteration, where waiting 90 seconds per attempt is what actually costs you. Just don't grab this one because "fast" sounds like the cheaper default.

What it does

Image in, audio in, video out. image is the person, audio is what they say, resolution is 720p (default) or 480p, and the output length follows your audio. No prompt, no seed, no motion settings - if the result isn't right, the input photo or the voice track is what you change.

Where the standard node is for the take you're delivering, this one earns its keep while you're still auditioning headshots and voices: three test renders on a short clip at 480p is about a dollar here, and you get out of the chair faster. Switch to the standard endpoint for the final pass and save the difference, which over a long-running avatar pipeline is real money.

One number to carry over: when VEED launched Fabric, their own figures were around 88 seconds of generation for a 10-second video. Anything that cuts that is worth a premium if you're iterating.

Outputs are video, video_path and info - the last one being the JSON with the fal request id, the cost estimate, the saved files and the full response. Files land under output/fal/veed_fabric-1.0_fast/.

The pack's shared controls come along: max_cost_usd (default $20), reuse_identical_run, extra_json, and max_concurrent (1 by default).

Install

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

Or ComfyUI Manager → arkennemasis. Then, in the .env beside run_nvidia_gpu.bat:

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

Restart ComfyUI. Everything in this pack finds its key in that file and nowhere else - there's no key field on any node, on purpose, so a key can't leak into a workflow you share or a PNG with the graph embedded.

Caveats worth repeating

  • Cost is per second of audio. At $0.20/s at 720p, a two-minute narration is roughly $24 on this node versus about $18 on the standard one. Split long scripts into shots unless you want one expensive clip.
  • reuse_identical_run is on. Identical settings plus identical input files equals the files you already paid for, even after a restart. Great for reproducing a shot for free; confusing when you expected variance.
  • A max_concurrent of 1 queues every fal node in the run, and if one fails the waiting ones never start. That's the pack's guardrail against a broken graph quietly spending money.
  • If you don't have a voice track yet, this node is the wrong first stop. It needs audio in; the TTS step is a separate node upstream.
  • ComfyUI died mid-render? The job kept running on fal. The request id is in output/fal/_requests.jsonl, and fal Recover Result downloads the result for free.
Categoryarkennemasis/fal/Lip Sync/VEED

Inputs (7)

NameTypeDefaultDescription
imageIMAGE—
audioAUDIO—
resolutionCOMBO720pResolution
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.