Blur, sharpen, color adjustments, rotation, and rounded corners.

Effects

Spatial filters

ParamTypeRangeDescription
blurinteger1-250Gaussian blur radius in pixels
sharpenfloat0-10Unsharp mask amount
?blur=5         → subtle blur
?blur=50        → heavy blur (privacy, background)
?sharpen=2      → subtle sharpening

Blur uses a two-pass separable Gaussian in linear light (sRGB → linear → blur → sRGB) for physically correct results.

Color adjustments

ParamTypeRangeDescription
brightnessinteger-100 to 100Brightness adjustment
contrastfloat-100 to 100Contrast adjustment
saturationinteger-100 to 100Saturation adjustment
grayscalebooleantrueConvert to grayscale
sepiabooleantrueApply sepia tone
?brightness=20            → brighter
?contrast=15&saturation=10  → punchier colors
?grayscale=true           → black and white
?sepia=true               → vintage tone

Adjacent color adjustments are fused into a single pixel-iteration pass for performance.

Rotation & flip

ParamTypeValuesDescription
rotinteger90, 180, 270Clockwise rotation
flipenumh, vHorizontal or vertical flip
?rot=90        → rotate 90° clockwise
?rot=180       → upside down
?flip=h        → mirror horizontally
?flip=v        → mirror vertically

Rounded corners

ParamTypeValuesDescription
rinteger or "max"1-9999 or "max"Corner radius in pixels
?r=20          → 20px rounded corners
?r=max         → fully circular (pill/avatar shape)

Use r=max with a square crop for perfect circular avatars:

?w=200&h=200&fit=cover&g=face&r=max