Every now and then I stumble upon something that is amazing and yet weirdly niche. This is the case with ChaiNNer. It can be downloaded from its git Release page or from their official page at Chainner.app.
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.
ChaiNNer can not only upscale images but perform all sorts of operations on Images and Video, which is a big plus in my book.
It’s that weird app that lives between programming the app yourself and the use of prepackaged Photo editors where a user has no need or inclination to know what’s happening under the hood. It uses node based interface that has become really popular in recent years. Blender uses them, CumfyUI uses them and many other applications, but that also means that they can frighten some casual users. Fear not, it’s not that intimidating once you realize it’s just a representation of how things flow from one operation to another and ChaiNNer shows you that flow once you hit that Play button on the top.
It is important to note that it’s in its Alpha state and a lot of creature comforts are missing. One of the major features that are missing is the automatic download of AI models that it uses to do its magic, but its not that of an issue as they can be downloaded from the Visual Comparison of Upscaling Models webpage.
As of three months ago the active development was “paused” indefinitely. Thich sukz and I really hope they will continue with it. I know its a passion project but a good one.
The first startup takes a while as its backend is written in Python and it needs to download all of the essential things it needs. Why it does not download ALL the things it needs to function fully out of the box is a mystery but as I said, it’s still in Alpha.
To get upscalers to work we need to download additional packages using it’s built in Dependency Manager and install All available packages.
Then create a folder somewhere that we can remember and in it put upscalers you want to use. As mentioned before a list of them as well as examples can be downloaded from the Visual Comparison of Upscaling Models webpage.
One thing to note, maybe more, is that there are 3 types of Neural Network architecture type nodes available; PyTorch, NCNN and ONNX. They Do not Mix well, the nodes that is. If you use nodes from ONNX section then use only them, you cant load a model node from PyTorch and then use Upscale Image node from ONNX section.
Here is an example I took from the Visual Comparison of Upscaling Models Buddy example. It uses one model to upscale and then another to fix any issues with upscaled face and then I added a View image node instead of a Save Image node, just for example sake. Most of the time it should suffice to only use the upscaler model itself and add save to the disk node. You can add save to file node along side the View node, just pipe the output of previous node to both View Image and Save Image nodes.
This project shows a lot of promise and I hope it continues to grow. There are some gripes I have with it and some features I would like to see implemented like DeOldify to turn black and white photos to Color but overall, Nice job.