fal.ai
fal.ai is an aggregator — a usage-billed API that resells many generation models under one key. Brut uses it as a route, not a provider in its own right: it never adds a single model to the menu, it just serves models Brut already carries when you hold no native key for them.
If you keep exactly one key on this machine, a fal.ai key is the widest single door: it can serve the Nano Banana image family, GPT Image 2, Kling 3.0, Seedance 2.0, and Veo 3.1 — each visibly marked ⇄ runs via fal.ai on the node whenever the route is active.
Get a key
Create a key on the fal.ai dashboard (it's an id:secret
string) and paste it into ⚙ Settings → fal.ai (or set FAL_KEY). fal has no free generation
tier — add billing to the fal account before the first call, or the first run answers with a
provider error (shown verbatim, as always).
The three route rules
- Your direct key always wins. The moment you add a native key (Gemini, Kling, BytePlus, …), that model leaves the fal route and bills direct — usually cheaper.
- Routing is always visible. The node chip, the paid-run confirm, and the spend ledger all say "via fal.ai". Nothing routes silently.
- Honest prices only. Estimates for routed runs use fal's own list prices where pinned, and show none at all otherwise — never the native provider's numbers. Image routes are pinned from fal's model cards and cross-checked against real dashboard charges (Nano Banana $0.0398 — essentially the native rate; Nano Banana 2 $0.06–$0.16 by size; Pro $0.15/$0.30 at 4K; GPT Image 2 per size × quality, e.g. square_hd high $0.211, square low $0.0053 measured). Expect a margin over the direct API elsewhere (Seedance via fal is roughly 2× the native BytePlus rate; video rates unpinned).
What the routes can and can't do
A route carries exactly the knobs fal's endpoint declares — anything else fails loudly instead of being quietly dropped. Current limits worth knowing:
- Veo via fal takes no end frame — unwire it or add your Gemini/Veo key.
- Inpaint masks route APPROXIMATELY on the Nano Banana models — the same convention as Gemini native (the painted region is strong guidance, not a hard guarantee; verified live). GPT Image 2 masks don't route — exact masking needs your OpenAI key.
- GPT Image 2 uses fal's own size presets (square, landscape 4:3/16:9, portrait, auto) — the node's Size menu shows exactly those instead of Brut's aspect + 1K/2K/4K pair. No silent mapping: the menu is the contract.
- Nano Banana (original) renders 1K only via fal; pick 2K/4K models or add your Gemini key.
- Kling 3.0's 4K master tier isn't on fal — std/pro only.
- Audio on video models is always sent explicitly (fal defaults it ON and bills extra — Brut keeps your node toggle authoritative).
Generations behave like every other async provider: downloaded to your project's disk, journaled, restart-safe, priced in the ledger.