BRUT DOCS getbrut.app ↗

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.

OpenRouter is Brut's main aggregator, and fal.ai is optional. It serves the Nano Banana image family, GPT Image 2, Kling 3.0, Seedance 2.0 and Veo 3.1. When you hold both keys, GPT Image 2 and those video models run through fal, the Nano Banana models through OpenRouter. A node always says which: ⇄ runs via fal.ai.

Get a key

Create a key on the fal.ai dashboard (two parts joined by a colon; paste it whole) into ⚙ Settings → fal.ai. 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

  1. 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.
  2. Routing is always visible. The node chip, the paid-run confirm, and the spend ledger all say "via fal.ai". Nothing routes silently.
  3. Honest prices only. Estimates for routed runs use fal's own list prices where known, and show none at all otherwise — never the native provider's numbers. Image prices are fal's list prices (Nano Banana about the same as on Google, GPT Image 2 by size and quality). Expect a margin over the direct API elsewhere (Seedance via fal is roughly 2× the native BytePlus rate; video rates aren't measured yet).

What the routes can and can't do

If a setting isn't available on fal, the run stops with a message instead of ignoring it. Current limits worth knowing:

Results are saved to your project, survive a restart, and appear in the spend ledger.