Reference

How AutoPaper works, with the numbers. Every figure here is a value in AutoPaper’s source code, the same on macOS, Windows and Linux unless it says otherwise. The Privacy and Network pages cover what is sent where.

These are the values in AutoPaper 0.1.2.

Settings

On a Mac, Settings… in the menu (⌘ ,), with panes General, Providers, Accounts, Memory, Budget and About. On Windows, Settings in the navigation pane, with the same pages (Keys for Accounts). On Linux, Preferences (Ctrl ,), with General, Providers, Keys, Memory and Budget; About is in the main menu. Each reopens where you left it.

General

General settings, their defaults and choices
SettingDefaultChoices and notes
New wallpaperEvery dayEvery hour, Every 3 hours, Every 6 hours, Every 12 hours, Every day, Every week, Only when I ask.
Pause new wallpapersOffNo new ones on the schedule; New Wallpaper Now still works. The current wallpaper stays up.
Replace wallpapers I dislikeOnDisliking the wallpaper on your desktop makes a new one straight away, within the budget.
Match my appearanceOnNew wallpapers suit your computer’s light or dark mode. Your keywords come first. Off: nothing about your appearance is sent.
When a new one can’t be madeBring back one I likedOr Keep the current one. For when you’re offline or a provider is down. Budget blocks always keep the current wallpaper.
Show wallpapers (macOS)Over my wallpaperOr As my wallpaper. See Putting it on screen.
Your own wallpaper—Restore My Wallpaper: your own wallpaper again until AutoPaper’s next new one. On Windows also Turn Windows Spotlight back on, when Spotlight was yours. On Linux it’s in the main menu and the tray.
Lock screenOn, where there’s a choicemacOS: no setting, as apps can’t set the lock screen picture on its own; it shows AutoPaper’s wallpapers only with As my wallpaper. Windows: Also set the lock screen, unless your organisation manages it. GNOME: a note (its lock screen always shows the desktop wallpaper). Other Linux desktops: a switch.
Open at loginOff on macOS and Windows; on on LinuxWindows calls it Open AutoPaper when I sign in.
Show in menu bar (macOS)OnWhen off, AutoPaper appears in the Dock instead.
Notify me about new wallpapersOff on macOS; on on Windows and LinuxSee Notifications.

Providers

Two groups, Writing ideas and Painting, each with these settings.

Providers settings, their defaults and choices
SettingDefaultChoices and notes
ProviderDemoWriting: OpenAI, Google Gemini, Ollama, OpenAI-compatible, Demo. Painting: OpenAI, Google Gemini, OpenAI-compatible, ComfyUI, Demo.
Server addressOllama http://127.0.0.1:11434; ComfyUI http://127.0.0.1:8188; OpenAI-compatible: none, it must be givenFor Ollama, OpenAI-compatible and ComfyUI. https to any address; plain http only to this computer or your local network (loopback, .local, private and link-local addresses). No user name or password in the address. An OpenAI-compatible address with no path gets /v1.
Workflow (ComfyUI)AutoPaper’sOr Your own…: a workflow exported with Export (API), with {{prompt}}, and optionally {{width}}, {{height}} and {{seed}}. On Windows, at most 1 MB.
ModelDefaultWhat the provider lists, with Refresh. Default is gpt-6-luna / gpt-image-2.5-flare for OpenAI; Gemini 3.5 Flash-Lite / Nano Banana 2 (gemini-3.1-flash-image) for Gemini; the first model for Ollama and OpenAI-compatible servers; Z-Image Turbo for ComfyUI. On Windows the model can also be typed.
Painting qualityHighStandard or High. OpenAI: medium or high. Gemini: 2K or 4K.
Test—Checks the address, the key and the model list with one small request. Waits until a needed key is there.

With a local provider, Providers also helps install it (Brew Browser on a Mac, and for Ollama on Linux; each project’s own installer on Windows; ComfyUI’s guide on Linux). Wherever Google is chosen, it says: “A free Gemini key may let Google use what you send to improve its products; a paid project doesn’t.” Once a model has made a wallpaper, Providers shows how long one takes on your computer.

