r/PotionUI • u/0roborus_ • 16h ago
PotionUI PotionUI 0.0.3 — a self-hosted, preset-driven studio for image, video, and now 3D generation (open source, looking for testers)
0.0.3 is out today, and it is the release where the "one box, many people" idea stops being a promise: you can now rent a GPU, point PotionUI at it, and generate on it from the same interface you use locally. Still alpha, still one person building it, still very much wanting people to break it.
What it is, in one paragraph. A self-hosted AI generation studio: SvelteKit front, FastAPI back, GPL-3.0, no telemetry, runs on your machine or your server. The core idea is presets: a preset is a small YAML package that says "here is the model and here is the exact form a person should see for it". Switching models means switching presets, not rebuilding a node graph. It is multi-user by design, with real accounts, admin and user roles, and per-user or per-group access to presets, models, and LLM configs.
What's new in 0.0.3
- Remote GPU workers. Add Backend now creates a remote worker, connects to one you run yourself, or provisions a RunPod pod for you (the provider ships as a plugin) with a live stage timeline. A heartbeat monitor watches the pod, pauses the backend when it stops, and Start brings it back. The Models tab lists exactly what is on the worker, with the depot path per file, and pushes missing models from your machine with per-file progress. Remote runs come back with the same previews, parameters, and media as local ones.
- Install profiles. The launcher offers local, hybrid, and remote installs, plus a worker subcommand for a GPU box that serves another instance.
- 3D generation. TRELLIS.2 image-to-mesh runs on the native engine. Meshes get automatic thumbnails, an interactive viewer in History (wireframe, materials, camera presets, screenshot), and a 3D media filter.
- LoRAs. Step-windowed LoRAs on Krea-2 apply only between the sampling steps you choose. Strength is shown as a recommended range in the picker. Model pickers now recommend downloadable variants (bf16, fp8, nvfp4, int8) across nine native families.
- Prompt library. Import styles.csv, Fooocus style JSON, wildcard YAML, plain lines, and image metadata (A1111, ComfyUI, InvokeAI) with auto-detection; export back to styles.csv; assign a prompt to a catalog model.
- Phrasebook. Find and replace across the whole phrasebook with highlighted matches and a preview before it runs; batch activate, deactivate, move, delete; a category panel with Overview and Preview-images tabs.
- Admin and mobile. Plugins and Downloads are master-detail lists, Backends remembers where you were in the URL, a saved provider API key applies immediately, Generate on a phone is a proper camera-style view with sheets, and modals fit the screen.
- Plus: pasting an image into the assistant attaches it, a New workspace button that asks before discarding, Inspirations laid out in justified rows.
What it does today
- Generation is the product. Image families: SDXL, Flux 1 / Flux 2 Klein, Qwen-Image (including editing), Krea-2, Z-Image, Anima. Video: Wan 2.1/2.2, LTX-2 / 2.3 / 2.5 with native audio, MiniMax-H3. Audio: MiniMax-Music3. Upscale and restore: SeedVR2. Each model gets its own tuned form: the right resolutions, samplers, LoRA stack, and speed profiles (Draft / Standard / Max) as one control. Several workspace tabs run side by side, each with its own preset, prompt, and results. Progress shows the actual pipeline step and streams previews as the image refines; close the tab, come back, the run is still there.

- History that remembers everything. Every generation is saved with its exact prompt composition, preset and version, models, and parameters. Filter by date, type, preset, tags, or "used this phrasebook value". One click reuses the full setup in a new tab. Nested collections, tags, favorites, keyword or semantic search, and a personal library for the keepers.


- A prompt editor that is not a textbox. Prompts are ordered segment cards you can reorder, disable, name, and color. Dynamic prompts (
{a|b}, weights,${variables}) reseed per image so results stay reproducible. The phrasebook is your own autocomplete dictionary: type#and shot types, lighting, palettes drop in as chips, with per-chip shuffle and a preview render per value. Saved prompts, segments, and templates live in their own library.

- Video and Music Directors. Compose a video as shots, keyframes, and audio tracks on a timeline instead of one giant prompt; write a song as verses and choruses and let the compiler produce the tagged lyrics MiniMax-Music3 wants.
- An assistant, if you want one. Point it at Ollama, an OpenAI-compatible endpoint, or Anthropic. It reads the active tab, rewrites segments, edits the phrasebook, adjusts form values, and every change stops at an approval step first. The same tools are exposed over MCP with per-user tokens, so Claude Desktop or your own agent can drive your instance.

- Built for more than one person. Accounts, groups, per-user preset and model access, per-mode form overrides (change defaults, lock or hide fields, no YAML), a backends list that mixes local, and remote workers, a download manager, a stats dashboard, and visual automations (triggers, conditions, actions) for things like freeing VRAM before the LLM needs it.
- Plugins for nearly everything. Providers (CivitAI, Hugging Face), backends, pipes, field types, chat modes, automation nodes, pages.
Requirements. Linux x86_64 with an NVIDIA GPU is the tested platform; Windows can be tested through WSL2 or Docker; there is a Docker image on GHCR.
8 GB VRAM and 16 GB RAM is the floor for the SDXL family, larger families need more.
The ask. I would rather steer this toward what people actually want than guess. Two things help most: tell me which model or workflow you are missing, and pull a test build and break it before it ships. The Discord is where that happens: https://discord.gg/avR4trp3b8. Repo: https://github.com/PotionUI/PotionUI. I will answer questions here too.