A transparent app to improve your images
  • C++ 89.5%
  • Shell 4.4%
  • CMake 3.5%
  • PowerShell 2.1%
  • Inno Setup 0.5%
Find a file
Dragos Bajanica b9067330a5
All checks were successful
build-and-test / Build and test (push) Successful in 5m15s
Add FeyNoBg support
2026-09-07 12:52:42 -04:00
.forgejo/workflows Further workflow fixes 2026-09-04 12:50:03 -04:00
.github/workflows Fix publish step 2026-09-04 17:13:35 -04:00
external Add FeyNoBg support 2026-09-07 12:52:42 -04:00
models Add default denoise model 2026-09-02 11:35:21 -04:00
packaging AppImage improvements 2026-09-07 09:53:55 -04:00
resources Add GitHub CI/CD 2026-09-04 11:47:24 -04:00
src Add FeyNoBg support 2026-09-07 12:52:42 -04:00
tests AppImage improvements 2026-09-07 09:53:55 -04:00
vcpkg@f007e903c4 Initial commit 2026-08-20 19:48:51 -04:00
.gitattributes Add GitHub CI/CD 2026-09-04 11:47:24 -04:00
.gitignore Improve performance and architecture 2026-09-01 19:01:19 -04:00
.gitmodules Add GitHub CI/CD 2026-09-04 11:47:24 -04:00
CMakeLists.txt Bump version 2026-09-04 20:52:30 -04:00
CMakePresets.json Further macOS workflow fixes 2026-09-04 16:18:01 -04:00
LICENSE Initial commit 2026-08-20 19:48:51 -04:00
PLAN.md Add FeyNoBg support 2026-09-07 12:52:42 -04:00
README.md Add FeyNoBg support 2026-09-07 12:52:42 -04:00
vcpkg.json Use shaderc pacakge 2026-09-04 13:14:50 -04:00

transparent

Local, GPU-accelerated image editing. Background removal, denoising, upscaling, and bokeh blur, all in one app. Linux first, with a working native Windows build. No cloud calls, no subscriptions, no telemetry.

Capabilities

Everything below works end to end and is covered by CI.

  • Vulkan GPU acceleration with CPU fallback (on macOS via MoltenVK's Vulkan-over-Metal translation)
  • Background removal via BiRefNet-lite
  • Denoising via SCUNet
  • 4x upscaling via Real-ESRGAN
  • Bokeh blur with an adjustable strength slider
  • A zoomable preview with a before/after comparison
  • Model management in the settings tab, including user-imported models from disk
  • Simple mode for one operation at a time
  • Advanced mode for running several in any order
  • Single images, batch folders, and animated GIF in and out

Inference runs via vision.cpp, vendored as a pinned submodule from this fork which adds the SCUNet architecture. GIF encoding uses giflib plus a small built-in color quantizer.

Releases

Binaries for Windows (installer), Linux (AppImage), and macOS (Apple Silicon DMG) are published on the GitHub mirror. All artifacts are unsigned.

Building

Prerequisites:

  • Git
  • CMake 3.28+
  • Ninja
  • C++20 compiler
  • Qt6 base

vcpkg is vendored as a git submodule and supplies the other necessary libraries.

Linux

  1. Install the system dependencies:

Debian/Ubuntu (Debian 13 and Ubuntu 24.04 or newer):

sudo apt install build-essential cmake ninja-build git qt6-base-dev shaderc

Fedora:

sudo dnf install gcc-c++ cmake ninja-build git qt6-qtbase-devel glslc

Arch:

sudo pacman -S --needed base-devel cmake ninja git qt6-base shaderc
  1. Clone the repository:
git clone https://forge.db-serve.com/dbajan/transparent.git
cd transparent
git submodule update --init --recursive
  1. Configure and build:
cmake --preset default
cmake --build build
  1. Run the tests:
ctest --test-dir build
  1. Run the app:
./build/transparent
  1. Package into an AppImage:
./packaging/build-appimage.sh

Windows

The native MSVC route works and is exercised with every change.

  1. Install system dependencies
winget install --id Microsoft.VisualStudio.2022.BuildTools --override "--wait --passive --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.Windows11SDK.26100"
winget install -e --id Git.Git
winget install -e --id Kitware.CMake
winget install -e --id Ninja-build.Ninja
winget install -e --id KhronosGroup.VulkanSDK
uvx --from aqtinstall aqt install-qt windows desktop 6.8.3 win64_msvc2022_64 -O C:\Qt
  1. Enable long paths on Git. The vcpkg and vision.cpp source trees exceed the default MAX_PATH limit.
git config --global core.longpaths true
sudo reg add "HKLM\SYSTEM\CurrentControlSet\Control\FileSystem" /v LongPathsEnabled /t REG_DWORD /d 1
  1. Clone the repository:
git clone https://forge.db-serve.com/dbajan/transparent.git C:\Documents\Dev\transparent
cd C:\Documents\Dev\transparent
git submodule update --init
  1. Build the app using cl.exe.
set PATH=C:\Qt\6.8.3\msvc2022_64\bin;%PATH%
cmake --preset windows
cmake --build build
  1. Run the tests:
ctest --test-dir build
  1. Run the app:
.\build\transparent.exe
  1. Build the installer:
winget install -e --id JRSoftware.InnoSetup
powershell -ExecutionPolicy Bypass -File packaging\build-installer.ps1

macOS (Apple Silicon only)

  1. Install system dependencies:
brew install cmake ninja molten-vk
pip install aqtinstall
aqt install-qt mac desktop 6.8.3 clang_64 -O "$HOME/qt"
export PATH="$HOME/qt/6.8.3/macos/bin:$PATH"
  1. Clone the repository and init submodules (see Linux section).

  2. Configure and build (deploys into a runnable app bundle):

cmake --preset macos
cmake --build build
./build/transparent.app/Contents/MacOS/transparent
  1. Package into a DMG (ad-hoc signed; see Releases above for the first-launch workaround):
./packaging/build-macos.sh

Models

Three defaults are downloaded and checksum-verified at configure time, and copied into the app's data directory on first launch, so a fresh install works offline:

Category Model License Source
Background removal BiRefNet-lite MIT Acly/BiRefNet-GGUF
Denoise SCUNet color real GAN Apache-2.0 transparent-models
Upscale Real-ESRGAN foolhardy_Remacri BSD-3-Clause Acly/Real-ESRGAN-GGUF

More models are available to install in the settings tab, including FeyNoBg and BiRefNet-dynamic for background removal. Custom converted models can be added using the Add model from disk button or by placing them in the models folder. Only birefnet, scunet, and esrgan are currently supported.

To convert your own checkpoints for a supported architecture, use scripts/convert.py in the vision.cpp fork. It supports the same architectures and produces F16 GGUF files, for example:

uv run python scripts/convert.py esrgan 4x-UltraSharp.pth -q f16 -o models/

The birefnet converter also accepts the HF/timm-style checkpoints published by NoBg, such as FeyNoBg.

License

This project's own code is GPLv3. Bundled third-party components (Qt, vision.cpp/ggml, BiRefNet-lite, SCUNet, Real-ESRGAN, giflib) keep their own licenses.