Accounts (Keys)

OpenAI API key, Google Gemini API key, and Key for the OpenAI-compatible server’s address (only if it asks for one). Saved as you type, half a second after you stop on a Mac, to the Keychain (service com.autopaper.credentials), Credential Manager (AutoPaper:…, kept on this PC only) or the Secret Service. An empty field removes the key. Each has a Get a key link.

Memory

Memory settings, their defaults and choices
SettingDefaultChoices and notes
What AutoPaper has learned—Up to 6 things you’ve tended to like and 6 you’ve tended to dislike, across every mood. Reset What It Learned… forgets them.
Quiet period6 months1 month, 3 months, 6 months, 1 year, 2 years. See Memory.
EchoesSometimesOff, Rarely (5%), Sometimes (12%), Often (25%): the chance that a scheduled wallpaper is an echo, when one is possible.
Memory—Full, or Reduced when the bundled model is missing.
Keep up to2 GB256 MB, 512 MB, 1 GB, 2 GB, 5 GB of images, with how much is in use.
Clear History…—Keep memory (descriptions stay, so repeats are still avoided; History and Now are empty) or clear memory too (taste as well). Moods, settings and spending stay. Your desktop keeps its picture either way.

The History section in Memory settings also contains Console help: local retention, report contents, privacy and the link to Console help. Clearing wallpaper history and clearing Console are separate actions.

Budget

Budget settings, their defaults and choices
SettingDefaultChoices and notes
Monthly budget$5No limit, $1, $2, $5, $10, $20, or your own amount: any amount on a Mac; $1 to $1,000 on Windows; $0.50 to $1,000 on Linux. US dollars, by calendar month in UTC.
This month—Spent so far, each wallpaper’s estimated cost, a month at your schedule, wallpapers made. Estimated from the providers’ published prices as of October 5, 2026.

About

The version and build, a one-line description, and “MIT · © 2026 Michael Sitarzewski”.

Moods and keywords

Limits and defaults for moods and keywords
WhatLimit or default
Mood name1 to 40 characters, unique (ignoring case). New moods are “New mood”; a duplicate is “name copy”.
Number of moodsNo limit; at least one, so the last can’t be deleted.
Keywords per moodUp to 64, each up to 40 characters, unique within the mood (ignoring case). New ones are Must.
Surprise0 to 100; new moods start at 35. Faithful below 25, Fresh below 50, Adventurous below 75, Wild from 75.
Shared by every moodThe schedule, providers, budget, quiet period, echoes setting, memory and taste.

The first mood in an older library is named from its first two keywords that aren’t Avoids (“Rain, Beach”), otherwise “My mood”. Switching moods makes nothing by itself. Echoes are three times as likely to come from the current mood’s wallpapers.

Writing a scene

  1. The writer is sent the current mood’s keywords and Surprise, up to 20 recent wallpapers’ descriptions (“don’t repeat these”), up to 6 liked and 6 disliked things, your language, and, while Match my appearance is on, whether your computer is in light or dark mode. It’s asked for four ideas in one answer, each with a title (at most 60 characters), a one-line description, the place, what’s in it, the time of day, weather, season, mood, palette, style, composition, and the prompt (at most 2,500 characters).
  2. The temperature is 0.4 + 0.8 × Surprise, where the model accepts one. Ideas of its own: none when Faithful, up to 1 when Fresh, 2 when Adventurous, 3 when Wild.
  3. Each idea is checked: every Must in the prompt, no Avoid anywhere in the prompt, title or description, nothing empty, nothing too long.
  4. Each valid idea is scored: novelty × (1 − 0.3 × Surprise) + taste × (1 − 0.6 × Surprise) + a random amount up to 0.3 × Surprise. The best one that isn’t too close to anything you’ve had wins.
  5. If none is new enough, the writer is asked again, at most twice, naming up to 8 past wallpapers it came too close to; then the least similar valid idea is taken. If asking again doesn’t help, it stops early. When 3 of a mood’s last 5 wallpapers had to be taken that way, AutoPaper says your keywords are narrow.
  6. If the writer or the painter refuses an idea, it’s asked once for a gentler, plainly described scene; a second refusal is reported.

