What it does:
Smart Asset Clustering organizes your gallery into visual groups based on how your images were created. Instead of getting lost in thousands of generated files, it lets you instantly group and compare images that share either the same workflow pipeline or the same prompt text.
The 2 Clustering Modes:
- By Architecture (
workflow): Groups images created with the exact same workflow setup (node structure + model files), ignoring random seeds, steps, CFG, or prompt text changes. Perfect for comparing all variations produced by a specific pipeline. - By Prompt Text (
prompt): Groups images that share the exact same prompt, even if you tested that prompt across different models, Flux/SDXL workflows, or settings.
How to Use It:
- Quick Shortcut: Focus or hover over any image in the gallery or Lightbox and press Shift+C.
- Click Any Badge: Click the colorful
#HASHbadge on any thumbnail card or inside the Details panel. - From Tools Menu: Open the 🛠️ Tools menu and click 🧬 Smart Clustering.
- Exit Clustering: Press ESC anytime or click ✕ Exit Cluster Mode on the top banner.
Interactive Hash Inspector Modal:
Clicking any #HASH badge on a thumbnail card opens an Inspector Panel showing you:
- The Visual Pipeline: A sequence of color-coded chips showing the active node flow (e.g.
CheckpointLoader ➔ LoraLoader ➔ KSampler ➔ VAEDecode). - Models Loaded: The exact checkpoint and LoRA model files used.
- Asset Prompt: The prompt text of that image with a one-click 📋 Copy button.
- Cluster Stats: How many other matching assets exist in your entire gallery.
- One-Click Launch: A
🚀 Clusterize Gallerybutton that opens the clustering settings pre-targeted on that asset, letting you choose your scope (Global vs. Current Folder).
Sub-Badges:
When clustering by Prompt, thumbnail badges display both the primary Prompt badge (💬 #PROMPT) and a secondary Architecture variant badge (🧬 #ARCH), letting you spot pipeline variations at a glance.
Press I on any image or click the ⓘ icon to open a high-density details panel with two organized tabs:
- Tab 1: 📋 Overview & Paths: View resolution (with Megapixels), file size, creation/scan dates, physical disk path, collections, ratings, AI captions, and A1111/Forge metadata.
- New: The green
⚙️ Workflowbadge is now a clickable button to download the JSON workflow file directly!
- New: The green
- Tab 2: 🧬 Architecture & Cluster: Inspect the node pipeline sequence, checkpoints/models loaded, asset prompt text, and launch
🧬 Smart Asset Clusteringwith a single click (automatically hidden if no other matching assets exist in your library). - Keyboard Accessible: Press Tab to easily focus and navigate between tabs using your keyboard.
Want to see architecture and prompt hashes all the time in your normal gallery?
- Open ⚙️ Settings & Info and enable
🧬 Cluster Badges(saved in your browser). - Normal grid thumbnails will display interactive
#HASHbadges instead of the standard green⚙️ Workflowbadge, letting you inspect any image's setup with a single click.
Find models, LoRAs, and workflow files effortlessly without remembering exact filenames or formatting.
- Alphanumeric Normalization: Strips spaces, dots, dashes, and underscores during search queries (e.g.
wan 2.2seamlessly matcheswan2.2_i2v_high.safetensors). - Live Autocomplete Dropdown: Typing in the ⚙️ Workflow Files input opens a two-line dropdown displaying clean filenames prominently alongside folder paths.
- "Did You Mean?" Suggestions: Native Python
difflibstring similarity calculates close match suggestions when queries yield low or zero results.
Keep your team and clients aligned with rich production briefs and documentation tied directly to virtual collections.
- Simple Creation Workflow: Attach a brief to any collection by clicking the ⋮ menu next to its name in the sidebar and selecting 📤 Upload Note to upload
.txtor.mdfiles. - Visual Yellow Accent: Collections containing active notes are immediately highlighted with a distinct yellow accent across the sidebar, breadcrumbs, and Exhibition Mode.
- Top Header Access Button: When viewing a collection with notes, a prominent 📝 Collection Notes button automatically appears in the top toolbar header for instant one-click access.
- Rich Markdown Rendering: Full native rendering of Markdown documentation (headers, lists, tables, code fences, task lists, and formatting).
- Multi-Note Reader & Feedback: View and switch between multiple notes via tabs, download notes, or open them in the details panel to leave ratings and public/private comments just like any media asset.
Audio management gets a massive efficiency boost for sound designers, musicians, and voiceover workflows.
- Inline Audio Playback: The List View now features an integrated inline audio player available in both the Main Workspace and Exhibition portal.
- Instant Media Controls: Play, pause, scrub, and check track durations directly within list rows without opening the full Lightbox viewer.
Clients and external stakeholders can now navigate large Exhibition galleries with pinpoint accuracy.
- Granular Filtering Overlay: Exhibition Mode introduces a sleek filter panel allowing users to narrow down media by smart filename queries, file extensions, and date ranges.
- Smart Scope & Auto-Close: Search within the active collection (with optional sub-collection recursion) or across all accessible media, with intuitive click-outside panel dismissal.
- Comprehensive Route Fortification: General security enhancements across all backend API endpoints to reinforce session validation and strict access controls.
- Enhanced Data Isolation: Strengthened authentication guards to ensure bulletproof data segregation between public, guest, and administrative contexts.
Sometimes a grid of thumbnails isn't enough when you need to analyze hard data. We are introducing a highly requested, fully responsive List View alternative to the standard Grid layout.
- Instant Activation: Seamlessly toggle between Grid and List layouts at any time directly from the ⚙️ Options menu.
- High Data Density: The fluid, squishy-column architecture displays everything at a glance: Index, Thumbnail Preview, Name, Rating, Comments, Size, Resolution (MP), Duration, Type, and Date. It scales perfectly without breaking, even if you zoom your browser up to 200%.
- Sticky Sortable Header (Desktop): The column header stays pinned at the top of the gallery as you scroll. Simply click on any column name to instantly sort your files by that specific metric.
- Smart Mobile Sorting: On smaller screens where the wide header cannot fit, it elegantly transforms into a compact dropdown menu, giving mobile users the exact same powerful sorting capabilities without sacrificing screen space.
We took the hierarchical tree structure introduced in the last patch and supercharged it with smarter navigation, better filtering, and advanced permission management.
- Fully Navigable Nested Trees: Seamlessly browse, expand, and collapse deep hierarchies of sub-collections directly from the sidebar.
- Smart Permission Inheritance (🧬): When creating a new nested sub-collection, you no longer need to manually re-configure its visibility. You can now choose to have it instantly inherit the exact Exhibition permissions (Public, Private, or Shared) from its direct parent collection.
- Shared Users Tooltip: Wondering who has access? In both the main workspace and the Exhibition portal (for administrators), simply hover over the purple "Shared" icon (👥) next to a collection name to reveal a tooltip listing exactly which users have permission to view it.
- The
>0Non-Empty Filter: A new toggle in the collections toolbar allows you to instantly hide empty collections and cut through the noise. It features smart path preservation: parent folders with zero direct files will still remain visible if they contain populated sub-collections. - Smarter Badges: Enhanced visual counters clearly distinguish between Direct Counts (files specifically tagged in that collection) and Descendant Counts (
+N, showing unique files hidden inside collapsed child collections). - Audio File Support: Audio files are now fully supported inside Virtual Collections. You can organize them and expose them to your clients via the Exhibition portal just like images and videos.
- Mobile Waveform Control: You can now easily cycle through and manage audio/video waveform amplitudes directly from mobile devices.
- Security Hardening: General backend fixes to strengthen data isolation, user permission checks, and overall system security.
Go beyond the standard filter UI. OmniQuery allows power users to interrogate their entire media database using natural language, assisted by AI (ChatGPT, Claude, etc.).
- Smart Prompting: OmniQuery dynamically generates a prompt containing your database schema and rules. Paste it to your LLM to get the perfect SQL query for highly specific, multi-table requests.
- Safe Execution: The engine strictly enforces read-only
SELECTstatements. Your database is completely secure. - Query Management: Save, name, and reload your favorite SQL snippets directly from the UI for future use.
A zero-API, fully offline LoRA matchmaker and injector integrated directly into the Remix Nodepad. Stop guessing which LoRA works with your checkpoint.
- Offline Architecture Scanning: Reads your local
.safetensorsheaders to determine their true base architecture (SD1.5, SDXL, Flux) and instantly buckets them into compatibility groups against your loaded checkpoint. - Smart Trigger Memory: Automatically surfaces official CivitAI trigger words and recalls historical triggers you've successfully used in the past via a floating clipboard widget.
- Auto-Wiring: Seamlessly injects
LoraLoadernodes and instantly rewires all downstreamMODELandCLIPconnections without manual rerouting. - Seamless Integration: Native synergy with
ComfyUI-Lora-Managerto unlock rich preview thumbnails and CivitAI deep-links directly in the panel.
- Hierarchical Organization: Virtual Collections are no longer restricted to a flat list. You can now create sub-collections arranged in a folder-like tree structure, allowing for vastly superior organization of complex projects and client deliverables.
The Remix feature has been completely rebuilt from the ground up. We retired the rigid "App View" and introduced a fluid, dynamic 3-tier workspace designed to give you absolute control over your generations, whether you want a quick tweak or deep structural modifications.
-
The 3-Tier Workspace Architecture:
- 📝 Auto-Form (Formerly Advanced): The engine room. We drastically improved the extraction logic. It now intelligently filters out structural text strings and strictly exposes actual prompts (positive/negative), seeds, and key parameters. Find what you need and click the 📌 Pin icon.
- 🛠️ My Panel (Formerly Custom View): Your personal DIY dashboard. Populated exclusively with the fields you pinned. We completely overhauled the UI, removing the aggressive yellow/red badges in favor of a sleek, elegant, and distraction-free layout. Freely arrange your fields using the ↕ Reorder button.
- { } Nodepad (The Game Changer): A revolutionary raw JSON editor built for power users, prompt engineers, and curious learners. Dive into the exact "JSON recipe" behind any node without leaving the gallery.
-
Nodepad Killer Features:
- Live Dictionary & Magic Injector: The Nodepad actively interrogates your online ComfyUI server. Select a node, and it instantly loads the official definitions and allowed values. Use UI dropdowns or image upload buttons to magically inject perfectly formatted syntax directly into the raw JSON code!
- Intelligent JSON Formatting: Working with nested JSON strings (like Ideogram or Wan2.1 complex prompts) is no longer a nightmare. The Nodepad visually converts escaped characters into physical newlines for easy reading and writing, then automatically sanitizes them back into valid
\ncode upon saving to prevent ComfyUI syntax errors. - The "Favorite" Node System: Have a custom node too complex for standard inputs? Open it in the Nodepad and click ⭐ Favorite. That entire node will instantly appear as a "Quick Edit" button inside your clean My Panel dashboard.
- Real-Time Bidirectional Sync: Flawless data synchronization. Change a prompt in the Auto-Form, and the raw JSON in the Nodepad updates instantly. Edit the JSON in the Nodepad, and your visual sliders and text boxes update the moment you switch tabs.
-
Global Accessibility & Workflow Library:
- Tools Menu Integration: You no longer need an existing source image to start generating! Remix can now be launched directly from the global Tools menu on the homepage.
- Standalone Library Generation: Access your saved Remix Templates straight from the homepage Tools menu to instantly load up your custom My Panel dashboard and start queueing jobs from scratch.
- Smarter Template Saving: When saving a Template to the Library, SmartGallery now proactively suggests reordering your pinned fields for a better layout, and defaults to the original node names if you leave custom labels blank.
- Zero-UI Background Generation: Tweak prompts, modify parameters, or randomize seeds and submit jobs directly to ComfyUI without ever opening the ComfyUI web canvas. Once generated, the new file instantly and automatically appears indexed inside your gallery.
- Instant Shortcut Activation: Trigger the Remix panel instantly for any focused image or video directly from the gallery grid by pressing "B" on your keyboard (or by clicking the magical wand 🪄 icon).
- Dynamic Parameter & Prompt Extraction: Automatically traces the workflow graph to extract text prompts (positive, negative, system), seeds, and key generation variables (Steps, CFG, Denoise, Resolution, etc.) into a clean, human-readable panel.
- Source Image Swapping: Easily replace input/source images directly from the form, supporting Image-to-Image, ControlNet, and IP-Adapter nodes.
- Multi-Gen Batching: Queue up to 100 generations in one click. Toggle the Random Seed option to ensure each background iteration produces a fresh variation instead of being skipped by ComfyUI's duplicate cache.
- Flexible Manual Exports (Copy / Download): Don't want to queue directly via API? Instantly Copy the modified JSON to your clipboard or Download it as a file. Pasting or importing it manually into the ComfyUI canvas will perfectly preserve all your parameter edits and input image swaps on the workspace.
- High-Performance Architecture (Error 134 & 413 Resolution): Complete structural refactoring of the submission workflow. The server now reads, modifies, and streams huge workflow files (100MB+) directly on local disk via
file_idand binary Blob streaming. This entirely bypasses browser string memory crashes and proxy payload limitations (like Nginxclient_max_body_size). - Intelligent Autofix & Interactive Corrections: Translates standard UI-format JSON graphs into execution-ready ComfyUI API formats. If ComfyUI rejects the workflow due to validation errors (e.g., missing custom models or sampler mismatches), the panel guides you through interactive choice dropdowns to correct them.
- Video Companion Sync: Automatically detects video sidecar metadata files (such as
.pngcompanion files saved by VHS nodes) so you can remix prompt workflows directly from your video player card. ⚠️ Pragmatic "Quick & Dirty" Honest Disclaimer: Despite major technical efforts, this remains an experimental and stateless helper tool designed for rapid iterations. It is not a replacement for ComfyUI's full native node canvas. It simply lets you edit the variables it successfully intercepts. If you use highly complex workflows, the system might find it harder to accurately capture all parameters and/or label them correctly; however, for standard, medium-to-simple workflows, it is an incredibly useful time-saver. If a workflow fails to map, no worries: it just means it's time to open the full ComfyUI canvas.
- Cleaner Thumbnail Cards: Removed the bulky, multi-line metadata from the grid view cards for a much cleaner and modern look.
- Compact Inline Metadata: Added a sleek, single-line metadata string (
Date • Dimensions • Size) positioned at the bottom left of the card, perfectly aligned with the selection checkmark. - Responsive Typography: Implemented CSS Container Queries. The new compact metadata automatically scales down its font size when the user switches to the "Compact" thumbnail size.
- Easier Selection: The entire bottom dark area of the card (where the filename is) is now clickable. You can select or deselect a file simply by clicking the card's footer, without needing to precisely aim for the small checkmark.
- Smart Focus Status Bar:
- The bottom colored info bar no longer appears automatically on every mouse hover (reducing visual clutter), unless Focus Mode is explicitly enabled.
- Added a small "i" (Info) hover icon next to the compact metadata. Hovering over this icon seamlessly reveals the full bottom info bar.
- Added the "Last Scanned" timestamp to the data displayed in the bottom info bar.
- Added a subtle "pop" animation to the status bar, making data updates visually distinct when moving between files.
- New 2-Column Grid Mode: Added a "2-Column Grid" toggle in the mobile Options (⚙️) menu.
- Optimized Compact Layout: When 2-Column mode is active:
- Action buttons (Favorite, Download, Delete) are forced into a single, space-saving horizontal line.
- Cluttering overlay badges (workflow, video duration, star ratings) are hidden to maximize image visibility.
- Mobile Info Modal: In 2-Column mode, a new "i" icon appears in the bottom left corner of the thumbnail. Tapping it opens a sleek, mobile-friendly modal displaying all the file details (Dimensions, Size, Date, Scanned, Workflow).
- Dynamic Waveform Height: Fixed a visual bug where the media player reserved blank vertical space even if the video had no audio/waveform. The player now dynamically expands only after the waveform image successfully loads.
- Mobile Waveform Amplitude Control: Replaced the bulky amplitude slider on mobile. Now, users can simply tap the wave icon (🌊) to cycle through amplitude presets (
0.5x,1.0x,2.0x,5.0x,10.0x), triggering a brief toast notification with the current value.
- User Analytics & Moderation:
- Rating Transparency: Inside the Rating panel (shortcut 'G'), a new "Details" icon (eye) next to "Global Rating" opens a view showing exactly which user assigned which rating.
- Enhanced Filtering: Added multi-select filters for star ranges (e.g., "1-2 stars" + "4-5 stars") and specific raters.
- Sorting Refinements: Sorting criteria for Ratings and Comments have been moved to sub-menus, allowing you to toggle between "Most/Least Discussed", "Uncommented", and "Not Rated" states effortlessly.
- User Login Tracking: The User Manager panel now displays the last login timestamp for each user, with associated sorting functionality.
- Gridview Metadata:
- Added a persistent status bar that appears on hover, showing real-time file details including dimensions, megapixels, file size, and rating status.
- New shortcut 'I' from Gridview displays the file path and real-source mapping for diagnostic purposes.
- Waveform Integration: Added
GENERATE_WAVEFORMS=trueconfiguration. When enabled, visual waveforms are rendered on the seek bar for precise navigation. - Dynamic Waveform Amplitude: Added a dedicated amplitude slider (🌊) to the playback bar. This allows real-time adjustment of waveform vertical scaling, ensuring clear visibility for both low-level and high-level audio tracks without needing to regenerate media.
- Enhanced Media Controls: The playback interface now supports:
- Keyboard Shortcuts: Spacebar for Play/Pause.
- Back/Forward buttons: for 5-second seeking.
- Volume Control: Integrated precise volume slider and mute toggle.
- Click-to-Play/Pause: Intuitive playback control directly from the video area.
- Collection-Level Sharing:
- Administrators can now assign exclusive viewing permissions for specific collections to individual users via the "Share" option (three-dot menu).
- In Exhibition mode, Admin/Staff/Manager roles see collections assigned exclusively to specific users highlighted in gold in the sidebar.
- Blind Rating System Logic:
- Global Enforcement: Use the new
--blind-ratinglaunch parameter to force the blind rating mode globally for all users. In this mode, users see only their own ratings (both in sorting and in panels), preventing bias. - "My Ratings: ON/OFF" Toggle: If
--blind-ratingis not forced at launch, a new "My Ratings" button appears in the header. This allows all users (including Admins) to toggle their personal rating view on or off. - Admin Override: When
--blind-ratingis forced, Admin/Staff users can use the 'B' keyboard shortcut to toggle blind rating visibility for their own session, facilitating moderation. - UX Guidance: Added an informative modal triggered by the "My Ratings" button to explain the benefits of the mode (sorting by personal ratings, hiding global averages, etc.).
- Configuration Notes:
- For Forced Privacy: Use
--blind-ratingat startup to ensure users are never influenced by global ratings. - For User Autonomy: Leave
--blind-ratingunset; users can then use the "My Ratings: ON/OFF" toggle to decide if they want to view the exhibition based on global stats or their personal progress. - Permissions: Admin/Staff users retain the ability to manage or preview exhibition content as needed, ensuring full control over the curation flow.
- For Forced Privacy: Use
- Global Enforcement: Use the new
v2 is not just a feature drop. The version number jumped because the architecture, ACL system, and multi-user logic required a ground-up rethink. Your existing setup, folders, and data are all forward-compatible.
New in v2.11:
- Virtual Collections (Exhibition Ready / Private): group files from different physical folders into named albums without moving anything on disk. Mark a collection as Exhibition Ready to make it visible in the sharing portal. Private collections are invisible to guests and never appear in Exhibition.
- 1-5 Star Ratings: rate any image from 1 to 5 stars. Works for solo users too: a great way to personally curate your own library and surface your best work. Ratings are per-user, a global average is shown instantly in the grid, and you can sort by highest rated.
- Real-Time Comments: leave notes on any image, whether you work alone or with a team. Solo users can annotate their own files as personal memos. With a team, each message has its own visibility: Public (everyone), Internal (staff only), or Direct Message to a specific user. Comment keywords are fully searchable from the Filters panel. Press
Gon any image to open the details panel. - Color-Coded Status Tags: tag any image with a pipeline state using keys
1to5: Approved (green), Review (yellow), To Edit (blue), Rejected (red), Select (purple). Browse all files carrying a given status across every folder at once from the Status tab in the sidebar. - Full User Management with ACL Roles: create accounts and assign roles: Admin, MANAGER, STAFF, FRIEND, USER, CUSTOMER, GUEST. Each role controls which interface they can access, what they can see, and what they can download.
- Exhibition Mode (fully optional): a separate, read-only portal you can launch when you want to share work with clients, collaborators, or friends. Completely optional: if you have no need to share, simply never launch it. Only the collections you mark as Exhibition Ready are visible. Workflows and prompts are always hidden from guests.
- Clean Export (
Shift+W): download any file stripped of all embedded workflows, prompts and EXIF metadata. Safe to send to anyone without exposing your process. - Wiki Website: Full documentation with screenshots at smartgallerydam.com (accessible from the top menu: "Docs").
** Improved **
- Mount Any External Drive or Folder: mount external drives, NAS volumes or network paths directly from the UI. Mix ComfyUI output folders with photo archives, video collections or any other media library. All DAM features work on everything, workflow extraction only applies where there is a workflow to extract.
- Powerful search operators: filter by multiple keywords at once using AND, OR and exclusion operators across prompts, models, LoRAs, comment text and more.
Added
- Video Storyboard & Analysis - ffmpeg required
- Quick Storyboard ('E'): Hover over any video in the grid and press
Eto instantly open the storyboard. - Grid Overview: Instantly analyze video content with a clean 11-frame Grid covering the entire duration from Start to the True Last Frame.
- Thumbnail Grid Size: Added a new toggle in the Options menu (
⚙️) allowing users to switch between Normal and Compact view on desktop. This preference is saved automatically. - Options Menu & Autoplay Toggle: New persistent
⚙️ Optionsmenu (Desktop/Mobile) to manage core gallery settings. - Video Autoplay Control: Introduced a session-based toggle to explicitly enable/disable video autoplay in the grid. (Default: OFF to save bandwidth).
- 'P' Shortcut: Added the
Pkey shortcut to quickly toggle the Video Autoplay setting. - Dynamic UX for Videos:
- On Desktop, when Autoplay is OFF, a small ▶ icon appears in the corner. Clicking it plays the video in-grid for quick preview.
- On Mobile, the thumbnail is fully clickable to open the Lightbox (Click-to-Open).
- Visual Feedback: Added a full-screen loader (
loader-overlay) to prevent interaction during the necessary page reload after changing the Autoplay setting. - Focus Mode: A new streamlined view for professionals. Hides UI clutter and changes click behavior to "Select Only" for rapid batching. Accessible via the
⚡button orQkey. - Shortcuts Button: Added a dedicated
? Shortcutsbutton in the desktop header. - Platform Detection: The Shortcuts panel now automatically displays
⌘symbols for Mac users andCtrlfor Windows/Linux. - Generation Dashboard: Added a high-fidelity summary panel at the top of the Node Summary to show Seed, Model, Steps, and Prompts at a glance.
- Grid View Shortcuts: Enabled
N(Node Summary) and other action keys directly in Grid View via mouse hover. - Smart Move (
M): The Move shortcut now detects context: if no files are selected, it automatically selects the hovered item and opens the dialog. - Real Path Resolution: New "Folder Info" tool that resolves and displays the physical path on disk (useful for Docker volumes and Symlinks).
- Asynchronous Rescan: Re-engineered the "Rescan Folder" feature to run in a background thread to avoid 502/Timeout errors on massive libraries.
Changed
- Unified Shortcut Logic: Completely rewrote input handling. Mouse Hover now strictly takes priority over Keyboard Focus for all actions. This fixes inconsistencies where shortcuts would target the wrong file after closing the Lightbox.
- Help UI Overhaul: Redesigned the Keyboard Shortcuts (
?) overlay into a clean, responsive layout. - Hybrid Parser: Integrated
ComfyMetadataParserto support both API-format and UI-format JSON metadata simultaneously for better accuracy. - Header Layout: Reorganized the top bar to group tools (
Shortcuts,Focus Mode,AI Manager) on the right side for better desktop usability. - Smart Dialog Accessibility & Interaction Overhaul Enhanced Keyboard Navigation
Fixed
- KSampler Data Alignment: Fixed a critical parsing issue in Node Summary where the missing
control_after_generatefield caused values (Steps, CFG, Sampler) to shift and display incorrectly. - Focus Loss Bug: Fixed an issue where the
Vkey became unresponsive after returning to the grid until the mouse was moved. - Resolution Display: Fixed an issue where linked resolutions appeared as node IDs (e.g., "41,0") instead of actual dimensions.
- Compare Mode: Implemented a split-view comparison engine for Images and Videos.
- Sync Engine: Mathematical synchronization of Zoom (
scale) and Pan (translate) coordinates between two viewports. - Diff Algorithm: Backend endpoint (
/api/compare_files) that parses workflow JSONs, flattens nodes, and returns a sorted table of parameter differences. - UX Tools: Added image rotation (90° steps) for vertical layouts and interactive floating labels to toggle between filename and resolution.
- Sync Engine: Mathematical synchronization of Zoom (
- Link External Folders: Added capability to mount arbitrary filesystem paths (e.g., external drives, network shares) into the gallery root. Includes a recursive directory browser API (
/api/browse_filesystem). - Mount Guard: Implemented a startup safety check that verifies the accessibility of linked mount roots. If a drive is offline, the system prevents the database garbage collector from deleting associated metadata (Favorites, AI Data).
- Quick Actions (Grid View):
- Keyboard Shortcuts: Added
Thotkey to instantly show/hide the Search & Filter overlay panel. - Quick Delete: Added
DEL/CANClistener. Hovering over an item and pressing the key executes deletion immediately, bypassing the confirmation modal for rapid culling. - Quick Favorite: Added
Flistener. Hovering over an image and pressingFtoggles the favorite status instantly with visual feedback.
- Keyboard Shortcuts: Added
- Enhanced Lightbox Metadata:
- Megapixel Calculation: Frontend now dynamically calculates and displays the MP count (e.g.,
16.7 MP) based on image dimensions, essential for verifying upscales. - Path Resolution: Clicking the folder name now resolves symlinks/junctions to display the Real Disk Path alongside the internal gallery path.
- Megapixel Calculation: Frontend now dynamically calculates and displays the MP count (e.g.,
- DB Migration: Added automatic schema verification for the
sizecolumn during initialization to ensure compatibility with legacy databases.
- Performance (Smart Grid): Completely rewrote the
IntersectionObserverlogic for video elements. Videos now strictly execute.pause()when leaving the viewport and.play()when entering, resolving high resource usage in large grids. - Mounting Logic (Windows): Refactored the
mount_folderendpoint to handle Windows specifics robustly. It now attempts a Junction (mklink /J) first, and automatically falls back to a Symbolic Link (mklink /D) if the target is a Virtual Drive (VXHD) or Network Share, capturing specificstderrmessages for debugging. - Consistency: The application now enforces a Full Sync on every startup (removing the check for empty DB) to guarantee that files deleted or renamed externally via the OS are correctly purged from the internal database.
- Scanning Logic: Switched file indexing from a Blacklist approach to a strict Whitelist of valid media extensions. This prevents the scanner from attempting to process temporary files (e.g.,
_output_images_will_be_put_here) or partial downloads.
- Mounting Errors: Fixed generic "returned non-zero exit status 1" errors during folder linking by sanitizing path separators before passing them to the Windows shell.
- Video Playback: Fixed race conditions in the lazy loading logic to ensure the video poster/thumbnail is always visible while the video buffer is loading.
- "Auto-Watch" Folder Mode: A configurable background monitoring system. Users can set a custom interval (via the refresh menu options) to automatically check for and display new files without manual reloads.
- Recursive Search Mode: New "Include Subfolders" toggle enables deep searching through all nested directories from the current location.
- Smart Filter Persistence: Active search filters and sorting preferences are preserved when navigating between folders.
- Dynamic Filter Discovery: Dropdowns for file extensions and filename prefixes now update dynamically via AJAX based on the content of subfolders.
- ProRes Video Support: Native-like preview for ProRes
.movfiles directly in the browser via real-time ffmpeg transcoding (no intermediate files required). - Workflow Shortcut: Press
Cto instantly copy the current image's workflow metadata to the clipboard.
- Modernized Design System: Unified "Glass/Dark" theme using CSS variables and backdrop-filters, offering improved contrast and reduced visual noise.
- Seamless Infinite Scrolling: Images now load dynamically as you scroll, eliminating the need for "Load More" buttons and optimizing memory usage on both desktop and mobile.
- Enhanced Notification System: Improved state persistence to ensure feedback messages remain visible across page reloads.
- Collapsible Sidebar: The folder sidebar can now be resized or completely collapsed to maximize the gallery workspace.
- Lightbox Immersive Mode (Hide Toolbar): New toggle button (shortcut
H) to hide the overlay toolbar, allowing for a distraction-free, full-screen viewing experience. - Lightbox Help Overlay: Added a "Help" toggle that displays text labels for all toolbar icons, significantly improving accessibility on touch devices where hover tooltips are unavailable.
- Improved Mobile-First Architecture: Fully responsive layout with an independently scrollable sidebar and adaptive thumbnail grid for mobile devices.
- Asynchronous Modal System: Replaced blocking native browser alerts with non-blocking "Smart Dialogs" using Promises (async/await) for a smoother user experience.
- Improved stability during image/video loading when complex filters are active.
- Fixed sidebar scrolling issues and layout glitches in deeply nested folder structures.
- General UI/UX optimizations for performance, responsiveness, and visual consistency across all devices.
- Prompt Keywords Search: New filter to search for text strings directly within the generation prompt. Supports comma-separated multiple keywords (e.g., "woman, kimono").
- Deep Workflow Search: Added a new
Workflow Filessearch field. This searches specifically within the metadata of the generated files to find references to models, LoRAs, and input images used in the workflow (e.g., search for "sd_xl"). - Global Search: Users can now toggle between searching the "Current Folder" or performing a "Global" search across the entire library.
- Date Range Filters: Added
FromandTodate pickers to filter files by their creation/modification time. - "No Workflow" Filter: A new checkbox option to quickly identify files that do not contain embedded workflow metadata.
- Redesigned Filter Panel: The search and filter options have been moved to a collapsible overlay panel for a cleaner UI on both desktop and mobile.
- Database Migration (v26): Added
workflow_filescolumn to the database. - Metadata Backfilling: On first startup after update, the system automatically scans existing files to populate the new
workflow_filessearch data for deep searching. - Optimized SQL: Improved query performance for filtered searches using
WALjournal mode and optimized synchronous settings.
- Filter Dropdown Performance: Added a limit (
MAX_PREFIX_DROPDOWN_ITEMS) to the Prefix dropdown to prevent UI freezing in folders with thousands of unique prefixes. - Navigation Logic: Fixed state retention issues when switching between global search results and folder navigation.
- Image Size: Fixed an issue where the image size for thumbnail generation.
- Docker: Added
FORCE_CHOWNenvironment variable to force chown of the BASE_SMARTGALLERY_PATH folder only. Pre-checked permissions for the BASE_SMARTGALLERY_PATH to avoid permission errors.
- Batch Zip Download: Users can now select multiple files and download them as a single
.ziparchive. The generation happens in the background to prevent timeouts, with a notification appearing when the download is ready. - Environment Variable Support: All major configuration settings (
BASE_OUTPUT_PATH,SERVER_PORT, etc.) can now be set via OS environment variables, making deployment and containerization easier. - Startup Diagnostics (GUI): Added graphical popup alerts on startup to immediately warn users about critical errors (e.g., invalid Output Path) or missing optional dependencies (FFmpeg) without needing to check the console.
- Automatic Update Check: The application now checks the GitHub repository upon launch and notifies the console if a newer version of
smartgallery.pyis available. - Safe Deletion (
DELETE_TO): Introduced a newDELETE_TOenvironment variable. If set, deleting a file moves it to the specified path (e.g.,/tmpor a Trash folder) instead of permanently removing it. This is ideal for Unix systems with auto-cleanup policies for temporary files.
- Workflow Input Visualization: The Node Summary tool now intelligently detects input media (Images, Videos, Audio) used in the workflow (referenced in nodes like
Load Image,LoadAudio,VHS_LoadVideo, etc.) located in theBASE_INPUT_PATH. - Source Media Gallery: Added a dedicated "Source Media" section at the top of the Node Summary overlay. It displays previews for all detected inputs in a responsive grid layout.
- Audio Input Support: Added a native audio player within the Node Summary to listen to audio files used as workflow inputs.
- Advanced Folder Rescan: Added a "Rescan" button with a modal dialog allowing users to choose between scanning "All Files" or only "Recent Files" (files checked > 1 hour ago). This utilizes a new
last_scanneddatabase column for optimization. - Range Selection: Added a "Range" button (
↔️) to the selection bar. When exactly two files are selected, this button appears and allows selecting all files between them. - Enhanced Node Summary: The workflow parser has been updated to support both ComfyUI "UI format" and "API format" JSONs, ensuring node summaries work for a wider range of generated files.
- Smart File Counter: Added a dynamic badge in the toolbar that displays the count of currently visible files. If filters are active (or viewing a subset), it explicitly shows the total number of files in the folder (e.g., "10 Files (50 Total)").
- Keyboard Shortcuts Help: Added a help overlay (accessible via the
?key) listing all available keyboard shortcuts for navigation and file management. - Visual Shortcut Bar: Added a floating shortcuts bar inside the Lightbox view to guide users on available controls (Zoom, Pan, Rename, etc.).
- Advanced Lightbox Navigation:
- Added Numpad Panning: Use Numpad keys (1-9) to pan around zoomed images.
- Added Pan Step Cycling: Press
.to change the speed/distance of keyboard panning. - Added Smart Loader: New visual loader for high-res images in the lightbox for a smoother experience.
- Containerization Support: Added full Docker support to run SmartGallery in an isolated environment.
- Docker Compose & Makefile: Included
compose.yamlfor easy deployment and aMakefilefor advanced build management. - Permission Handling: Implemented
WANTED_UIDandWANTED_GIDenvironment variables to ensure the container can correctly read/write files on the host system without permission errors.
- Security Patch: Implemented robust checks to prevent potential path traversal vulnerabilities.
- FFprobe in Multiprocessing: Fixed an issue where the path to
ffprobewas not correctly passed to worker processes during parallel scanning on some systems.
- Massive Performance Boost with Parallel Processing: Thumbnail generation and metadata analysis have been completely parallelized for both the initial database build and on-demand folder syncing. This drastically reduces waiting times (from many minutes to mere seconds or a few minutes, depending on hardware) by leveraging all available CPU cores.
- Configurable CPU Usage: A new
MAX_PARALLEL_WORKERSsetting has been added to allow users to specify the number of parallel processes to use. Set toNonefor maximum speed (using all cores) or to a specific number to limit CPU usage.
- File Renaming from Lightbox: Users can now rename files directly from the lightbox view using a new pencil icon in the toolbar. The new name is immediately reflected in the gallery view and all associated links without requiring a page reload. Includes validation to prevent conflicts with existing files.
- Persistent Folder Sort: Folder sort preferences (by name or date) are now saved to the browser's
localStorage. The chosen sort order now persists across page reloads and navigation to other folders. - Console Progress Bar for Initial Scan: During the initial database build (the offline process), a detailed progress bar (
tqdm) is now displayed in the console. It provides real-time feedback on completion percentage, processing speed, and estimated time remaining.
- Critical 'Out of Memory' Error: Fixed a critical 'out of memory' error that occurred during the initial scan of tens of thousands of files. The issue was resolved by implementing batch processing (
BATCH_SIZE) for database writes.
- Code Refactoring: File processing logic was centralized into a
process_single_fileworker function to improve code maintainability and support parallel execution.
- Expandable Sidebar: Added an "Expand" button (
↔️) to widen the folder sidebar, making long folder names fully visible. On mobile, this opens a full-screen overlay for maximum readability. - Real-time Folder Search: Implemented a search bar above the folder tree to filter folders by name instantly.
- Bi-directional Folder Sorting: Added buttons to sort the folder tree by Name (A-Z / Z-A) or Modification Date (Newest / Oldest). The current sort order is indicated by an arrow (↑↓).
- Enhanced "Move File" Panel: All new folder navigation features (Search, and Bi-directional Sorting) have been fully integrated into the "Move File" dialog for a consistent experience.
- Bi-directional Thumbnail Sorting: Added sort buttons for "Date" and "Name" to the main gallery view. Each button toggles between ascending and descending order on click, indicated by an arrow.
- Zoom with Mouse Wheel: Implemented zooming in and out of images in the lightbox using the mouse scroll wheel.
- Persistent Zoom Level: The current zoom level is now maintained when navigating to the next or previous image, or after deleting an item.
- Zoom Percentage Display: The current zoom level is now displayed next to the filename in the lightbox title (e.g.,
my_image.png (120%)). - Delete Functionality: Added a delete button (
🗑️) to the lightbox toolbar and enabled theDeletekey on the keyboard for quick deletion (no confirmation required with the key).
- Real-time Sync Feedback: Implemented a non-blocking, real-time folder synchronization process using Server-Sent Events (SSE).
- Sync Progress Overlay: When new or modified files are detected, a progress overlay is now displayed, showing the status and a progress bar of the indexing and thumbnailing operation. The check is silent if no changes are found.
- Dynamic Workflow Filename: When downloading a workflow, the file is now named after the original image (e.g.,
my_image.png->my_image.json) instead of a genericworkflow.json. - Folder Metadata: The backend now retrieves the modification time for each folder to enable sorting by date.
- Minor aesthetic improvements
- Implemented intelligent file management for moving files between folders
- Added automatic file renaming when destination file already exists
- Files are now renamed with progressive numbers (e.g.,
myfile.png→myfile(1).png,myfile(2).png, etc.)
- Fixed issue where file move operations would fail when a file with the same name already existed in the destination folder
- Files are now successfully moved with the new name instead of failing the operation