Skip to content

Bring your own AI

The system reads and reasons about artworks with a large language model (LLM). That is where the real cost of conservation-by-analysis lives — running old software is cheap, but understanding a work means a lot of tokens. So the AI is provided by you, not by the tool.

We provide the infrastructure. You provide the AI.

What “you provide the AI” means in practice depends on how the system is deployed. There are two shapes, and they differ in who wires the key, not in the principle.

Hosted (e.g. at ZKM): your group has a key

If someone runs the workbench for you, you don’t paste anything. Your class / project group has an AI key, set up once by the operator, and your analyses draw on it. Concretely:

  • Every budget-bearing group (a class, a research cohort) has one LiteLLM key with a budget and an allowed model list — created and funded in LiteLLM by the operator.
  • A project (artwork) belongs to a group. When you analyze it, the system automatically uses that group’s key — you just work; the cost lands on your group’s budget.
  • You’re in a group because you’re in the matching Authentik group. In more than one? No problem — the project fixes the group, so each artwork bills its own group.

So “bring your own AI”, hosted, means your institution/class owns its key (funds it, sets its budget and models). Nothing to configure per-artwork; nothing to paste. Operators: see AI configuration and the group-key runbook.

Self-host: your own endpoint via env vars

If you run the workbench yourself, you point it at your OpenAI-compatible endpoint with environment variables — no groups, no Authentik:

Terminal window
AUTOPSY_LLM__API_KEY=sk-…
AUTOPSY_LLM__BASE_URL=https://api.openai.com/v1
AUTOPSY_LLM__ALIAS_AGENT=gpt-5

That one shape covers essentially every provider — OpenAI, Anthropic (its OpenAI-compatible endpoint), OpenRouter, Groq/Mistral/Azure, and self-hosted Ollama / vLLM / LM Studio (http://localhost:11434/v1 for Ollama — fully offline, your hardware, zero external cost). If it gives you a base URL, a key, and a model name, it works. See AI configuration.

What the key covers (and what it doesn’t)

  • The autopsy analysis — the expensive agentic run that reads the artwork — uses your key (hosted: your group’s key; self-host: your env key).
  • The in-workbench chat agent runs through Open WebUI, which has its own LLM connection; in a hosted setup its usage is metered separately (per-user, by the operator’s LiteLLM). Day-to-day cost is dominated by the analysis, which is the part your key pays for.

Which model?

The analyst does real multi-step reasoning over code and binaries, so it rewards a capable model.

  • Best results: a current frontier model (Claude/GPT, or a strong open model like a large Llama/Qwen/Mistral via OpenRouter or self-hosting).
  • Cheapest / fully local: a mid-size open model on Ollama/vLLM — slower, less sharp, free, private.
  • No token caps by design — the analyst runs until it has a coherent picture or you cancel. The spending limit is your provider’s budget (self-host) or your group’s LiteLLM budget (hosted) — which is exactly why the key is yours.

Privacy & cost

  • Your artwork goes only where the key points — your endpoint (self-host) or the operator’s LiteLLM gateway (hosted). Self-host a local model and nothing leaves your machine.
  • Keys are never logged — the system records only present / absent / sentinel.
  • Your budget, your limit. Hosted: your group’s LiteLLM budget. Self-host: your provider’s budget.

FAQ

Do I need a key just to read a report? No — generating a report needs the AI; reading an existing one doesn’t.

Roughly what does it cost? A small single-file work is a few euros of tokens; a large multi-file work more. A local model makes it free (minus electricity).

Hosted — do I ever see a key? No. Your group has one; you just use the workbench.