Providers overview
Brut is bring-your-own-key. You add a key for each provider you want to use; Brut calls that provider directly, on your key, at their price. Brut never holds a key that bills anyone but you, and never marks up a token.
Adding keys
⚙ Settings on the left rail (or the setup wizard) shows every provider as a card — its role, and one status line — grouped by what it does (generation, aggregators, upscalers). Click a card to paste a key (validated on save); the switch on the card turns a provider off without deleting anything. Keys live in your OS keychain — never in a graph, never sent anywhere but the provider.
Image and video models need a billing-enabled key. Free tiers usually have zero generation quota, so your very first call fails with a quota error (429) — that's billing not enabled, not throttling. Turn on billing in the provider's console and it clears.
The providers at a glance
| Provider | Does | Key |
|---|---|---|
| Google Gemini | Images (Nano Banana) + text/planning | AI Studio API key |
| OpenAI | Images (GPT Image 2, GPT Image 2.5 Flare + Sunburst) + text/planning | platform.openai.com key |
| Kling | Video (image→video) via API packs | Kling API key (or AccessKey + SecretKey) |
| Kling (subscription) | Same models, billed to your kling.ai plan (~3× cheaper) | browser sign-in, no key |
| Google Veo | Video (image/text→video) | rides your Gemini key |
| Gemini Omni | Fast video with native audio (3–10 s, flat ≈$1 per clip: ask for 10 s) | rides your Gemini key |
| Anthropic | Text/planning only (Claude) | Anthropic API key |
| Seedance | Video with native audio — 2.5 (up to 30 s, 30 references), 2.0 (4K), and 2.0 Fast / Mini (480p and 720p, the cheapest video in Brut) | BytePlus ModelArk key |
| Seedream | Images (Seedream 5.0 Pro / Flash / Lite, from $0.018; people made from text are accepted by Seedance) | rides your Seedance key |
| Black Forest Labs | Images (FLUX 3 Image, 768 px to 4K) + FLUX Outpaint, the painter that holds your picture when Conform extends it | dashboard.bfl.ai key |
| Ideogram | Images (Ideogram 4.5 at 1K / 2K, lettering and layout) + Ideogram 4.5 Precise Edit, the edit that returns the picture at its exact size with every untouched pixel kept | ideogram.ai API key |
| Magnific | Image upscaling (creative + precision) | Magnific API key |
| Topaz Labs | Image + video upscaling (Gigapixel, Proteus/Rhea/Gaia) | Topaz API key |
| Topaz Video AI (local) | Video upscaling on your own GPU — free | no key; the desktop app's license |
| fal.ai | Route only — serves Nano Banana, GPT Image 2, Kling 3.0, Seedance 2.0 and Veo 3.1 when you hold no native key for them | fal.ai dashboard key |
| Replicate | Route only — Nano Banana Pro/2, GPT Image 2, Kling Omni, Veo 3.1 (+ end frames), Seedance (+ text-to-video) | replicate.com token |
| OpenRouter | The near-total route — all text (planning + Marcel), the image family with native knobs, and the video set (Kling/Veo/Seedance) with per-job billed cost | openrouter.ai key |
Model routes — native first, aggregator fallback
Some models can also run through an aggregator — a third-party service (like an aggregator subscription or a multi-model API) that resells the same model under its own billing. Brut treats those as routes, with three hard rules:
- Your direct key always wins. If you hold the native provider's key, the generation goes straight to the provider, exactly as before. Routes only activate for a model when you have no native key but do hold the aggregator's credential.
- Routing is always visible. A routed model shows a ⇄ runs via … chip on the node, the run confirm says who bills, and the ledger records it. Nothing routes silently.
- The catalog stays curated. An aggregator credential never adds models to Brut — the model list is exactly the one Brut ships, whatever route serves it. Estimates for routed runs come from the route's own measured price, or are absent; aggregators typically charge a margin over the direct API, and the node says so.

Text models route too: with an OpenRouter key the planning models — Refine, the Multi-Shot planner, the cinema crew, Text→Text — run at pass-through token rates when no native text key exists. Marcel routes through OpenRouter too — chat, ambient narration and acting, with Anthropic prompt caching passing through, so one OpenRouter key is a complete text seat.
Deciding between direct keys and an aggregator? The full pros/cons and a feature-by-feature capability matrix live on Keys vs aggregators.
Text vs generation
Gemini, OpenAI and Anthropic double as planning models — they power the Refine node and the cinema crew, where you pick which LLM writes your treatment or shot plan. Text calls cost cents and are billed separately.
Provider errors are surfaced verbatim on the node — Brut never masks them, so what the provider says is what you see.