Store settings used for image inside EXIF data (or next to image)

Often one spends a lot of time finding the right model and slider values.
It would be good, if the actually used information on the time of the storing of the image was stored (optionally) - either inside the target image itself (e.g. EXIF data) or as a JSON or XML along side the stored image (with the same name, e.g. output.jpg.json). That would be useful if the user wanted to process the same image again - in a new version of Photo AI. Then one could have a look at what was previously used.

The base functionality for this is already in your code, the CLI has a --showSettings switch, which outputs used settings like this:

Autopilot Settings for c:\input.jpg:
    "Denoise": {
        "auto": true,
        "enabled": false,
        "model": "Low Light",
        "param1": 0.24293923377990723,
        "param1_normalv2": 0.2885878384113312,
        "param1_strongv2": 0.26758840680122375,
        "param2": 0.2113465517759323,
        "param2_normalv2": 0.10567327588796616,
        "param2_strongv2": 0.10567327588796616
    "Enhance": {
        "enabled": true,
        "model": "High Fidelity",
        "param1": 1.7939209229211883e-08,
        "param2": 0.054597160573597654,
        "param3": 0.16076460480690002,
        "scale": 3.8499999046325684
    "Face Recovery": {
        "auto": true,
        "enabled": false,
        "param1": 0.20000000298023224,
        "selectedFaces": null
    "Sharpen": {
        "auto": true,
        "compression": 0.5187617540359497,
        "enabled": false,
        "isLens": false,
        "mask": false,
        "model": "Sharpen Motionblur",
        "param1": 0.08322411775588989,
        "param2": 0.20698139071464539,
        "slens_blur": 0.012459388002753258,
        "slens_noise": 0.24293923377990723,
        "smb_blur": 0.20698139071464539,
        "smb_noise": 0.08322411775588989,
        "smot_blur": 0.2113465517759323,
        "smot_noise": 0.24293923377990723,
        "stg_blur": 0.057100944221019745,
        "stg_noise": 0.05000000074505806

That’s a good idea. I can see this be helpful especially with large batches and minor differences in the image settings. I’ve made a note of this for my team.