See exactly what the pipeline returns.
The transform layer accepts pixel sizes, percentages, or a uniform scale, and never upscales beyond the source. Drag the sliders to watch the bytes rebuild — the headers panel surfaces the source vs output dimensions so the clamp behaviour isn't a mystery.
<configure share + path>
Configure a share + path to preview.
?w / ?h
Pixels (
?w=600) or percentage of source (?w=25%). Decimals allowed (?w=12.5%). Either dimension auto-derives the other from aspect ratio.?scale
Uniform scale on both dimensions:
?scale=0.5 or?scale=50%. Mutually exclusive with w/h.?fmt
webp, avif, jpeg,png, or original. Omit to negotiate from the Accept header (AVIF > WebP > source).?fit
inside (default — preserve aspect, fit within), cover (crop to fill), contain (letterbox).No upscale, ever.
Requesting
?w=99999 against a 4032-wide source returns the 4032-wide source. The response carries X-Source-Dimensions + X-Output-Dimensionsso a thoughtful client can adapt.EXIF policy
Default = strip everything from transformed output (privacy first). Per-API-key opt-in
keep_gps=1 for trusted integrators. Originals on the no-transform path keep EXIF intact unless ?strip_exif=1.