How transforms work
Append query params, the edge does the rest. Each variant is cached independently after the first miss.Common params
| Param | Values | Purpose |
|---|---|---|
width / w | px | Resize. |
height / h | px | Resize. |
format / fm | auto, webp, avif, jpeg, png | Format conversion. |
quality / q | 1–100 | Compression. |
dpr | 1, 2, 3 | Device pixel ratio. |
fit | cover, contain, fill, inside, outside | Resize behavior. |
Pick your stack
- Next.js — custom loader for the built-in
<Image />component. - Nuxt — Tenbyte provider for
<NuxtImg>. - Astro — drop-in
<TenbyteImage />component plus client SDK. - React Native — replace
<Image />withTenbyteScaledImage. - Android / iOS — generate URLs from view dimensions.
- Shopify — Liquid snippet that rewrites Shopify CDN URLs.
Verify any integration
content-type doesn’t change to your requested format, the master file probably wasn’t fetched yet (first request is a miss) or Image Optimizer is off.
Dev-friendly checklist
- Master image is high-quality JPEG or PNG. Don’t upscale.
-
format=autoeverywhere — covers AVIF / WebP / JPEG fallback. - Cap
widthto the breakpoints your design system actually uses. - Long TTL on image paths (see cache rules).
- Lazy-load below-the-fold (
loading="lazy"or framework-equivalent). - Test on real devices —
dpr=2matters for Retina screens.