BRUT DOCS getbrut.app ↗

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:

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.

The two-minute setup: one OpenRouter card configured, every other card empty, most of Brut lit up
The two-minute setup: one OpenRouter card configured, every other card empty, most of Brut lit up
What you give up: GPT Image sizing (about 1K only), Kling 4K and the Omni / Turbo / 2.6 tiers, Seedance 2.5's 1080p and reference images, Smart Length, Gemini Omni Flash, native inpaint masks (approximate ones work), and the upscalers. Prices are pass-through list rates for text and images; video carries a modest margin.

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.