If this sounds like your week
A batch is not “drag 400 files and pray.”
It is a contract between inputs, rules, and outputs. That contract belongs in a real app. Origin guards still punish multi-megabyte JPEG heroes when responsive params cannot invent missing pixels cheaply.
Where tooling usually breaks
Inconsistent one-off tools create inconsistent one-off disasters.
Your delivery spec deserves repeatability.