Any image your app's visitors upload, through a Record Form field set to type File, an avatar, or any other place that goes through your app's upload endpoint, is automatically resized, compressed, and converted to the WebP format before it's stored. You don't configure anything for this, it applies to every image upload on every Web Application project.
What happens to an uploaded image
If the longer side of the image is over 2000 pixels, it's scaled down to 2000 pixels, smaller images are never scaled up. It's then compressed and converted to WebP, a modern format that keeps good visual quality at a noticeably smaller file size than the original PNG or JPEG, so your app loads faster and uses less storage. The file extension stored alongside it is updated to match, so the object your app links to is always a genuinely correct file.
What's left unchanged
A non image file, a PDF, a Word document, a spreadsheet, a plain text or CSV file, passes through completely untouched, this only ever applies to image content types. An animated GIF is resized the same way but kept as a GIF rather than converted to WebP, so its animation isn't lost. If image processing ever fails for any reason, the original file is stored exactly as uploaded rather than blocking the upload, so a visitor's upload never fails because of this step.
Tip: The 10MB upload size limit and supported file type list are unchanged, this is an extra processing step that runs after those checks, not a replacement for them.