FAQ
Is Brut free?
During the beta, yes. At launch, Brut itself will be a paid tool: we sell the orchestration (the canvas, the caching that never re-bills unchanged work, the ledgers, the catalog kept current as providers churn, Marcel), never the tokens. Expect tiers with different feature sets, probably a limited free tier to see how it looks and a short trial; the exact terms are announced before launch. What never changes: generation is paid to the providers directly, on your own keys, at their price. Brut takes no cut, ever.
Where do my API keys go?
Into your OS keychain (Windows Credential Manager). They're used only for direct calls from your machine to each provider, are never written into a graph, never sent to us, and never appear in a .brutpack.
Can I cap what a project spends?
Yes — File ▾ → Project budget… sets a per-project ceiling compared against the ledger. The toolbar readout shows $spent / $budget and changes color as you approach it; paid confirmations warn past the cap (or refuse, if you tick hard cap). It's a guardrail on estimates, not accounting — the ledger stays the source of truth.
Can I turn a key off without deleting it?
Yes — every configured provider in ⚙ Settings has an on/off switch. Off = the saved key (or CLI sign-in) is ignored everywhere: the provider reads as unconfigured, and models with aggregator routes fall back to them — so you can test an OpenRouter-only setup, or bench a native key, without re-pasting anything. One tick brings it back.
Does Brut see my prompts, images or renders?
No. Everything you make stays on your disk (or your NAS). Brut has no server in the generation path. The only thing that ever leaves your machine is a tiny sign-in heartbeat — version/OS/install-id, no content.
Why do I have to sign in?
Today, to count seats during the beta. At launch, your account is also how you'll activate your plan on a machine. It's required, but it never bricks you: once you've signed in, a 30-day offline grace keeps you working through flights and outages, and if the sign-in server is unreachable a "continue for now" option appears.
Windows says "Windows protected your PC" when I run the installer.
Expected during the beta: the installer isn't code-signed yet (a paid certificate we'll buy when the beta proves out), so SmartScreen flags it as unrecognized. Click More info → Run anyway. The installer runs per-user, without admin rights.
Where is my work on disk?
Everything Brut makes — projects, outputs, library, account state — lives in %LOCALAPPDATA%\Brut as plain files (keys are the exception: OS keychain). The engine's log is at %LOCALAPPDATA%\Brut\logs\engine.log. Uninstalling never touches this folder — your work survives uninstall and reinstall.
For any single image or video: right-click its preview → Reveal in Explorer opens the containing folder with the file selected (or Copy file path). This is the reliable way to locate a result, because outputs are written to whichever project was active when the generation ran — saving your canvas as a project later doesn't move files that already exist, so they stay in the folder of the project that was active back then.
How do I update Brut?
Grab the latest installer from getbrut.app/download (log in with your beta email — the page always serves the newest build) and run it over the old install — no uninstall needed. Projects, keys and sign-in all carry over (see the previous answer for why). There's no auto-update during the beta.
To check which version you're on: File ▾ → About Brut, at the bottom of the menu.
My first generation returned a 429. Why?
Almost always billing isn't enabled on that provider's key — free tiers have zero generation quota, so the first call fails. Enable billing in the provider's console. A first-call 429 is billing, not throttling.
An image edit came back blank / refused.
On Gemini, finishReason: OTHER is a silent content refusal, usually triggered by an input image — a real person's name in facade lettering, a face, a logo — not the prompt. Remove or crop the offending image. Brut never auto-retries it (it's deterministic).
Do I ever pay twice for the same thing?
No. Every node hashes its inputs; unchanged work is served from cache for $0. See Never pay twice.
I changed the prompt and lost a result I liked. Is it gone?
No — nothing generated is ever discarded. Every paid node has a small 🕘 in its title bar, next to ▶: it opens that node's full history from the project ledger, every result it ever produced. Pin any of them and it becomes the node's output again, free, protected from later re-runs until you unpin (the button turns 📌). Multi-Shot tiles, Storyboard keyframes and Film Shots clips have the same 🕘 per tile. See Projects & the ledger.
How do I take an image out of a node to work on it separately?
Drag it. Grab the image on any node — a generation preview, a Multi-Shot or Shot Board tile, a Reference Board still, a Storyboard card frame — and drop it on empty canvas: a ready-filled Image In appears there, pointing at the same file (no re-upload). Drop it on an existing Image In to append instead. The detached copy is a frozen base: re-rolling or re-planning the source never touches it.
A shot failed with "Network error — connection dropped mid-request".
Your connection to the provider dropped while a request was in flight (Wi-Fi blip, VPN hop, a provider hiccup). Re-roll the failed items — cached siblings won't re-pay. One honest caveat, written in the message itself: a response lost mid-read may still have generated (and billed) on the provider side; check the provider's console if it matters.
What's the Marcel panel?
The Marcel button opens your project's studio timeline — a chronological record of runs, results, planner reasoning and errors, saved with the project so it survives restarts and travels with a NAS share — and the chat with Marcel, Brut's built-in companion. He knows the whole model catalog (with real prices), every node, and these docs; he answers on your own text-model key and every call lands in your spend ledger. An Assist slider sets how present he is on his own — from Off (silent journal) through failure diagnosis and run commentary up to Partner-level 💡 suggestions. A header toggle switches between the full engineer view and a chat-only view. It all stays on your machine (see Marcel, the companion and Privacy).
What happens if I kill the engine mid-render?
Video jobs are journaled and reattached on the next engine launch — same job ids, one ledger row, correct price. Paid work survives restarts.
Will I lose my canvas if I close the app?
No — the canvas autosaves into the project folder moments after every change, along with which named graph it is. Relaunch (any mode, any machine on a NAS share) and you're back exactly where you were. A • next to the graph name means changes not yet saved to the named graph (Ctrl+S), and opening another graph over unsaved work asks first.
Which video provider should I use?
For steady Kling use, the subscription is ~3× cheaper than API packs. Veo rides your Gemini key. Seedance does native audio. All quote the cost before you spend.
What does "⇄ runs via …" on a node mean?
You picked a model whose native provider has no key on this machine, but you hold a credential for an aggregator that resells the same model — so Brut routes the run there, on your account. Your direct key always wins when present (it's usually cheaper); routing only fills the gap, it's always shown on the node and in the run confirm, and the ledger records it. Adding the native key switches the model back to direct billing immediately. Details: model routes.
How do I see my Kling plan credits?
Pick the Kling (subscription) provider on an Image → Video or Film Shots node — the node shows your live plan balance ("🎟 Plan balance: 5,040 credits · Pro") read from the Kling CLI, and Film Shots repeats it in the paid-run confirmation.
How do I report a bug or ask for a feature?
The speech-bubble button on the left rail — see Install & first run. Diagnostics are opt-in and previewed byte-for-byte before sending.
Does the website track me?
No. getbrut.app and these docs load nothing from third parties — self-hosted fonts, no analytics, no trackers.