Install & first run
Brut is a native Windows app: one installer, one window. No Python, no terminal, no browser tab.
Requirements
- Windows 10/11.
- A billing-enabled API key for at least one provider (see Providers). A free-tier key usually has zero image quota: an error
429on your first image means billing isn't enabled, not that you hit a rate limit.
That's it — the installer brings everything else.
Install the desktop app
- Download Brut-Setup.exe from getbrut.app/download — log in with the email address your beta approval was sent to (that address is your access; your approval email links straight there). The sign-in email carries a link (press Continue on the page it opens) and an 8-digit code you can type on the page instead, handy when your company's mail system opens links before you do.
- Windows SmartScreen will warn about an unrecognized app — expected: the beta build isn't code-signed yet. Click More info → Run anyway.
- The installer runs per-user — no admin prompt — shows the beta license, and adds Start-menu and desktop shortcuts. Launch Brut from either.
The window appears in a couple of seconds; the engine starts (and stops) with it. A tray icon in the notification area shows the engine's status and offers the engine log and Quit.
Where things live
- Your work — projects, outputs, library, account state — lives in
%LOCALAPPDATA%\Brut, as plain files on your disk. - Your keys live in the OS keychain (Windows Credential Manager), never in a file.
- The engine log is at
%LOCALAPPDATA%\Brut\logs\engine.log(previous launch kept asengine.log.1) — attach it when reporting a bug.
Uninstalling never deletes %LOCALAPPDATA%\Brut — your projects and keys survive uninstall and reinstall.
Updating
No auto-update in the beta: getbrut.app/download always serves the latest build — when we announce a new version, download it there and run it over the old version. Projects, keys and sign-in all carry over.
Brut does check for you: at launch, while signed in, it compares your version with the latest installer and shows one line under the toolbar (Brut x.y.z is available, with a Download button) when you're behind. Up to date means nothing is shown.
Sign in
Brut requires a free account (it's how we count seats during the beta — nothing about your prompts, images or keys is ever sent). On first launch you'll hit a sign-in screen:
- Continue with Google or GitHub, or
- Email — enter your address. The email carries a link (open it and Brut finishes signing you in) and an 8-digit code you can type into the same screen instead. Use the code when your company's mail system opens links before you do: it uses the one-time link up, the code still works.
Sign-in is required, but it never bricks you: once you're in, a 30-day offline grace keeps you working through flights and outages, and if the sign-in server is ever unreachable a "continue for now" option appears.
Right after your first sign-in, Brut shows the beta license once and asks you to accept it (again only if the license changes). Your seat is personal: please don't pass the installer around — someone else wants in? Ask them to register on getbrut.app.
Add your provider keys
Click the key icon on the left rail (or the setup wizard walks you through it on first run). For each provider, paste your key and Brut validates it on save. Keys are stored in your OS keychain — never in a graph, never sent anywhere but the provider.
On first launch the wizard also asks where your work lives: name your first project and choose its folder, a local folder or a share on your NAS. That step cannot be skipped — every graph, result and ledger row you make lands in a project, and the starter graph that follows lands in this one. Create more any time from File ▾ → New project…, and move a canvas between projects with File ▾ → Save project as… (see Projects & the ledger).
See each provider's page for where to get a key and its billing quirks. The quickest start is Google Gemini: a Nano Banana 2 Lite render is about $0.03.
The home screen
Brut opens on a home screen, not a bare canvas: the place the day starts from.
- Continue — the big card is your live canvas: which graph, which project, when it was last saved, and its latest results as the cover (hover it to flip through the last five). Continue (or
Esc) puts you back on it. Beside it, What's new lists Brut's development and the models that joined the catalog, newest first, each entry linking to its docs or changelog page (the list scrolls); when a newer installer exists, the first entry says so with a download link. - Recent graphs — every saved graph across all your projects, newest first, each carrying its project as a colored badge. Two rows show at a time; the pager at the gallery's lower right (arrows around a "1 / 3" counter) turns the pages. The cover is the graph's own most recent result; hover it and it flips through the last five results downstream (the dots let you pick one), so you see what that graph made, not one frame. A • next to a name means the canvas holds changes not yet saved to it (the card then shows the canvas' own results). Click a card and Brut switches project if needed and opens the graph; the usual "unsaved work" guard still asks. The select narrows to one project, the search box to a name.
- Workflows — New graph first (it asks for a name and saves the starter graph under it, so you never land on unsaved work), then the workflows that ship with Brut and the ones you saved, as cards with their picture. A template starts a new graph; a composite drops onto your canvas as one card. Hover a cover that holds a pair and it shows what went in, then what came out. The chips filter by category, the label you give an item when you save it. Two rows show at a time; the pager at the lower right (arrows around a page counter) turns the pages. The last tile, Open the library, opens the full gallery.
Finding your way around
The window has two homes for controls. The top bar holds the workspace controls: the File ▾ menu, the project and graph selectors, the spend readout, ▶ Run, your account, and the engine status dot. ▶ Run is a two-step button: it first reveals, replaying every cached, pinned and free step for $0 and marking the nodes whose inputs changed with a needs a run badge (they keep their last result on the face); if anything would bill, one dialog itemizes it with the estimate, and you choose Generate or Keep cached only. The ▶ on a node runs that node and its upstream straight away, as before. The left rail is your tools: add a node, undo/redo, tidy, the Library, Marcel, the home screen, keys, feedback, and the theme toggle. Hover any rail icon for an instant tooltip with its name, its keyboard shortcut, and one line on what it does — and the » pin at the rail's bottom expands it to show labels next to every icon (on by default; collapse it once the icons feel familiar).
The functionality tour
Right after the setup wizard, Brut walks you through the interface once — a short spotlight tour of the canvas, the node families, projects, running & caching, the spend ledger, Marcel, and where your keys live. Skip it any time with Esc, and relaunch it whenever you like from File ▾ → Functionality tour.
The studio timeline (Marcel)
The Marcel button on the left rail (the pulse icon) opens the studio timeline — a chronological feed of what's happening: plans, runs, results and errors, plus your chat with Marcel, Brut's built-in companion. The timeline is saved with the project, so reopening it (even after a restart, or on another machine via a NAS share) shows the continuous history. A Raw events / Chat only toggle in its header hides the technical lines when you just want the highlights.
Found a bug? Tell us from inside the app
The green speech-bubble button on the left rail opens Send feedback — a bug, an idea, anything. Reports go straight to the team, tied to your account email so we can reply. Diagnostics (Brut's version, OS, recent error messages) are opt-in, and the modal shows exactly what will be sent before you send it — never your graphs, images, prompts or keys. Details in Privacy.
When you quit the desktop app after a session that ran something, Brut asks for a one-line note on how it went ("Before you go"). It's the same feedback form with a session summary on top; Quit without sending is always one click, and nothing is sent unless you press Send & quit.
If the engine stops
If the engine dies mid-session, the desktop app tells you — a dialog with the last lines of engine output and a button to the full log — instead of a frozen window. If the app shows an "engine offline" banner, relaunch Brut. And if launch fails with "Port 8723 is taken", some other program on your machine is using Brut's port — close it and relaunch.