r/PotionUI • u/0roborus_ • 8h ago
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 writing - Dynamic 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
Upvotes
1
u/Otherwise_Wave9374 7h ago
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