Skip to content

upscayl-ai/upscayl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ†™ Upscayl - Free and Open Source AI Image Upscaler

Cross-platform desktop application for hardware-accelerated AI image upscaling using neural networks.


Table of Contents

  1. Architecture Overview
  2. Key Features
  3. System Requirements
  4. Installation
  5. Usage Instructions
  6. Integrated Models
  7. Custom Models Support
  8. Command Line Interface (CLI)
  9. Tech Stack
  10. License

Architecture Overview

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.

Key Features

  • 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.

System Requirements

  • 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).

πŸ—οΈ Installation

The recommended installation method is using the compiled binaries from the Releases page.

Windows

  1. Go to the Releases section.
  2. Download the latest executable file: upscayl_x64.7z.
  3. Run the downloaded .exe file.
  4. Follow the standard Windows installer wizard instructions.
  5. After installation is complete, launch Upscayl via the Desktop shortcut or Start menu.

Usage Instructions

The workflow is divided into 4 basic steps:

  1. Step 1: Select Image / Folder. Select a single image (JPG, PNG, WEBP, BMP) or toggle Batch Upscale to select a directory with images.
  2. Step 2: Select Model. Choose the neural network model best suited for your source data type (see the "Integrated Models" section).
  3. Step 3: Set Output Folder. Specify the directory to save the processed files. (By default, results are saved in the source file's directory).
  4. 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.

Integrated Models

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.

Custom Models Support

Upscayl allows connecting third-party neural network graphs compiled for the ncnn framework.

Connection Instructions:

  1. In the application Settings, enable the Custom Models option.
  2. Specify the path to the local directory containing the model files.
  3. 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.param and my_model.bin).

Command Line Interface (CLI)

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.

πŸ€“ Tech Stack

  • Frontend: React, TypeScript, Vite.
  • Backend/Desktop Wrapper: Electron, Node.js.
  • AI Engine: ncnn (Tencent).
  • Hardware API: Vulkan.

License

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.

About

πŸ†™ Upscayl - #1 Free and Open Source AI Image Upscaler Windows.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors