Story AI on the desktop
The Story AI choice belongs to the computer, not to a campaign: pick once and every campaign on your device world uses those services, new or old. Who runs a particular table is still chosen in its campaign creator. The Story AI button on the home screen reopens the screen. Your world plays with first summarises who tells the story, what paints pictures and what reads aloud, before offering changes. Inside a campaign, the Settings tab shows the device's choice and sends you here to change it.
No AI
No AI. You or a friend runs the table from the DM seat with the console, the binder and assisted mode off. Choose this to try the app with nothing to configure.
Your OpenAI API key
Paste your key, list the models it can use, then choose the Dungeon Master model and an optional cheaper utility model. A blank utility choice follows the story model. The app keeps an existing selection when you return; there is no fixed model name that every key is assumed to have. Fast processing is optional and can cost more; a provider refusal falls back to standard speed.
The same key can paint pictures and transcribe dictation. The app chooses those models when the key's list has one clear recommendation; otherwise it asks you to choose them in Admin, Images or Speech. Until an image model is selected, tables use placeholders. Tick the option to read the story aloud to configure OpenAI narration on the same key; if no single voice model can be chosen, select one in Admin, Speech. Read-aloud is separate from the model writing the story.
The key is saved by the server inside the app, never shown to players. A blank key field keeps the saved key. Usage is billed to your provider account. See OpenAI and compatible keys.
An agent you already have
If Codex, Grok Build, Claude Code or opencode is installed and signed in on this computer, it can narrate on its own plan. Codex (on a ChatGPT plan) and Grok Build (on SuperGrok or X Premium+) can also paint the portraits, scene art and maps, which makes either the simplest way to the whole experience on one subscription. The screen lists the four with their state (ready, sign in needed, not installed, not available here), the version, and how well each is locked down. Pick one, choose a story model and a bookkeeping model from what it offers, and play. The model list comes from the installed program; its own default is also available. The server's Admin, Agent panel offers effort choices supported by that model. Claude Code and Codex offer Fast only where the program lists it. An image-capable agent can be offered the pictures too after a test succeeds. The app never asks for the agent's password or key, and the agent gets none of its own tools: no shell, no files, no web, only the table's rules turn by turn. Not installed or not signed in? The screen shows the one command to run, with a copy button (a PowerShell command on Windows), and finds the program even when the app was started from a launcher without your terminal's PATH. Not available in the Flatpak build. See Bring your own agent.
Local AI on this machine
Free and private (System requirements), for a computer with at least 16 GB of graphics memory: a 16 GB card, or 24 GB of memory on a Mac or another unified-memory machine. Windows x64, Linux x64 and Apple Silicon only. The app measures memory and graphics hardware, then offers the storytellers that fit:
| Tier | Model | Download | Needs about |
|---|---|---|---|
| Story model for 16 GB | gpt-oss-20b | 12.1 GB | 16 GB |
| Story model, standard | Qwen3.6 35B at Q4 | 22.2 GB | 28 GB |
| Story model, high quality | Qwen3.6 35B at Q6 | 31.9 GB | 38 GB |
| Story model, full quality | Qwen3.6 35B at Q8 | 38.5 GB | 45 GB |
| Utility model, added where there is room | Qwen3.5 4B | 2.9 GB | 5 GB |
On a gaming PC with a 16 GB card, pick gpt-oss-20b. OpenAI's open model fits entirely on the card, plays the full rules and the full tool set, and keeps turns quick. The 35B is a mixture of experts, so on a PC part of it can wait in system memory: with 32 GB or more of system memory the list counts that in and may mark the 35B at Q4 as fitting, even recommended, on the same card. It plays a little more reliably, at some cost in speed on every turn.
Below 16 GB the app offers no local storyteller and says why: nothing that small plays the full rules well. Your OpenAI key, an agent or a person tells the story there. The 35B at Q3 and Q2 and Gemma 4 12B, offered by earlier releases, are no longer offered; one already installed still starts and shows as installed.
The engine is a pinned llama.cpp server the app installs and runs for you, with tool calling and a 64K context already set. It starts once, adopts only a model server it recognises, restarts after a crash, and says plainly when its engine is missing. Expect a full turn to take one to three minutes on a single GPU, longer in combat. The memory figures are graphics memory, or the share of unified memory the system leaves the graphics on a Mac or a Ryzen AI Max. Optionally, on Windows and Linux, Install image generation (ComfyUI) adds Stable Diffusion XL for scene art: about 15 GB including Python packages, 8 GB of graphics memory beside the storyteller's, and Python 3.10 to 3.14 and Git installed first. Uninstall either from the same screen; campaigns and their art stay. Measured turn times are in System requirements.
Switching
Any door can be swapped for another at any time. Campaigns keep their chronicle; the next turn uses the new narrator. A key you saved is kept until you replace it.
More services and settings
What reads the story aloud and the sound library are in the app's Settings, Narration and sound, and in the first launch's Voices and music step. The Story AI screen also offers Install speech to text for the device world. A ComfyUI at a custom address, Kokoro or another speech server, additional model choices, and OpenRouter as a text backend are configured through the world's own admin panel (account menu, Admin), the same as on a self-hosted server. The Story AI screen covers the common cases; the admin panel covers the rest. An administrator signed in to a self-hosted server can also run that server's guided setup as a native screen in the app.