gitmyhub

chaiNNer

Python ★ 5.9k updated 1mo ago

A node-based image processing GUI aimed at making chaining image processing tasks easy and customizable. Born as an AI upscaling application, chaiNNer has grown into an extremely flexible and powerful programmatic image processing application.

A desktop visual editor where you connect blocks called nodes to build image-processing workflows, no coding needed. Great for AI upscaling, batch editing, and video frame processing.

PythonPyTorchNCNNONNXTensorRTsetup: easycomplexity 2/5

chaiNNer is a desktop application for processing images using a visual, node-based editor. Instead of writing code or working through fixed menus, you build a workflow by dragging blocks called nodes onto a canvas and connecting them with wires. Each node does one specific job, such as loading an image, applying a filter, running an AI model, or saving a result. You chain them together to describe the full sequence of operations you want to run.

The project started as an AI image upscaling tool, meaning it was built to take a small or blurry image and produce a larger, sharper version using a trained neural network model. It has since grown into a more general image processing application, though upscaling remains a common use case.

To do AI-based work, you first choose a framework from a built-in dependency manager. chaiNNer supports four options: PyTorch, NCNN, ONNX, and TensorRT. Nvidia GPU owners typically get the best performance from PyTorch or TensorRT. AMD GPU owners on any platform can use NCNN, and AMD users on Linux can also use PyTorch via a separate driver path. Apple Silicon Macs use PyTorch with a different acceleration method. A CPU-only fallback is available on any machine if no supported GPU is present.

You do not need Python installed on your system before starting. chaiNNer downloads and manages its own isolated Python environment on first launch, so it will not interfere with anything else. Installation is a standard download-and-run package for Windows, macOS, or Linux.

Batch processing is built in. A Load Images node processes an entire folder of images in one run. A Load Video node works through video files frame by frame. The editor shows visual feedback during a run by animating the connections between nodes, and a toolbar provides stop and pause controls. Nodes are color-coded by the type of data they pass, which makes it straightforward to see which outputs can connect to which inputs.

Where it fits