Titles and descriptions are written in your language; everything else, and always the prompt, in English. Prompts ask for a landscape picture without text, letters, logos, watermarks or interface, with calm space where desktop icons sit, and never mention an Avoid.

Memory

Echoes

Taste

Painting and sizes

You don’t choose a size: AutoPaper asks for the one closest to your main display’s shape, as large as the painter allows and no larger than your display. Until the app has told it the display’s size, it aims at 3840 × 2160.

The sizes each painter is asked for
PainterSizes
OpenAI (gpt-image-2 and later)3840 × 2160, 2560 × 1440, 1920 × 1088, 3632 × 2272, 2560 × 1600, 3840 × 1648, 3440 × 1440, and portrait 2160 × 3840 and 2272 × 3632
Google GeminiThe nearest of 16:9, 21:9, 3:2, 4:3, 1:1, 3:4, 2:3 and 9:16, at 2K (Standard) or 4K (High): 2752 × 1536 or 5504 × 3072 for 16:9. Nano Banana 2 Lite paints at 1K
ComfyUI: Z-Image Turbo, Krea 2 TurboUp to 2048 px a side and 2,965,760 pixels, in steps of 16: 2048 × 1152 for 16:9, 2032 × 1312 for a 16:10 Retina display
ComfyUI: Qwen-Image 2.1Up to 2752 px a side and 4,300,800 pixels: 2576 × 1664 for a 16:10 Retina display
ComfyUI: your own workflowUp to 2048 px a side and 1920 × 1088’s pixels, unless it loads one of the models above
OpenAI-compatibleAny size in steps of 64, up to 2048 px a side and 4,194,304 pixels
DemoUp to 3840 × 2160

The pixel cap for Z-Image Turbo and Krea 2 Turbo is where their image decoder fails in ComfyUI on Apple silicon; it applies on every computer, since AutoPaper can’t tell what a ComfyUI server runs on. The bundled workflows take 8 steps (Z-Image Turbo, Krea 2 Turbo) and 25 (Qwen-Image 2.1).

Every image is checked before use: PNG, JPEG or WebP (judged from the file itself), at most 50 MB, 64 megapixels and 16,384 px a side, turned upright if its camera data says so, and flattened if it has transparency.

Putting it on screen

The schedule, failures and the budget

Time estimates

Console and statistics

Console records each wallpaper attempt, including failures, budget blocks, cancellations and interruptions, grouped by date. A selected run shows the actual prompts, provider/model names, responses, retries, candidate checks, errors, elapsed time and estimated cost. Requests made before Console was added are unavailable.

Console statistics and what they measure
StatisticMeaning
OutcomesCounts of succeeded, failed, blocked, cancelled, interrupted and running attempts, across all retained runs.
Runs by dayThe same outcomes grouped by the run’s start date in UTC.
Success rateSucceeded ÷ (succeeded + failed). No percentage until there is a successful or failed attempt.
Average run timeMean elapsed time of finished successful and failed attempts. Blocked, cancelled, interrupted and ongoing attempts are excluded.
Average call time by modelMean measured duration of completed writing or painting calls, grouped by provider, job and model, with the number of calls. Uses recent timing samples linked to retained runs.

Model timing starts with calls recorded after this update; older timing samples are not assigned to runs by guessing. The newest 50 samples for each provider, server, model and job are kept for time estimates, so model averages can cover fewer calls than the outcome charts. A run can include more than one call and additional memory, download and display work. Chart values are also available as a table.

Up to 200 runs are kept for 30 days locally. Each event is limited to 65,536 UTF-8 bytes, with up to 255 events and roughly 512 KiB of details per run; truncation is marked. Credentials and image bytes are omitted. Copy Details and Export JSON… share only the selected run when you choose them. Clear Console… removes its records and statistics, keeping wallpapers, memory, settings, spending and the separate progress time estimates.

