A cross-platform desktop application for running AI models from WaveSpeedAI.
- Model Browser: Browse and search available AI models with fuzzy search, sortable by popularity, name, price, or type
- Favorites: Star your favorite models for quick access with a dedicated filter
- Multi-Tab Playground: Run predictions with multiple models simultaneously in separate tabs
- Batch Processing: Run the same prediction multiple times (2-16) with auto-randomized seeds for variations
- Dynamic Forms: Auto-generated forms from model schemas with validation
- Mask Drawing: Interactive canvas-based mask editor for models that accept mask inputs, with brush, eraser, and bucket fill tools
- Templates: Save and reuse playground configurations as templates for quick access
- LoRA Support: Full support for LoRAs including high-noise and low-noise LoRAs for Wan 2.2 models
- Free Tools: Free AI-powered image and video tools (no API key required)
- Image Enhancer: Upscale images 2x-4x with ESRGAN models (slim, medium, thick quality options)
- Video Enhancer: Frame-by-frame video upscaling with real-time progress and ETA
- Face Enhancer: Enhance and restore face quality using YOLO v8 for detection and GFPGAN v1.4 for enhancement (WebGPU accelerated)
- Background Remover: Remove image backgrounds instantly using AI, displaying foreground, background, and mask outputs simultaneously with individual download buttons
- Image Eraser: Remove unwanted objects from images using LaMa inpainting model with smart crop and blend (WebGPU accelerated)
- Segment Anything: Interactive object segmentation with point prompts using SlimSAM model
- Video Converter: Convert videos between formats (MP4, WebM, AVI, MOV, MKV) with codec and quality options
- Audio Converter: Convert audio between formats (MP3, WAV, AAC, FLAC, OGG) with bitrate control
- Image Converter: Batch convert images between formats (JPG, PNG, WebP, GIF, BMP) with quality settings
- Media Trimmer: Trim video/audio files by selecting start and end times
- Media Merger: Merge multiple video/audio files into one
- Z-Image (Local): Run local image generation via stable-diffusion.cpp with model/aux downloads, progress, and logs
- Multi-Phase Progress: Compact progress bars with phase indicators, real-time status, and ETA for all Free Tools
- History: View your recent predictions (last 24 hours) with detailed view, download, and copy prediction ID
- My Assets: Save, browse, and manage generated outputs (images, videos, audio) with tags, favorites, and search
- Auto-Save: Automatically save generated outputs to your local assets folder (enabled by default)
- File Upload: Support for image, video, and audio file inputs with drag & drop
- Media Capture: Built-in camera capture, video recording with audio waveform, and audio recording
- View Documentation: Quick access to model documentation from the playground
- Account Balance: View your current WaveSpeed account balance in Settings with one-click refresh
- Theme Support: Auto (system), dark, and light theme options
- Multi-Language: Support for 18 languages including English, Chinese, Japanese, Korean, and more
- Auto Updates: Automatic update checking with stable and nightly channels
- Cross-Platform: Available for Windows, macOS, and Linux
Or browse all releases on the Releases page.
Windows
- Download
.exe(installer) or.zip(portable) - Run the installer and follow the prompts, or extract the zip file
- Launch "WaveSpeed Desktop" from Start Menu or the extracted folder
macOS
- Download
.dmgfor your chip (Apple Silicon or Intel) - Open the
.dmgfile and drag the app to Applications - Launch the app from Applications
Linux
- Download
.AppImageor.deb - For AppImage: Make it executable (
chmod +x *.AppImage) and run it - For .deb: Install with
sudo dpkg -i *.deb
Note: Nightly builds may be unstable. Use the stable releases for production use.
- Node.js 20+
- npm
# Clone the repository
git clone https://github.com/WaveSpeedAI/wavespeed-desktop.git
cd wavespeed-desktop
# Install dependencies
npm install
# Start development server
npm run dev| Script | Description |
|---|---|
npm run dev |
Start development server with hot reload |
npx vite |
Start web-only dev server (no Electron) |
npm run build |
Build the application |
npm run build:win |
Build for Windows |
npm run build:mac |
Build for macOS |
npm run build:linux |
Build for Linux |
npm run build:all |
Build for all platforms |
wavespeed-desktop/
├── electron/ # Electron main process
│ ├── main.ts # Main process entry
│ └── preload.ts # Preload script (IPC bridge)
├── src/
│ ├── api/ # API client
│ ├── components/ # React components
│ │ ├── layout/ # Layout components
│ │ ├── playground/ # Playground components
│ │ ├── shared/ # Shared components
│ │ └── ui/ # shadcn/ui components
│ ├── hooks/ # Custom React hooks
│ ├── i18n/ # Internationalization (18 languages)
│ ├── lib/ # Utility functions
│ ├── pages/ # Page components
│ ├── stores/ # Zustand stores
│ ├── types/ # TypeScript types
│ └── workers/ # Web Workers (upscaler, background remover, image eraser, ffmpeg)
├── .github/workflows/ # GitHub Actions
└── build/ # Build resources
- Framework: Electron + electron-vite
- Frontend: React 18 + TypeScript
- Styling: Tailwind CSS + shadcn/ui
- State Management: Zustand
- HTTP Client: Axios
- Launch the application
- Go to Settings
- Enter your WaveSpeedAI API key
- Start using the Playground!
Get your API key from WaveSpeedAI
The application uses the WaveSpeedAI API v3:
| Endpoint | Method | Description |
|---|---|---|
/api/v3/models |
GET | List available models |
/api/v3/{model} |
POST | Run a prediction |
/api/v3/predictions/{id}/result |
GET | Get prediction result |
/api/v3/predictions |
POST | Get prediction history |
/api/v3/media/upload/binary |
POST | Upload files |
/api/v3/balance |
GET | Get account balance |
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - see LICENSE for details.

