How to cast image with watermark using node-red

I’m cast image to a chromecast using node-red and I would watermak the image with information about the image itself like name, folder and some exif data. Is it possible in some way?

My little node-red project have the images on a NAS that are mounted on a shared folder and a file with all the image full path name:

[{"id":"e1d11cb3.d0e6a","type":"tab","label":"Flow 1","disabled":true,"info":""},{"id":"4922e844.ae48b8","type":"inject","z":"e1d11cb3.d0e6a","name":"Lancia","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"str","x":90,"y":160,"wires":[["32222155.d3c95e"]]},{"id":"ec872476.b19bb8","type":"ha-wait-until","z":"e1d11cb3.d0e6a","name":"","server":"d344308f.69073","outputs":2,"entityId":"media_player.letto","entityIdFilterType":"exact","property":"state","comparator":"is_not","value":"playing","valueType":"str","timeout":"5","timeoutType":"num","timeoutUnits":"seconds","entityLocation":"","entityLocationType":"none","checkCurrentState":false,"blockInputOverrides":true,"x":880,"y":200,"wires":[["f2280f1d.49ba3"],[]]},{"id":"4effa9d7.656e68","type":"function","z":"e1d11cb3.d0e6a","name":"","func":"// Get Array from file  or set to empty array\nconst array = flow.get(\"photoList\") || [];\n\n// If empty array send to second output\nif(array.length === 0) return [null, msg];\n\n// get a random index of array\nconst index = Math.floor(Math.random() * array.length);\n\n// remove the the random index from array \n// and save it to msg.payload\nfile = array.splice(index, 1)[0];\n\n// save new array to flow var minus the previous\n// selected item\nflow.set(\"photoList\", array);\n\nmsg.payload = {\n    data : {\n        \"media_content_id\":\"media-source://media_source/\" + file,\n        \"media_content_type\":\"music\"\n    }\n}\nreturn [msg, null];\n","outputs":2,"noerr":0,"initialize":"","finalize":"","libs":[],"x":320,"y":280,"wires":[["bae12c31.79004","c654ec64.cdd25"],["53bd84d0.2f3ddc"]]},{"id":"bae12c31.79004","type":"api-call-service","z":"e1d11cb3.d0e6a","name":"cast photo","server":"d344308f.69073","version":1,"debugenabled":false,"service_domain":"media_player","service":"play_media","entityId":"media_player.letto","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":630,"y":260,"wires":[["ec872476.b19bb8"]]},{"id":"c654ec64.cdd25","type":"debug","z":"e1d11cb3.d0e6a","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":830,"y":380,"wires":[]},{"id":"f2280f1d.49ba3","type":"delay","z":"e1d11cb3.d0e6a","name":"","pauseType":"delay","timeout":"10","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":1080,"y":280,"wires":[["56f52bc7.1c4854"]]},{"id":"53bd84d0.2f3ddc","type":"file in","z":"e1d11cb3.d0e6a","name":"","filename":"/share/slideShow.txt","format":"utf8","chunk":false,"sendError":false,"encoding":"none","x":320,"y":200,"wires":[["b7d9242c.e22518"]]},{"id":"b7d9242c.e22518","type":"function","z":"e1d11cb3.d0e6a","name":"set photoList","func":"// Get Array from file  or set to empty array\nconst array = msg.payload.split(\"\\r\");\n\n// If empty array send to second output\nif(array.length === 0) return [null, msg];\n\n// save new array to flow var minus the previous\n// selected item\nflow.set(\"photoList\", array);\n\nreturn [msg, null];\n","outputs":2,"noerr":0,"initialize":"","finalize":"","libs":[],"x":630,"y":200,"wires":[["4effa9d7.656e68"],[]]},{"id":"215cbcd.e01c944","type":"inject","z":"e1d11cb3.d0e6a","name":"Blocca","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"str","x":90,"y":340,"wires":[["c8c5692b.756a68"]]},{"id":"56f52bc7.1c4854","type":"switch","z":"e1d11cb3.d0e6a","name":"","property":"continue","propertyType":"flow","rules":[{"t":"eq","v":"ok","vt":"str"},{"t":"eq","v":"ko","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":510,"y":380,"wires":[["4effa9d7.656e68"],["bc861436.ba3988"]]},{"id":"ce55b335.9c9d","type":"inject","z":"e1d11cb3.d0e6a","name":"Riattiva","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"str","x":90,"y":440,"wires":[["6f787126.afc27"]]},{"id":"32222155.d3c95e","type":"change","z":"e1d11cb3.d0e6a","name":"ok","rules":[{"t":"set","p":"continue","pt":"flow","to":"ok","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":230,"y":160,"wires":[["53bd84d0.2f3ddc"]]},{"id":"6f787126.afc27","type":"change","z":"e1d11cb3.d0e6a","name":"ok","rules":[{"t":"set","p":"continue","pt":"flow","to":"ok","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":290,"y":420,"wires":[["56f52bc7.1c4854"]]},{"id":"c8c5692b.756a68","type":"change","z":"e1d11cb3.d0e6a","name":"ko","rules":[{"t":"set","p":"continue","pt":"flow","to":"ko","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":290,"y":360,"wires":[["56f52bc7.1c4854"]]},{"id":"bc861436.ba3988","type":"api-call-service","z":"e1d11cb3.d0e6a","name":"stop cast","server":"d344308f.69073","version":1,"debugenabled":false,"service_domain":"media_player","service":"media_stop","entityId":"media_player.letto","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":660,"y":440,"wires":[[]]},{"id":"d344308f.69073","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]