Incoming Transformations
transformation: [...]Resize, crop, and optimise the moment the file lands — before it is stored. No per-request cost.
TanStack Start · Cloudinary
Users upload anything. Your app resizes it, watermarks it, and only shows approved photos. Cloudinary handles the hard part — you handle the experience.
The problem
Managing user-generated content is scary. Users upload huge files, wrong formats, or portraits that crop terribly. You need to resize, watermark, and moderate — before anything hits your storage.
The solution
Cloudinary incoming transformations fire the moment a file arrives — not at request time. The stored image is already resized, watermarked, and face-cropped.
Cloudinary powers every upload
transformation: [...]Resize, crop, and optimise the moment the file lands — before it is stored. No per-request cost.
g_auto:facesGravity set to auto:faces so the crop always centres on the most prominent detected face.
l_logo / text overlayYour brand stamp is baked into the stored file at upload time — not rendered at delivery.
f_auto, q_autoServe WebP or AVIF based on browser support. Cloudinary picks the smallest file with good fidelity.
Incoming transformations
Unlike eager or on-the-fly transforms, incoming transformations run before the file is stored. The result is baked in — delivery is instant and there are no per-request compute costs.
type + sizeupload_streamc_fill, w_800g_auto:facesl_logof_auto, q_autopendingAwaiting review
Every upload starts here. The photo is stored and processed but not yet public.
Visible in gallery
Moderator approved it. The photo appears on the public wall for everyone to see.
Hidden from gallery
Moderator rejected it. The photo stays stored but never appears publicly.