For other people wanting answer to this question, here are some more information we communicated on mail:
The answer they gave on mail:
For convert() method, mimetype is just a security check to ensure you pass an image. If you pass 'image/jpeg' even if it's not the correct mimetype for the image, it should work just fine. So no need to stat file every time.
My answer back:
Hi, and thanks for your answer.
It sounds to me like the inclusion of mimetype when calling on the convert() function is redundant. You tell me I should be able to simply pass in a fixed mimetype thus I cannot see how this is a useful security check. If you want to ensure the convert command is executed on an image File Picker already knows which mimetype a file has and I believe this should be handled internally when the convert() command is executed not trusting client's claim of a mimetype on a file.
I haven't tried this; but what happens if I do a convert command with mimetype set to 'image/jpeg' on a text file? I guess it will fail which is another reason for me thinking this mimetype requirement on convert command is obsolete.
Answer from filepicker:
This is really just basic protection from accidental passing files other than image to the convert call. I'm aware this can be redundant for you but it works in 95% of cases and we never had issue with this.