What’s stored, and where

What AutoPaper stores, and where
WhatWhere
Moods, keywords, settings, history, memory, taste, spending, timings and Console runsautopaper.sqlite3 in the data folder
Wallpapers as deliveredimages/year/ in the data folder; the oldest go first past Keep up to, never liked ones or the one on the desktop
Thumbnails, 640 px widethumbs/; kept when the original goes
Wallpapers made for each displayrenders/; a cache, cleared first, except what’s on the desktop
The data foldermacOS: ~/Library/Containers/com.autopaper/Data/Library/Application Support/AutoPaper. Windows: the app’s LocalState folder. Linux: ~/.local/share/autopaper
App preferencesmacOS: AutoPaper’s preferences, in the same container. Windows: the app’s settings. Linux: GSettings, io.github.msitarzewski.AutoPaper
KeysKeychain, Credential Manager, Secret Service

Failed wallpaper attempts are kept 30 days, without images. Console has its separate 200-run and 30-day limits, and timings have the sample limits above. Other data stays until you delete it or the image storage limit removes it. Privacy has the full list.

Accessibility

AutoPaper aims for WCAG 2.2 AA as W3C’s WCAG2ICT applies it to desktop software, and for Apple’s, Microsoft’s and GNOME’s accessibility guidelines. This site aims for WCAG 2.2 AA directly.

Each app has been checked through its system’s accessibility interface (the macOS accessibility API, UI Automation on Windows, AT-SPI on Linux) in development builds. Full passes with VoiceOver, Narrator and Orca are still to come; if something is hard to use, please open an issue.

Siri and Shortcuts

Five App Intents on macOS, available to Siri (with ready-made phrases) and the Shortcuts app. Windows and Linux have none yet.

AutoPaper’s Siri and Shortcuts actions, their phrases and what they do
ActionSiri phrasesWhat it does
New Wallpaper“New wallpaper in AutoPaper”, “Make a new AutoPaper wallpaper”Makes a new wallpaper from your current mood now and puts it on the desktop.
Like This Wallpaper“Like this AutoPaper wallpaper”, “I like this AutoPaper wallpaper”Tells AutoPaper you like the wallpaper on the desktop, so it makes more like it.
Dislike This Wallpaper“Dislike this AutoPaper wallpaper”, “I don’t like this AutoPaper wallpaper”Tells AutoPaper you don’t like it; with Replace Wallpapers I Dislike on, it makes a new one.
What’s on My Desktop“Describe my AutoPaper wallpaper”, “Read the AutoPaper wallpaper”Says what AutoPaper has put on the desktop, in words, and returns it as text for shortcuts.
Switch Mood“Switch AutoPaper to Rainy beach”, “Use the Rainy beach mood in AutoPaper”Makes a mood current. Nothing is made right away.

Siri tends to answer questions itself, so the phrases are commands. In the Shortcuts app, any of these can have a keyboard shortcut of its own.

For developers

Every decision lives in one Rust library, autopaper-core: composing, memory, echoes, taste, moods, the schedule, the budget, providers, the network rules, images and storage. The three apps are native (SwiftUI on macOS, WinUI 3 on Windows, GTK 4 and libadwaita on Linux) and use it through UniFFI, or directly on Linux. Each provider is one file in core/src/providers/. The core’s tests run with cargo test. See CONTRIBUTING.md.

The repository includes autopaper, a command-line tool over the same core, with keys from a .env file:

autopaper moods                      # the moods, the current one marked, with their keywords
autopaper compose                    # one writing request: the ideas, their checks and scores
autopaper generate                   # make a wallpaper now, with the progress an app shows
autopaper models images              # what a Model menu lists for the painter
autopaper --display 3840x2160 run    # what an app's timer does: make one if it's due
autopaper simulate --days 1100       # years of wallpapers with stand-in providers: memory, echoes, taste

The source is on GitHub; its README has the steps to build each app.