How about just using the AEM OOTB assetdownload.zip servlet
for example a post call like below
POST /content/dam.assetdownload.zip/abc.zip
with below parameters
path=%2Fcontent%2Fdam%2Fsample1.png
path=%2Fcontent%2Fdam%2Fsample2.png
path=%2Fcontent%2Fdam%2Fsample3.png
_charset_=utf-8
downloadAssets=true
licenseCheck=true
flatStructure=true
downloadRenditions=false
downloadSubassets=false