Enso
Enso is an alternative UI for SD.Next built with React and an infinite canvas workspace. It builds upon the familiar layout of ModernUI improved to meet the intersection between power users and casual users, solving the user experience challenges in more advanced workflows without taking away functionality.
Note
Enso is a work-in-progress alpha. Features, layout, and V2 APIs may change as development continues
Warning
For optimum safety it's recommended to clone and set up a separate installation of SD.Next for experimenting with Enso
What Makes It Different
- Dense but friendly UI - A fusion of dense, power-user controls familiar from ModernUI with enough QoL improvements and assists to be approachable for all. Full command palette, interactive tutorials, customizable shortcuts, prompt editor with autocomplete and visual aids, all with intuitiveness in mind.
- Infinite canvas - Pan and zoom to level of detail you need, compose multiple image layers with free transforms (position, rotation, scale, opacity).
- WYSIWYG - What you see in the canvas frames is exactly what gets sent to the backend - no resizing surprises.
- Layer compositing - Stack multiple images, paint masks, and arrange ControlNet/IP-Adapter reference frames on one workspace with flexibility of infinite canvas to let you see what you want to see.
- Async job queue - Generations are submitted as jobs, tracked in a queue, and can run in the background while you work.
- Presets and rich job history - Save, export and import presets of settings and inputs, recall your prior jobs from the job history queue - both in full, including input images
- Real-time progress - Per-job WebSocket channels push live preview frames and progress updates without polling.
Installation
To enable Enso start SD.Next with the --enso flag.
./webui.bat --enso
And access at /enso endpoint.
localhost:7860/enso/
Enso runs as a SD.Next extension, downloaded and installed automatically with the flag and is updated with the usual --upgrade flag.
Tip
Enso uses its own v2 API (/sdapi/v2/) and does not interfere with the existing v1 API or the Gradio UI
Layout Overview
+------------------------------------------------------------+
| Top Bar: model selector, presets, image tools |
+------+------+----------------------------+-------+---------+
| Left | Left | | Right | Right |
| Rail | Panel| Canvas | Panel | Rail |
| | | | | |
| | | [Canvas Dock] | | |
| | | [Canvas Toolbar] | | |
+------+------+----------------------------+-------+---------+
| Bottom Bar: progress, VRAM, RAM, uptime |
+------------------------------------------------------------+
| Region | What it does |
|---|---|
| Top Bar | Model selector, preset selector, image tools, connection status |
| Left Rail | View switcher: Images, Video, Process, Caption, Gallery |
| Left Panel | Generation parameters, action bar (generate/stop/skip), result thumbnails |
| Canvas | The workspace with floating toolbar and dock panels |
| Right Panel | Quick settings, networks, models, queue, extensions, settings, system info |
| Right Rail | Icon column to toggle right panel tabs |
| Bottom Bar | Generation progress, VRAM/RAM usage, uptime |
Command Palette
One of the features that is principal to the ease of use of Enso is the Command Palette.
It is a one shortcut key to find any functionality, setting or parameter withing the program. It uses semantic fuzzy search, so even if it receives a best-effort guess of the name of the item it is likely it will be able to find it.
The default keybind of the Command Palette is Ctrl + K.
Current status
Enso is under active development. Core functionality that is working:
- Text-to-image and image-to-image generation is generally in fully useable state
- Mask painting and inpainting
- ControlNet and IP-Adapter with visual canvas frames
- Async job queue with live preview
- Job history
- Model and network browsing
- Civitai browser
- Image gallery
- Captioning and prompt enhancement
- Command palette
Other features like video generation are under intense development, and they might or might not work at any given time unless explicitly noted above.
Note
For issues, feature requests, or feedback related to Enso, use the Enso repository rather than the main SD.Next issue tracker