Yep - done all three and for one project.
It’s impractical to do this in Airtable itself because you need to employ different services for each of your three tasks. To do this, I used – you guessed it – Google Apps Script because it offers seamless integration with their image manipulation SDK, the Vision SDK, and image meta SDK.
It’s not a walk in the park but it can all be done in a single webhook service that Airtable calls (passing in the table name/record ID). Then the Airtable API is called back for the details, attachment URL, etc. The script performs all the tasks and sends the result s back to the same record (or does other stuff as needed).
One of the nice things about Google Apps Script is it can serve as an automation layer with an integrated custom webhook layer as well as script triggering - all for pretty much no charge and it scales vastly beyond the limitations of no-code integration services.