Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

50 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

HiPixel

Using my apps is also a way to support me:

Zipic Orchard TimeGo Clock KeygenGo HiPixel

HiPixel Logo

HiPixel

License: AGPL v3 Swift 5.9 Platform: macOS macOS 13.0+

English | δΈ­ζ–‡


AI-Powered Image Super-Resolution for macOS

HiPixel is a native macOS application for AI-powered image super-resolution, built with SwiftUI and leveraging Upscayl's powerful AI models.

HiPixel Screenshot

✨ Features

🧠 AI Processing

  • 🎨 Four built-in AI models: Standard, Lite, High Fidelity, and Digital Art
  • πŸ“¦ Custom model support β€” load your own models from a local folder
  • ✨ Double Processing β€” upscale twice in one pass for higher effective resolution
  • πŸ”¬ Optional TTA (Test-Time Augmentation) for even better quality
  • πŸ“· EXIF metadata preservation β€” camera and orientation info survives upscaling
  • πŸš€ GPU acceleration with manual GPU selection and custom tile size

⚑ Workflow & Automation

  • πŸ–±οΈ Drag-and-drop processing β€” images are processed automatically upon dropping
  • πŸ—‚οΈ Batch processing for multiple images at once
  • πŸ“ Folder monitoring β€” new images added to designated folders are processed automatically
  • πŸ”— URL Scheme (hipixel://) with full processing options for scripts and third-party integration
  • βš™οΈ Apple Shortcuts integration β€” automate upscaling with the "Upscale Images" action
  • πŸ—œοΈ Zipic integration for smart compression after upscaling

πŸ–₯️ Interface & Experience

  • πŸ–₯️ Native macOS application built with SwiftUI
  • πŸ” Image comparison viewer with zoom (1x–5x), pan, and one-click reprocessing
  • πŸ’Ύ Manual or automatic saving β€” review results before saving, or save automatically
  • πŸ“Œ Menu bar access with optional Dock icon hiding and silent launch
  • πŸ”” Three notification styles: HiPixel banner, notch-style, or system notifications
  • πŸ–ΌοΈ Output as PNG, JPG, WebP, or the original format
  • πŸŒ“ Light/dark appearance and alternate app icon

πŸ’‘ Why HiPixel?

While Upscayl already offers an excellent macOS application, HiPixel was developed with specific goals in mind:

  1. Native macOS Experience

    • Built as a native SwiftUI application while utilizing Upscayl's powerful binary tools and AI models
    • Provides a seamless, platform-native experience that feels right at home on macOS
  2. Enhanced Workflow Efficiency

    • Streamlined interaction with drag-and-drop processing - images are processed automatically upon dropping
    • Batch processing support for handling multiple images simultaneously
    • URL Scheme support for third-party integration, enabling automation and workflow extensions
    • Folder monitoring capability that automatically processes new images added to designated folders
    • Simplified interface focusing on the most commonly used features, making the upscaling process more straightforward

HiPixel aims to complement Upscayl by offering an alternative approach focused on workflow efficiency and native macOS integration, while building upon Upscayl's excellent AI upscaling foundation.

🧠 AI Models

HiPixel ships with four built-in models from Upscayl:

Model ID Best For
Standard upscayl-standard-4x General-purpose upscaling for photos
Lite upscayl-lite-4x Faster processing with lower resource usage
High Fidelity high-fidelity-4x Maximum detail preservation
Digital Art digital-art-4x Illustrations, anime, and digital artwork

Custom Models

Beyond the built-in models, you can load your own:

  1. Put your model files in a folder β€” each model is a pair of <name>.bin and <name>.param files (ncnn format, the same format Upscayl uses)
  2. Select this folder in Settings (or pass it via the customModelsFolder URL parameter)
  3. Pick the custom model from the model list

When both a built-in and a custom model are specified, the custom model takes precedence.

On-Demand Resource Download

To keep the app download small, HiPixel fetches upscayl-bin and the AI models over the network on first launch:

  • All downloads are verified with SHA256 checksums
  • Resources are stored in ~/Library/Application Support/hipixel/
  • Updates are checked automatically at launch; a manual check is available in the Advanced settings tab

πŸ”— URL Scheme Support

HiPixel supports URL Scheme for processing images via external applications or scripts. You can specify image processing options via URL query parameters, which will override the default settings in the app.

Basic URL Format

hipixel://?path=/path/to/image1&path=/path/to/image2

URL Parameters

Parameter Type Description Example Values
path String Required. Path to image file(s) or folder(s). Multiple paths can be specified by repeating this parameter. /Users/username/Pictures/image.jpg
saveImageAs String Output image format. PNG, JPG, WEBP, Original
imageScale Number Upscaling factor (multiplier). 2.0, 4.0, 8.0
imageCompression Number Compression level (0-99). Only applies when not using Zipic compression. 0, 50, 90
enableZipicCompression Boolean Enable Zipic compression (requires Zipic app installed). true, false, 1, 0
enableSaveOutputFolder Boolean Save output to a custom folder instead of the same directory as source. true, false, 1, 0
saveOutputFolder String Custom output folder path (URL encoded). Requires enableSaveOutputFolder=true. /Users/username/Output
overwritePreviousUpscale Boolean Overwrite existing upscaled images if they already exist. true, false, 1, 0
gpuID String GPU ID to use for processing. Empty string uses default GPU. 0, 1, 2
customTileSize Number Custom tile size for processing. 0 uses default. 0, 128, 256, 512
customModelsFolder String Custom folder path for AI models (URL encoded). /Users/username/Models
upscaylModel String Built-in AI model to use. upscayl-standard-4x, upscayl-lite-4x, high-fidelity-4x, digital-art-4x
selectedCustomModel String Custom model name to use. Conflicts with upscaylModel (custom model takes precedence). my-custom-model
doubleUpscayl Boolean Enable double upscaling (upscale twice for higher resolution). true, false, 1, 0
enableTTA Boolean Enable Test Time Augmentation for better quality (slower processing). true, false, 1, 0

Example Usage

Terminal:

# Process a single image with default settings
open "hipixel://?path=/Users/username/Pictures/image.jpg"

# Process multiple images
open "hipixel://?path=/Users/username/Pictures/image1.jpg&path=/Users/username/Pictures/image2.jpg"

# Process with custom options: 4x scale, PNG format, double upscaling enabled
open "hipixel://?path=/Users/username/Pictures/image.jpg&imageScale=4.0&saveImageAs=PNG&doubleUpscayl=true"

# Process with custom output folder and Zipic compression
open "hipixel://?path=/Users/username/Pictures/image.jpg&enableSaveOutputFolder=true&saveOutputFolder=/Users/username/Output&enableZipicCompression=true"

# Process with specific AI model and TTA enabled
open "hipixel://?path=/Users/username/Pictures/image.jpg&upscaylModel=high-fidelity-4x&enableTTA=true"

AppleScript:

tell application "Finder"
    set selectedFiles to selection as alias list
    set urlString to "hipixel://"
    set firstFile to true
    repeat with theFile in selectedFiles
        if firstFile then
            set urlString to urlString & "?path=" & POSIX path of theFile
            set firstFile to false
        else
            set urlString to urlString & "&path=" & POSIX path of theFile
        end if
    end repeat
    -- Add processing options
    set urlString to urlString & "&imageScale=4.0&saveImageAs=PNG"
    open location urlString
end tell

Shell Script:

#!/bin/bash
# Process all images in a folder with custom settings

IMAGE_PATH="/Users/username/Pictures"
OUTPUT_FOLDER="/Users/username/Upscaled"

for image in "$IMAGE_PATH"/*.{jpg,jpeg,png}; do
    if [ -f "$image" ]; then
        open "hipixel://?path=$image&imageScale=4.0&enableSaveOutputFolder=true&saveOutputFolder=$OUTPUT_FOLDER&doubleUpscayl=true"
    fi
done

Notes

  • All parameters except path are optional. If not specified, the app will use the default settings configured in the app preferences.
  • Multiple path parameters can be specified to process multiple images or folders in a single call.
  • Boolean values accept: true, false, 1, 0, yes, no, on, off (case-insensitive).
  • File paths and folder paths containing special characters should be URL encoded.
  • When both upscaylModel and selectedCustomModel are specified, selectedCustomModel takes precedence.
  • If enableSaveOutputFolder=true but saveOutputFolder is not provided, the output will be saved in the same directory as the source image.

βš™οΈ Shortcuts Integration

HiPixel supports Apple Shortcuts via the App Intents framework. Add the "Upscale Images" action in the Shortcuts app to build your own automation β€” every processing option is configurable per shortcut, including AI model (built-in or custom), scale factor, output format, output folder, compression, double processing, and TTA.

πŸš€ Installation

Download HiPixel

Via Homebrew

brew install okooo5km/tap/hipixel

Manual Download

  1. Visit hipixel.5km.tech to download the latest version
  2. Move HiPixel.app to your Applications folder
  3. Launch HiPixel

Note: HiPixel requires macOS 13.0 (Ventura) or later.

πŸ› οΈ Building from Source

  1. Clone the repository:
git clone https://github.com/okooo5km/hipixel
cd hipixel
  1. Open HiPixel.xcodeproj in Xcode
  2. Build and run the project

πŸ“ License

HiPixel is licensed under the GNU Affero General Public License v3.0 (AGPLv3). This means:

  • βœ… You can use, modify, and distribute this software
  • βœ… If you modify the software, you must:
    • Make your modifications available under the same license
    • Provide access to the complete source code
    • Preserve all copyright notices and attributions

This software uses Upscayl's binaries and AI models, which are also licensed under AGPLv3.

β˜•οΈ Support the Project

If you find HiPixel helpful, please consider supporting its development:

  • ⭐️ Star the project on GitHub
  • πŸ› Report bugs or suggest features
  • πŸ’ Support via:
Buy Me a Coffee WeChat Pay Alipay

Your support helps maintain and improve HiPixel!

πŸ‘‰ Recommended Tool

  • Zipic - Smart image compression tool with AI optimization
    • πŸ”„ Perfect Pairing: After upscaling images with HiPixel, use Zipic for intelligent compression to reduce file size while maintaining clarity
    • 🎯 Workflow Suggestion: HiPixel upscaling β†’ Zipic compression β†’ Optimized output image
    • ✨ Enhanced Results: Compared to using either tool alone, combined use provides the optimal balance of quality and file size

Explore more 5KM Tech products that bring simplicity to complex tasks.

πŸ™ Attribution

HiPixel uses the following components from Upscayl:

  • upscayl-bin - The binary tool for AI upscaling (AGPLv3)
  • AI Models - The AI models for image super-resolution (AGPLv3)

Special thanks to zaotang.xyz for designing the new application icon and main window interaction interface for HiPixel v0.2.

HiPixel also uses:

  • FSWatcher - A high-performance, Swift-native file system watcher for macOS and iOS with intelligent monitoring (MIT License)
  • Sparkle - A software update framework for macOS applications (MIT License)
  • NotchNotification - A custom notch-style notification banner for macOS (MIT License)
  • GeneralNotification - A custom notification banner for macOS (MIT License)

About

HiPixel is a native macOS application for AI-powered image super-resolution, built with SwiftUI and leveraging Upscayl's powerful AI models.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages