Transformations
Resize, crop, convert, color-correct, blur, rotate, remove the background, or strip EXIF — all from the image URL. No re-uploading, no extra storage. Append parameters and each distinct result is cached at the edge worldwide.
How it works
Every upload and media response includes a url field: a direct CDN link, on every plan including anonymous. Append query parameters to transform what it serves.
# The url, untouched
https://src.img.pro/4j2/abc12345.jpg
# WebP, 800px wide, a touch brighter
https://src.img.pro/4j2/abc12345.jpg?format=webp&w=800&brightness=1.1
One source image, unlimited variants — each distinct URL is cached independently. Order doesn’t matter, and an invalid value is ignored rather than failing the request, so the image always loads.
Named sizes
The shortcut: ready-made variants you request with ?size=, no parameters to pick. The three responsive sizes ship in every response’s sizes object; social is requested the same way.
-
?size=sshort side 320px - Thumbnails and avatars. Aspect ratio preserved.
-
?size=mshort side 640px - Inline previews and feed cards. Aspect ratio preserved.
-
?size=lshort side 1080px - Full-width hero and detail views. Aspect ratio preserved.
-
?size=social1200×630 - Fixed OpenGraph / social-card frame. Any source aspect is padded to fit.
https://src.img.pro/4j2/abc12345.jpg?size=m
Format
Convert on the fly. format overrides the extension in the URL path, so …/abc.jpg?format=webp serves WebP even though the path says .jpg.
-
formatjpg · png · webp · avif · gif - webp is the best quality-for-size balance (recommended); avif is the smallest; png is lossless with transparency; jpg is universal; gif is for legacy or animation.
autois intentionally unsupported — a cached transform is shared across clients, so it can’t depend on one client’sAcceptheader.
https://src.img.pro/4j2/abc12345.jpg?format=webp
Resize & crop
Resize and crop with explicit dimensions. With the default scale-down fit, images are never enlarged — requesting a larger size is a no-op.
-
w1–4096 px - Target width. Set
worhalone to scale proportionally; set both withfitto control how the image fills the box. -
h1–4096 px - Target height. Same rules as
w. -
fitdefault scale-down - How the image fills
w×h:scale-down,contain,cover,crop,pad,squeeze.cover/cropfill and trim;contain/padletterbox;scale-downnever enlarges. An explicitcover/crop/padwill upscale to fill the box. -
gravitydefault auto - Which part to keep when cropping:
auto,face,left,right,top,bottom.facecenters on detected faces. -
zoom0–1 - Crop tightness around
gravity=face.0= most context,1= tight.
# 400×400 square crop centered on faces
https://src.img.pro/4j2/abc12345.jpg?w=400&h=400&fit=cover&gravity=face
Quality
Control output quality for lossy formats (JPEG / WebP / AVIF). Accepts a number or a named level.
-
q1–100or high · medium-high · medium-low · low - Higher = better and larger;
~80is a good web default. Named levels map to roughly90 / 75 / 60 / 45. No effect on PNG — PNG output is always lossless truecolor, so use a lossy format for a smaller file.
https://src.img.pro/4j2/abc12345.jpg?format=webp&q=80
Color & tone
Each is a decimal multiplier centered at 1 (no change). Omit a param to leave that channel untouched.
-
brightness0–10 · default 1 0= black,2= twice as bright. Useful range ~0.5–2.-
contrast0–10 · default 1 0= flat mid-gray,>1= punchier. Useful range ~0.7–2.-
gamma0–10 · default 1 <1lightens midtones,>1darkens them (0and1are both no-ops). Useful range ~0.5–2.5. Direction is opposite to what some editors call “gamma”.-
saturation0–10 · default 1 0= grayscale,>1= vivid. Useful range ~0.5–2.
0–10, but values near the top produce visually useless extremes. Stay inside the “useful range” unless you’re after a specific effect.# Subtle warmth
https://src.img.pro/4j2/abc12345.jpg?brightness=1.1&contrast=1.05&saturation=1.1
# Black and white
https://src.img.pro/4j2/abc12345.jpg?saturation=0
Filters
Soften or sharpen detail without re-uploading.
-
blur0–250 · default 0 - Gaussian blur radius in pixels.
10–20for a subtle wash,40+for a heavy placeholder. Useful for hero overlays and privacy masking. -
sharp0–10 · default 0 - Unsharp-mask intensity.
1–3subtle,4–6noticeable,7+aggressive (can ring on smooth areas).
# Blurred hero background
https://src.img.pro/4j2/abc12345.jpg?blur=15
# Detail boost
https://src.img.pro/4j2/abc12345.jpg?sharp=4
Orientation
Rotate, mirror, or trim borders. Rotation is lossless for the supported angles.
-
rotate90 · 180 · 270 - Clockwise rotation in degrees. Other values are ignored.
-
fliph · v · hv - Mirror horizontally, vertically, or both.
-
trimborder - Auto-crop a uniform border color around the image — scanned documents, letterboxed screenshots.
# Fix a sideways photo, then mirror it
https://src.img.pro/4j2/abc12345.jpg?rotate=90&flip=h
Privacy
Cameras and phones embed GPS, device info, and timestamps. Control what travels with the image.
-
metadatadefault copyright copyrightkeeps copyright/author tags and strips GPS + device info (the default).nonestrips everything — recommended before sharing any photo publicly.keeppasses all original EXIF through, including GPS; use only when you need it preserved.
# Strip all EXIF before sharing a phone photo
https://src.img.pro/4j2/abc12345.jpg?metadata=none
Background
Remove the background with a single param — image segmentation runs on the edge — and optionally fill it with a solid color.
-
segmentforeground - Replace the background with transparency. Add
format=pngso the alpha channel survives; otherwise the output follows the path extension and JPEG flattens transparency. -
background - Fill color for transparent areas: a CSS named color (
white,navy), hex (URL-encode#as%23, e.g.%23f5f5f5), orrgb(…)/rgba(…). Aftersegment=foregroundit swaps the background; on its own it fills any transparent pixels. Omit it and alpha-capable formats stay transparent, while others fill white.
# Cutout on a white background (Amazon / Shopify ready)
https://src.img.pro/4j2/abc12345.jpg?segment=foreground&background=white&format=jpg
# Transparent PNG cutout
https://src.img.pro/4j2/abc12345.jpg?segment=foreground&format=png
Effects
One-param composites: the subject is separated from the background with the segmentation model, the effect is applied to the background only, and the sharp subject is layered back on top. These power the Portrait Mode, Color Pop, and Spotlight tools.
-
fxblur-bg · color-pop · darken-bg - blur-bg = portrait-style background blur; color-pop = grayscale background, full-color subject; darken-bg = dimmed background, spotlit subject.
-
strengthper recipe - Tunes the effect (only meaningful alongside
fx). blur-bg: blur radius0–250, default60. darken-bg: background brightness0.05–1, default0.5(lower = darker). color-pop: no strength — the background is fully desaturated. Out-of-range values clamp.
# Portrait-mode blur behind the subject
https://src.img.pro/4j2/abc12345.jpg?fx=blur-bg
# Spotlight: dim the background to 30%
https://src.img.pro/4j2/abc12345.jpg?fx=darken-bg&strength=0.3
format=png / webp / avif to override. Each fx + strength combination is computed once and cached at the edge.Watermark
Repeat one of your own images across the base as a tiled overlay — the standard way to watermark. Upload the watermark once (typically a transparent, seamlessly-tiling PNG with opacity baked in), then reference it by id.
-
tileimage id - The
idof another image you host, repeated edge-to-edge at its native size over the base. The overlay must be in the same workspace as the base; an id that isn’t yours (or doesn’t exist) is ignored and the base is served unchanged.
# Tile your watermark (id wm0listo1) across a photo, served as WebP
https://src.img.pro/4j2/abc12345.jpg?tile=wm0listo1&format=webp
Combining transforms
Chain parameters freely — order doesn’t matter, and the CDN runs everything in a single pass.
# Privacy-blurred preview with EXIF stripped
https://src.img.pro/4j2/abc12345.jpg?blur=40&metadata=none
# Faded social card
https://src.img.pro/4j2/abc12345.jpg?format=jpg&contrast=0.9&saturation=0.8
# Rotated, sharpened, exported to AVIF
https://src.img.pro/4j2/abc12345.jpg?rotate=90&sharp=3&format=avif
Tool pages
Most of these operations also have dedicated tool pages: drag-and-drop pages that produce a downloadable file with no URL to type. Use them when you want a permanent file to download or share; use the query params above for inline embeds, OG previews, and serving many variants of one source.
Caching & formats
-
Caching - Each unique URL is cached independently at 300+ edge locations. Cache hit ≈ 5 ms; cache miss 50–200 ms (transform, then cache).
-
Upscaling - The default
scale-downfit never enlarges beyond the source;cover/crop/padupscale to fill the requested box. -
Transformable - JPEG, PNG, GIF, WebP, AVIF, HEIC.
-
Served as-is - SVG, BMP, ICO — transforms are ignored and the file is served directly.