Documentation
API version 2. Last updated 3 November 2026.
Getting started
Add an origin in the console. Every origin gets a delivery prefix; append the object path and optional transform parameters:
https://rext.cdnstream88.com/o/<origin-id>/photos/beach.jpg?w=800&q=75
Transform parameters
| Param | Example | Description |
|---|---|---|
w, h | w=640 | Target width / height in pixels (max 4096) |
fit | fit=cover | cover, contain, fill, inside |
q | q=70 | Quality 1–100, default 80 |
fm | fm=avif | Force output format; omit for auto |
blur | blur=12 | Gaussian blur radius 1–100 |
dpr | dpr=2 | Device pixel ratio multiplier 1–3 |
Signed URLs
When signing is enabled for an origin, append s — an HMAC-SHA256 of the path and query, keyed with the origin secret:
import hmac, hashlib
msg = "/o/7f3a/photos/beach.jpg?w=800&q=75"
sig = hmac.new(SECRET, msg.encode(), hashlib.sha256).hexdigest()[:32]
url = f"https://rext.cdnstream88.com{msg}&s={sig}"
Purge API
curl -X POST https://api.rext.cdnstream88.com/v2/purge \
-H "Authorization: Bearer $REXT_TOKEN" \
-d '{"origin":"7f3a","prefix":"/photos/"}'
Responds 202 Accepted; propagation usually completes within 5 seconds.
Limits
Source images up to 50 MB and 100 megapixels. Animated GIF input is converted to animated WebP. Requests above your plan's rate limit receive 429 with a Retry-After header.