Direct keys or aggregators? — choosing your access path
Brut is bring-your-own-key at heart: the cheapest, highest-fidelity way to run it is a handful of native provider keys, and nothing Brut does ever adds a markup to them. But not everyone wants to open four provider consoles — so Brut also speaks to aggregators, as routes: your aggregator credential serves models you have no native key for, visibly, at the aggregator's own prices. This page is the honest comparison.
The trade-off in one table
| Native keys | Aggregator key(s) | |
|---|---|---|
| Setup | ~5 min per provider console (billing on) | One key (OpenRouter covers nearly everything; fal/Replicate optional) |
| Price | Cheapest — provider list rates, zero middlemen | List rates + the aggregator's margin or fee (Seedance via fal ≈2× native; OpenRouter ≈ list + ~5.5% credit fee) |
| Fidelity | Every knob every model has | Most knobs; a missing one stops with a clear message, never silently |
| Priority | Always wins when the key exists | Used only where no native key exists |
Whatever you pick, routing is never silent: routed nodes show ⇄ runs via …, the paid-run confirm says who bills, and the spend ledger records it per generation.
How much of Brut works with what
| Brut surface | Native keys | + OpenRouter | + fal.ai | + Replicate |
|---|---|---|---|---|
| Nano Banana images¹ | ✓ Gemini | ✓ all 4 incl. Lite, native menus | ✓ all 3 | ✓ Pro + 2 |
| GPT Image 2 | ✓ OpenAI | ✓ no sizing | ✓ fal presets | ✓ via aspect menu |
| GPT Image 2.5 Flare / Sunburst | ✓ OpenAI (quality up to max) | ✓ full quality menu, ~1K, no mask | ✗ | ✗ |
| Seedream 5.0 Pro / Flash / Lite | ✓ BytePlus key (1K / 1.5K / 2K; Lite 2K / 3K / 4K, exact sizes) | ✓ 1K / 2K (Lite 2K / 4K), listing prices | ✗ | ✗ |
| Ideogram 4.5 / Precise Edit | ✓ Ideogram key (1K / 2K; edits at the picture's own size, real masks) | ✗ | ✗ | ✗ |
| Inpaint masks | ✓ native masks (OpenAI) · ≈ Gemini | ≈ approximate | ≈ approximate | ≈ approximate |
| Kling 3.0 / O1 / Turbo / 2.6 | ✓ key or sub | ✓ 3.0 std/pro + O1 (5/10 s) | ✓ 3.0 std/pro | ✓ Omni |
| Seedance 2.5 | ✓ BytePlus (4–30 s, 30 refs, 1080p) | ✓ image→video + text→video (≤720p, frames, no refs) | ✗ | ✗ |
| Seedance 2.0 | ✓ BytePlus | ✓ image→video + text→video | ✓ image→video | ✓ ≤720p |
| Seedance 2.0 Fast / Mini | ✓ BytePlus (480p / 720p, 4–15 s) | ✓ image→video + text→video | ✗ | ✗ |
| Gemini Omni Flash | ✓ Gemini key (3–10 s, flat ≈$1/clip) | ✗ | ✗ | ✗ |
| Veo 3.1 / Fast / Lite | ✓ Gemini key | ✓ + end frames, incl. Lite | ✓ 3.1 + Fast | ✓ + end frames |
| Planning agents² | ✓ | ✓ vision + dial | ✗ | ✗ |
| Marcel | ✓ | ✓ full, cached | ✗ | ✗ |
| Upscalers | ✓ keys / free local Topaz | ✗ | ✗ | ✗ |
| Free & local nodes | ✓ | ✓ | ✓ | ✓ |
¹ Nano Banana Pro / 2 / original — everywhere images are made: Text→Image, Image→Image, Compose, Multi-Shot tiles, storyboard keyframes. ² Refine, the Multi-Shot planner, the cinema crew, Text→Text — all 23 text models; planning routes through OpenRouter only. "Free & local" = Sequence, Conform, the boards, the library, Storyboard editing.
Which path should you pick?
Three setups cover almost everyone. Pick by what you care about most:
1. Native keys — pick this if you care about price and control
Gemini + OpenAI + one video provider (+ Anthropic for Marcel's best brain). This is what Brut is built around, and it wins on every axis except setup time:
- Cheapest per generation, structurally. You pay each provider's list rate, full stop — no reseller margin, no credit fee. At studio volume (hundreds of images, dozens of clips a week) the difference is real money.
- Every knob of every model: native inpaint masks (OpenAI), Kling's 4K master tier, Seedance Smart Length, native 4K rates — none of which any aggregator carries.
- The cost: ~5 minutes per provider console, each with billing enabled.
2. One OpenRouter key — pick this if you care about simplicity
The 2-minute setup, and a genuinely complete studio: images with Brut's own size/aspect menus (all four Nano Bananas), GPT Image 2 and 2.5 at about 1K, the video set (Kling 3.0 std/pro and O1, Veo 3.1/Fast/Lite with end frames, Seedance 2.0 and 2.5), every planning model, and Marcel — chat, ambient narration and acting, with Anthropic prompt caching passing through so long conversations cost the same as on a native key. A unique honesty bonus: OpenRouter reports the exact billed cost of every job, and Brut writes it straight onto your ledger.

3. OpenRouter + fal.ai: a second door, for narrower cases
Two keys instead of one. OpenRouter stays the main door for text, Marcel and the Nano Banana images (its native menus win there). With a fal key as well, GPT Image 2 (with fal's own size presets), Kling 3.0, Veo 3.1 and 3.1 Fast and Seedance 2.0 run through fal instead; the node's ⇄ chip always says which service runs it. Most people don't need it: start with OpenRouter alone.
The pattern to remember
Keys you add later always take over their models automatically. Start with OpenRouter today, add native keys whenever one provider starts costing real money — nothing to reconfigure, the routes just step aside.
Also supported, for narrower cases: a Replicate token (a redundancy door covering roughly what fal covers, including Veo end frames). It works, but it isn't where we'd start.