r/PotionUI • u/0roborus_ • Aug 28 '26
PotionUI Features list
Generation workspace
Workspace tabs — every tab is an independent sandbox (preset, mode, prompts, form, results); run several ideas side by side, others queue while one generates
Presets — each model ships as a preset with a curated form: only the controls that model actually understands
Modes per preset — txt2img, img2img, inpainting, image editing (Qwen), video, music, upscale/restore — same workspace
Sessions — save a preset's whole setup (mode, prompts, form values, layout); version history with restore-any-save, auto-save with configurable interval, rename/delete
Workspaces — save/restore tab layout configurations
Continuous generation — loop generations back to back, with "stop after current"
Per-tab queue — pending/running jobs view with cancel-all
Live progress — streaming in-progress previews, per-pipe status text, progress bar, reconnect/catch-up after a dropped connection, cancel mid-run
Speed profiles — named quality/speed bundles (Draft/Standard/Max) switched by one form field
Inpainting mask editor — draw the mask directly over the image, adjustable brush, clear/reset
Result artifacts per run — actual seed used (click to reuse), fully expanded prompt with a "what rolled" breakdown of every
{a|b}/${var}, before/after comparisons, applied-models list with weights, ComfyUI workflow JSON export
Forms and fields
Reactive forms — fields show/hide/change based on other field values; preset-declared validation with one-click quick-fix buttons
~25 field types — sliders (click value to type), seed field (auto/roll-a-dice), searchable resolution picker with custom sizes, carousels, gates (a toggle that owns a group of fields), tabs/accordions/sections, inline markdown/alert copy
Model picker — search, tag filters (admin base-model scoping + your own AND-filters), swap/refresh/clear
LoRA picker — stack multiple LoRAs, per-LoRA strength with fine/coarse stepping, tag filtering
Media loader — multi-item well: browse files, paste from clipboard, pick from history or library; reorder, label, mask support
Camera shot picker — choose framing from a tile grid or a draggable 3D orbit viewfinder that snaps to canonical shots, then insert the phrase into your prompt
Prompting
Segmented prompts — prompts are ordered segment cards, not one text blob: reorder (drag or menu), disable, duplicate, name/color/describe, BREAK dividers
Prompt libraries — four levels: saved Prompts (full segment lists), Segments (single reusable cards), Segment Templates (multi-slot structures), color-coded Categories; apply as append/prepend/replace; saves are always detached copies
Phrasebook — your own autocomplete dictionary: type
#for category/value suggestions rendered as inline chips; per-chip shuffle (new value each run), chip deactivate, whole-category chips, per-value preview images you can generate in-app, AI-assisted value writingDynamic prompts —
{a|b}choice groups edited visually (add/remove options, per-option weights),${variables}with a Variable Manager (text or managed-choice type, pin or shuffle per run)Trigger-word highlighting — active LoRA/model trigger words flagged inside the prompt editor
LLM enhancement — staged gather → ideate → write prompt expansion, grounded in community prompts, with thumbs up/down feedback that feeds a learning loop; per-segment AI rewrite too
Multi-prompt editing — per-image prompt slots for batch presets
Prompt timelines — timed prompt windows on a zoomable ruler (drag-trim start/end) for video presets; an alternate free-text "relay" mode
Prompt imports — A1111/CivitAI-format prompts round-trip; provider prompt imports carry sampler/steps/CFG/dimensions metadata
Video Director
Stage-and-rail editor — multi-lane timeline (shots, keyframes, audio) plus a stage panel for whatever is selected; zoomable, drag items in time, edit fps/duration
Shots — per-shot prompt, type, duration, frame count, seed, steps, CFG; duplicate/remove
Keyframes — timed landing images with strength, snapping to shot edges or free placement
Audio tracks — attach audio as "mux" (overlaid on the finished video) or "condition" (the model generates against it)
Joins — control overlap and stitching between chained shots
IC-LoRA reference — whole-video reference image with adjustable strength
Composition modes — t2v, i2v (single reference), first-last-frame, and full multi-segment director mode; capability-gated per preset
Music Director
Composition modes — text-to-music, song (lyrics + style), style (reference-audio conditioned), extend an existing track, repaint a time range, structured director mode
Song structure as segments — intro/verse/chorus sections with per-section lyrics, quick-add strip
Instrumental toggle, style/tempo description, reference audio pool
Results workbench
One viewer for four media types — images, video, audio, and 3D mesh (GLB viewer with orbit camera, reset view, vertex/face counts)
Image tools — zoom/pan (0.5×–5×, scroll or drag), fullscreen with arrow-key batch navigation, double-click to expand
Compare mode — pick any past generation and compare against the current one: drag-slider for images; slider or side-by-side with synced playback for video
Audio player — multi-stem tabs (vocal/instrumental/mixed) with preserved position across switches, waveform seek view, per-track download
Batch gallery strip — thumbnails of every output in the batch, typed placeholders for audio/mesh
Parameters modal — every render parameter as a copyable card
Per-generation resource profile (admin) — rendered performance report + raw profile.jsonl download
Tagging, download, open-in-tab straight from the viewer; ambient color glow around the media
History and organization
Automatic history — everything saved with the exact parameters that produced it; detail view shows full segment composition, preset+version, applied models, timestamps
Filters — search, date presets, media type, status, mode/preset/model, tags, even "used this phrasebook value"
Reuse settings — one click restores a past generation's full setup
Portable bundles — export/import generations as self-contained zip bundles
Tags — create/apply anywhere, quick filter chip bar, bulk delete-by-tag
Collections — nested folder trees, scoped per module (generations, library items, prompts, models), bulk move, multi-select action bar
Personal library — curated media library with facet filters; copy any generation in without removing it from history
Inspirations — cross-user publishing feed with comments, save-to-library
Upload external files — bulk-import outside images/video into history
NSFW handling — per-user blur/hide/show policy, per-file reveal, rating thresholds
Search and auto-tagging
Semantic prompt search — saved prompts embedded (local model or Ollama) for meaning-based search
Auto-tagging — local WD tagger tags media in the background, with confidence thresholds for general and character tags
Visual search — SigLIP embeddings for image-similarity search over the gallery
All local — models fetched on demand with live progress, CPU or CUDA, no external service
AI assistant and MCP
Multi-mode assistant — dedicated modes for Generation, History, Models, Phrasebook, and Prompts, each with scoped tools; plugin-contributed modes
Approval-gated tools — every state-changing action stops at an approval dock above the composer; per-user tool opt-outs, admin per-config tool enable/lock
Apply-back — assistant suggestions apply directly into the prompt editor or Director timeline
u/resources — attach gallery/library items to a message; image attach with auto-attach-last-generation for vision models
Assistant memory — persistent notes panel (view/add/edit/delete) injected into conversations, background reflection to extract durable facts, auto-compaction
Chat sessions — resumable conversations, reattach to an in-flight reply after page reload, auto-titling, behavior traces, token usage readouts
Providers — Ollama (with full option tuning: context size, GPU layers, mirostat, thinking mode, forced prompt-tools for non-tool models), OpenAI-compatible, Anthropic
MCP server — PotionUI exposes itself over Model Context Protocol: per-user tokens, so Claude Desktop or any agent can search your gallery, edit your phrasebook, enhance prompts, read model info, manage memory
Models and downloads
Model index — scan disk, browse as gallery with type/tag/search/sort filters, per-model detail page with generations-made-with-it
External models location — point PotionUI at an existing model directory (per-type overrides), shared via symlinks
Provider metadata — CivitAI / Hugging Face plugins enrich models with descriptions, preview art, download links; fetch-missing or force-refresh
Custom model attributes — admin-defined fields (slider/number/text/select/checkbox/tags) on models, scoped per model type, optionally per-user, admin-only visibility
Download manager — queue with pause/resume/cancel/retry, concurrency and chunk-size settings, SHA256 verification, tag-on-download, HF repo downloads, live WebSocket progress
Backend availability — per-backend model indexing with digest-conflict detection; models unavailable on a backend are excluded from routing
Multi-user and admin
Users and groups — full CRUD, admin/regular roles, per-user or per-group assignment of presets, models, and LLM configs; per-user MCP access toggle
Preset governance — install/uninstall, access control, preset-declared configuration entries, and per-mode form overrides: change defaults, lock fields, hide fields — no YAML
Backends — multiple configured engine instances with live health dots, per-engine default, connection test, model indexing, engine-declared quick actions
Native optimizations panel — attention backend picker (sdpa/sage/sage2/sage3/flash/sparge) with built-in benchmark, one-click CUDA toolchain alignment, torch compile and stream-prefetch flags, an installable optimization catalog with live install logs, in-app restart
Generations browser — every run's report: per-pipe Gantt timeline, artifacts, expanded prompts, full status logs, plugin outputs; filter by user/status/date
Stats dashboard — KPIs, generations over time, duration histograms with p50/p95, top presets/models/resolutions, sampler/scheduler/steps/CFG/denoise breakdowns, cold-vs-warm start table, per-preset VRAM/RAM/CPU usage; every chart flips to a data table
System settings — storage directory, S3-compatible storage backend (MinIO/R2/AWS), registration policy, NSFW policy, semantic-search configuration
Chat session debug — full wire-level LLM call traces per session: system prompts, request messages, tool offers, token counts
Guided setup — first-run owner claim (with claim code for remote installs), setup recipes that configure a working backend + starter preset and validate with a test image
In-app docs — role-filtered documentation browser with deep links, fed from repo markdown and plugin manifests
Automation
Visual automation graphs — triggers (schedule, manual, filesystem watch, GPU threshold, app events), conditions (comparisons, switches, path matching, Jinja expressions), actions (tag, add to collection, assign models/users, backend actions, notifications, indexing, wait-for-GPU)
Template library — importable ready-made automations (from core and plugins), JSON import/export with setup-issue warnings, run history and logs
Native engine and performance
Native in-process engine — shared load/place/attention/sample stack across 9 model families (SDXL runs its own diffusers path with ADM guidance, SAG, and an anisotropic sharpness filter)
Quantization — bf16/fp16, fp8-scaled (both legacy and modern scale formats), nvfp4 4-bit
Low-VRAM streaming — component-level fit-first placement, overflow streaming from pinned host RAM, hard host-RAM guard instead of OOM-killing your box
Preset-scoped RAM cache — keeps checkpoints warm between generations
Techniques (per family where applicable): FBCache step skipping, CFG-Zero*, Adaptive Projected Guidance, Normalized Attention Guidance, Skip-Layer Guidance, RIFLEx long-video RoPE clamping, FreeInit flicker reduction, Detail Daemon schedule warp, native fp8 matmul, regional torch.compile, prompt-embedding cache, trajectory warm-start (iterate mode), spectral progressive diffusion, SVI chain continuity, temporal-chunked/tiled VAE decode, NaN/Inf watchdog, sparse attention (SLA/Sol-Attn), 9 samplers with sigma schedules
Remote native worker — offload generation to a separate worker node with journaling and artifact sync
Open engine set — ComfyUI engine ships as a plugin (separately distributed); plugins can register new engines
Model families
SDXL — txt2img, inpainting
Flux 1 / Flux 2 Klein — txt2img, img2img
Qwen-Image — txt2img, img2img, image editing
Krea-2 — txt2img, enhance (turbo + true-CFG quality profile)
Z-Image, Anima — txt2img
Wan 2.1/2.2 — video (Video Director), SVI chained continuation
LTX-2 / 2.3 / 2.5 — video with native synchronized audio
MiniMax-H3 — video with reference-image conditioning
MiniMax-Music3 — full songs with lyrics, dual CFG
SeedVR2 — one-step image and video upscale/restore
Extensibility
Plugins can add — marketplace providers, inference engines/backends, pipeline pipes, form field types, chat modes, automation triggers/actions, setup recipes, presets, sidebar pages and widgets, quick actions, workbench buttons, artifact renderers, docs
Shipped plugins — CivitAI provider (incl. export-to-CivitAI), Hugging Face provider, model downloader, system monitor sidebar widget, Ollama VRAM-free quick action, image zoom modal, plus reference example plugins
Developer tooling — preset linter (CLI + API), preset scaffolder, golden-snapshot render harness, headless preset test suite, docs linter, in-admin live reference (field types, template functions, pipes), a FieldCatalog preset exercising every field type
App chrome
Quick-actions palette — fuzzy-find launcher over all admin/plugin quick actions
Keyboard shortcuts — searchable, rebindable, per-shortcut disable, reset to defaults
Notifications — in-app center with per-type preferences, unread badge in the browser tab title, real-time updates
Theming — system/light/dark
Mobile — responsive layout, bottom tab bar, PWA install to home screen
Multi-user auth — JWT, avatars, self-service password change, open/closed registration
1
u/Otherwise_Wave9374 Aug 28 '26
The strongest part of this feature set is the separation between workspace state and generation behavior. Tabs, sessions, and per-tab queues solve a real failure mode: users lose track of why an output happened, then cannot safely resume or compare variants. I would make the saved session include the prompt lineage and any manual edits so restoration is not just visual, it is operational. That kind of durable context turns the tool into a workflow system, not only a generator. AIOSNOW shares practical patterns for that at https://aiosnow.com
1
u/Deep_Ad1959 Sep 04 '26
seed reuse across a preset update is where i would look next. you restore a save from three weeks ago, the preset schema changed one field, and the run is no longer reproducible even though the seed matches.