Image API

Build the image in the URL. Watch it through the glass.

Refract transforms, optimizes, and delivers images from your own origin, driven entirely by URL parameters. Every panel on this page is one live instance of the feature it sells: frosted glass is the API’s own blur, running.

Build a request demo.refract.dev
A sample source image the request parameters transform in real time
w — width, px
1200
h — height, px
auto
fit — resize mode
crop — strategy
rot — rotation
blur — gaussian, 0 to 100
0
bg — fill for contain, hex

What Refract does

Three moves on every image.

Point Refract at an existing image origin — no re-upload. Originals are fetched on demand and cached at the edge, never stored permanently.

A length of coral-into-magenta silk, folded and lit softly

Transform

Ten chainable URL parameters resize, crop, and rotate on the fly. Smart crop keeps subjects in frame.

A saturated dusk gradient sky over a low horizon

Optimize

fm=auto negotiates AVIF, then WebP, then JPEG from the request’s Accept header — averaging 62% payload reduction versus source JPEG.

An overhead view of a curving road across open terrain

Deliver

41 edge locations. Cached response p50 21 ms, 98.6% cache hit ratio; cold transform p50 89 ms, p99 340 ms.

Live transform

Drag blur. The glass frosts the picture — for real.

The right pane’s backdrop-filter: blur() is wired to the slider. The API’s gaussian blur and the browser’s blur() are the same operation, so this is not a picture of the feature working — it is the feature working.

The source image, sharp, before any transform
Before — source blur=0
The same image after the current transform, frosted live through glass
After — transformed blur off
blur — gaussian, 0 to 100
0
fit — resize mode
crop — strategy
rot — rotation

Measured

The numbers that ship.

62%

Average payload cut

21 ms

Median cached response

98.6%

Cache hit ratio

99.95%

Uptime SLA (Scale)

Your first transform is a single URL away.

Start building