да хоть find + ffmpeg
find \( -iname \*.png -o -iname \*.jpg -o -iname \*.gif -o -iname \*.jpeg \) -type f -exec ffmpeg -i {} {}.webp \;
ps
через регулярку
-iregex ".*\(\.jpeg\|\.jpg\|\.png\|\.gif\)" будет короче
в ffmpeg ключ
-y разрешает перезаписывать файл(если уже есть с таким именем)
find -iregex ".*\(\.jpeg\|\.jpg\|\.png\|\.gif\)" -type f -exec ffmpeg -y -i {} {}.webp \;
если нужны дополнительные параметры конвертации - кури man ffmpeg (или смотри инфу на оф.сайте)