Eleven GUI is a desktop client for ElevenLabs built with Python 3.11+ and PySide6. It brings subscription visibility, voice management, cloning workflows, text-to-speech, speech-to-speech, playback, history management, and accessibility-focused navigation into one application.
The interface is designed for both keyboard-first and screen-reader users. The current UI direction favors a calmer layout, reduced visual density, and clear action grouping over engineering-panel complexity.
- Latest Release
- Windows release artifacts are published as a portable zip, a standalone executable, and an Inno Setup installer
- Subscription, credit usage, voice slot usage, and cloning access visibility
- Model availability overview for TTS and STS workflows
- Shared library browsing and import
- My Voices and Cloned Voices management
- Metadata editing
- Preview playback
- Batch selection and batch delete
- Route any supported voice directly into Studio
- Text-to-Speech generation with voice settings overrides
- Speech-to-Speech conversion with source file selection
- Auto-play after generation
- Replay, regenerate, stop, and download actions
- Instant Voice Clone and Professional Voice Clone flows
- Sample upload, sample reordering, and sample preview
- PVC verification and training actions
- Batch clone delete
- Accessible history list
- Replay, batch download, and batch delete
- Global page shortcuts with
Ctrl+1throughCtrl+6 - Context shortcuts for refresh, preview, use, delete, generate, download, and clone actions
F6andShift+F6region navigation- Inner tab switching with
Ctrl+Tab,Ctrl+Shift+Tab,Ctrl+PgDown, andCtrl+PgUp
- Accessible names and descriptions across major controls
- List-based selection flows instead of screen-reader-hostile data grids for key pages
- Focus-safe text editors where
Tabmoves to the next control - Consolidated announcements for removed unavailable voices
- Optional
accessible_output2spoken fallback on Windows
- Python 3.11+
- PySide6
- httpx
- python-dotenv
- accessible-output2 on Windows
python -m pip install -r requirements.txt
python main.pyThe project includes a release build script for Nuitka:
powershell -ExecutionPolicy Bypass -File .\scripts\build-release.ps1 -Version 1.0.2Build outputs:
build/for intermediate compilation outputdist/release/ElevenGUI-<version>-win64/ElevenGUI.exedist/release/ElevenGUI-<version>-win64.zip
The installer build script compiles the portable artifact first, installs Inno Setup locally if needed, and then produces a Windows setup executable:
powershell -ExecutionPolicy Bypass -File .\scripts\build-installer.ps1 -Version 1.0.2Installer output:
dist/release/ElevenGUI-<version>-setup.exe
The app reads the ElevenLabs API key from one of the following locations:
.envapi key.txt
Preferred .env format:
ELEVENLABS_API_KEY=your_key_hereSecrets are intentionally excluded from version control through .gitignore.
Portable builds include a .portable marker and keep configuration, cache, and outputs next to the executable.
Installed builds use per-user locations:
%APPDATA%\ElevenGUIfor the saved API key%LOCALAPPDATA%\ElevenGUIfor cache and generated files
The repository includes a signing helper:
powershell -ExecutionPolicy Bypass -File .\scripts\sign-artifact.ps1 -Files .\dist\release\ElevenGUI-1.0.2-setup.exeSigning is enabled automatically when these environment variables are available:
CODESIGN_CERT_PATHCODESIGN_CERT_PASSWORD- optional
CODESIGN_TIMESTAMP_URL
For local or internal testing without a purchased certificate:
$env:CODESIGN_USE_DEV_CERT = "1"
powershell -ExecutionPolicy Bypass -File .\scripts\build-installer.ps1 -Version 1.0.2This creates a self-signed development certificate for the current user and signs the generated artifacts through PowerShell Authenticode. It is suitable for internal builds, not for public trusted distribution.
eleven_gui/
├─ api/ # ElevenLabs client and payload models
├─ assets/ # SVG illustrations and app icon
├─ services/ # Worker infrastructure
├─ ui/
│ ├─ pages/ # Application pages
│ └─ widgets.py # Shared UI building blocks
├─ accessibility.py
├─ config.py
├─ theme.py
└─ app.py
python main.pyGenerated audio files are written to outputs/. Temporary working files are written to .cache/.
- Reduced information density
- Summary-first layouts
- Collapsible advanced controls in Studio
- Batch-friendly list interactions
- Strong focus visibility for low-vision and keyboard users
.envandapi key.txtare ignoredoutputs/and.cache/are ignored
- CHANGELOG.md
- Release Notes 1.0.2
- Release Notes 1.0.1
- Release Notes 1.0.0
- LICENSE
- .env.example
- CONTRIBUTING.md
- SECURITY.md
- Introduction
- Get User Subscription
- List Voices
- Get Shared Voices
- Add Shared Voice
- Create Instant Voice Clone
- Text to Speech
- Speech to Speech
- History
The application currently covers the main ElevenLabs desktop workflows with a strong emphasis on accessibility, batch actions, and a more modern UI structure.



