Cross-platform desktop application for hardware-accelerated AI image upscaling using neural networks.
- Architecture Overview
- Key Features
- System Requirements
- Installation
- Usage Instructions
- Integrated Models
- Custom Models Support
- Command Line Interface (CLI)
- Tech Stack
- License
Upscayl is a FOSS (Free and Open Source Software) solution designed for local image upscaling using deep machine learning algorithms.
The software suite combines a graphical user interface based on the Electron framework with the high-performance ncnn computational core (a feed-forward neural network framework). All tensor computations are performed locally on the user's GPU via the Vulkan API, ensuring high processing speed and guaranteeing data privacy without the need to connect to cloud servers.
- Local Processing (Privacy-First): Complete absence of network requests to third-party APIs for rendering.
- Vulkan Hardware Acceleration: Support for a wide range of GPUs (AMD, NVIDIA, Intel, Apple Silicon) without tying into proprietary libraries like CUDA.
- Batch Processing: Automated upscaling of entire directories with folder structure preservation.
- Double Upscale: Optional dual-pass mode through the neural network graphs to achieve x8 or x16 scaling.
- Cross-Platform: Native builds for Windows, macOS, and GNU/Linux.
- Compression Management: Customizable compression settings for JPEG and WebP output formats.
- OS: Windows 10/11 (64-bit), macOS 11.0 and newer, modern Linux distributions.
- GPU: Discrete or integrated graphics adapter with full support for Vulkan 1.2 or newer.
- VRAM (Video RAM): Minimum 2 GB. For the Double Upscale feature on high-resolution images, 8 GB+ VRAM is recommended.
- CPU: Processor with AVX instruction set support (CPU rendering is technically possible as a fallback mechanism, but is highly discouraged due to an exponential increase in processing time).
The recommended installation method is using the compiled binaries from the Releases page.
- Go to the Releases section.
- Download the latest executable file:
upscayl_x64.7z. - Run the downloaded
.exefile. - Follow the standard Windows installer wizard instructions.
- After installation is complete, launch Upscayl via the Desktop shortcut or Start menu.
The workflow is divided into 4 basic steps:
- Step 1: Select Image / Folder. Select a single image (JPG, PNG, WEBP, BMP) or toggle
Batch Upscaleto select a directory with images. - Step 2: Select Model. Choose the neural network model best suited for your source data type (see the "Integrated Models" section).
- Step 3: Set Output Folder. Specify the directory to save the processed files. (By default, results are saved in the source file's directory).
- Step 4: Upscayl. Click the button to start the process. The progress bar will display the status of Vulkan shader compilation and subsequent tensor computation.
The application includes optimized .bin / .param files for various tasks:
- Real-ESRGAN: The standard model. Optimal for real photographs, effectively removes JPEG compression artifacts.
- Remacri: A model with an aggressive micro-contrast enhancement algorithm. Ideal for extracting textures, but may generate oversharpening artifacts on low-quality images.
- Ultramix Balanced: A universal model aimed at preserving original color grading while moderately enhancing details.
- Ultrasharp: Specializes in sharpening object edges without significantly altering surface textures.
- Digital Art: A family of models (including Waifu2x alternatives) optimized for upscaling 2D graphics, illustrations, vector images, and animation.
Upscayl allows connecting third-party neural network graphs compiled for the ncnn framework.
Connection Instructions:
- In the application Settings, enable the
Custom Modelsoption. - Specify the path to the local directory containing the model files.
- The file format must strictly match the ncnn architecture: each model must consist of an architecture file (
.param) and a weights file (.bin). The filenames must match (e.g.,my_model.paramandmy_model.bin).
For system administrators and developers, the upscayl-bin computational core binary is available (based on realesrgan-ncnn-vulkan).
It allows integrating the upscaling pipeline into bash/PowerShell scripts and automating processing on servers without a graphical interface (Headless environments). Detailed documentation on CLI arguments is available in the Upscayl-NCNN repository.
- Frontend: React, TypeScript, Vite.
- Backend/Desktop Wrapper: Electron, Node.js.
- AI Engine: ncnn (Tencent).
- Hardware API: Vulkan.
The project is distributed under the AGPL-3.0 license.
You are free to use, modify, and distribute this software provided that all derivative works are also distributed under the AGPL-3.0 license and their source code is open. The source code of the ncnn libraries and models is governed by their respective licenses.