Blur, sharpen, color adjustments, rotation, and rounded corners.
Effects
Spatial filters
| Param | Type | Range | Description |
|---|---|---|---|
blur | integer | 1-250 | Gaussian blur radius in pixels |
sharpen | float | 0-10 | Unsharp 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
| Param | Type | Range | Description |
|---|---|---|---|
brightness | integer | -100 to 100 | Brightness adjustment |
contrast | float | -100 to 100 | Contrast adjustment |
saturation | integer | -100 to 100 | Saturation adjustment |
grayscale | boolean | true | Convert to grayscale |
sepia | boolean | true | Apply 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
| Param | Type | Values | Description |
|---|---|---|---|
rot | integer | 90, 180, 270 | Clockwise rotation |
flip | enum | h, v | Horizontal or vertical flip |
?rot=90 → rotate 90° clockwise
?rot=180 → upside down
?flip=h → mirror horizontally
?flip=v → mirror vertically
Rounded corners
| Param | Type | Values | Description |
|---|---|---|---|
r | integer 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