Hello,
I just bought the Photo AI package because it has initial CLI functionality - which is a good starting point.
I’m currently programming a Windows Service for my local workstation, that recursively monitors input directories and upon detecting supported files starts up the Photo AI CLI to process those images storing them in defined output directories.
I was thinking of having a few input directories like
inbox\enhanceCgi_sharpenStd
inbox\enhanceHq
And having the windows service pass along options to the CLI accordingly.
I usually have very specific types of images - where I already know that filters to use.
For example lots of CGI generated images. Or images that need std-sharpening.
But my problem is, that there is currently no way for me to influence how images are processed via CLI in terms of which models are applied and to what factor. And I also can’t use Gigapixel AI, Sharpen AI, etc. directly as they provide no CLI at all (at least to my current knowledge).
I assumed, that at least setting the autopilot default options in the Photo AI GUI (that are stored in the Win Registry) would have some influence over what the CLI chooses, but it doesn’t seem to matter what is set there, e.g. I have face detection: none, scale: fixed 4x. But when using the CLI it does its own thing scaling it only to 2x…
-
What I propose is some way to set the desired settings also in CLI (so that each CLI call can have different settings).
We’re mainly talking about the major features via argument
-denoise=off/normal/strong
-sharpen=off/std/strong
-recoverFaces=off/on
-enhance=std/hq/gfx/lowres (this is important for me)
-upscale=1x/2x/4x/max (this is important for me)
-crop=x,y
Or someting along those lines.
The auto settings inside the models usually work quite well; once the correct model for the images is selected. -
There is another/alternative idea: You already provide the option of viewing most settings via --showSettings
Autopilot Settings for c:\PhotoAI\2.jpg
{
"Denoise": {
"auto": true,
"enabled": false,
"model": "Low Light",
"param1": 0,
"param2": 0
},
"Enhance": {
"enabled": true,
"model": "High Fidelity",
"param1": null,
"param2": null,
"param3": null
},
"Face Recovery": {
"auto": true,
"enabled": false,
"param1": 0.800000011920929,
"selectedFaces": null
},
"Sharpen": {
"auto": true,
"compression": 0,
"enabled": false,
"lensblur": 0,
"mask": false,
"model": "Sharpen Motionblur",
"motionblur": 0,
"noise": 0,
"param1": null,
"param2": null
}
}
As far as I can tell, only the upscale setting is missing there.
In the GUI you have an option “Apply current settings to all images”.
If there was an additional option “Save current setting to file” in the GUI and the CLI had an argument allowing for --useSettings c:\mySettings.json that would be ideal. Plus an argument allowing to also influence the upscale factor (in case that is not part of the json already).
The methods for applying existing settings are already there in Photo AI (via GUI), therefore it should be easy to adapt that to the CLI.
I really hope that something along these lines is possible to implement.
As Photo AI is a really great product. And the CLI is encouraging one to use it and to write programs and or scripts wrapped around it.
But the limitations of not being able to manually set options for the desired jobs is a killer (at least from my point of view).
It’s no fun processing 10.000 images via GUI…
Thanks a lot in advance and keep up the good work!