필사 모드: Image & Video CDN + Media Optimization 2026 Complete Guide - Cloudinary · Imgix · ImageKit · Bunny CDN · Cloudflare Images · Mux Video · Fastly Image Optimizer · Vercel Image · Next.js Image · AVIF · WebP Deep Dive
EnglishIntro — Why media CDNs are hot again in May 2026
Average web page weight as of Q1 2026 has crossed **2.4MB mobile, 2.9MB desktop** (HTTP Archive Web Almanac 2026 preview data). Over 50% of that weight is images and video. To keep the Core Web Vitals LCP threshold under 2.5 seconds, what matters in the end is **what you send, when, in which format, and at which resolution**.
Layered on top is the **AI content explosion of 2024–2026**. E-commerce product photos are generated by Stable-Diffusion-based pipelines, and short-form video by Runway, Pika, and Luma. The raw asset count has exploded and the number of transforms with it. "One original, thirty variants" is now ordinary.
This post walks the **image CDN + video CDN + media optimization** stack as of May 2026, covering SaaS, hyperscalers, framework integrations, and self-host options in one piece. At the end we wrap up with Korean and Japanese local CDN options, AI enhancement flows, and cost-optimization patterns.
Five problems a media CDN has to solve
An image or video CDN is not just "send faster." It has to solve five problems in one place.
1. **Format negotiation**: AVIF / WebP / JPEG XL / HEIC support varies per browser. The CDN picks the best format from Accept and User-Agent.
2. **Size and crop transforms**: Slice the same source to 200px · 400px · 800px · 1600px. With art direction needs, this pairs with srcset and the picture element.
3. **Quality negotiation**: q=auto:eco vs q=80 vs lossless. Driven by the Save-Data header and inferred mobile-network conditions.
4. **Edge caching**: 200+ POPs. First request hits origin, transforms, caches; subsequent requests hit the edge.
5. **Metadata and security**: signed URLs, EXIF stripping, watermarks, DRM (for video).
Nail all five and you have an "image CDN." Add video transcoding and you have a "video CDN." Add asset management and collaboration and you have a "DAM (Digital Asset Management)."
Image SaaS CDNs — the five contenders
Among SaaS CDNs specialized for images, five effectively split the 2026 market.
- **Cloudinary**: Israeli SaaS. GenAI Suite (Generative Fill, Background Removal, AI Upscale) shipped GA in 2025. The richest transform catalog. 25 monthly credits free.
- **Imgix**: The canonical URL-based transform service. Simple query-param API. Strong in the US market.
- **ImageKit**: Indian-origin, cost champion. Cloudinary-compatible API with substantially lower pricing.
- **Bunny.net Optimizer + Bunny Stream**: Slovenian. Unified image + video CDN, very aggressive pricing.
- **Uploadcare**: Ukrainian. Closer to a DAM. Bundles upload widget + transforms + CDN.
Side options like **Sirv, Cloudimage, Kraken.io (Internet Marketing Ninjas), KeyCDN Image Processing, Optimole** are still around. If your traffic is regional rather than global, there is no need to pay Cloudinary prices.
Cloudinary — transform catalog and GenAI
Cloudinary's strength is not raw transforms but the **breadth of its transform catalog**. As of May 2026, all of the following are possible with a single URL.
https://res.cloudinary.com/demo/image/upload/
w_800,h_600,c_fill,g_auto,q_auto:eco,f_auto/
e_background_removal/
l_text:Arial_60_bold:Hello/
sample.jpg
Key transforms:
- `f_auto`: Format auto-negotiation (AVIF/WebP/JPEG XL/JPEG/PNG).
- `q_auto`: Quality auto (eco, good, best).
- `c_fill,g_auto`: AI gravity. Detects faces / subjects, then crops.
- `e_background_removal`: GA 2024. Auto background removal.
- `e_gen_fill`: GA 2024. Generative Fill outpainting.
- `e_gen_replace:prompt_to`: Region replace. Shipped in 2025.
Pricing is monthly credits: 1 credit equates to about 1,000 transforms, 1GB storage, or 1GB delivery. Free 25, Plus 225, Advanced 600, Enterprise negotiated.
If self-hosting is mandatory, Cloudinary is off the table. Instead, a Sharp + imgproxy combination approximates a subset of these transforms.
Imgix — the essence of URL-only transforms
Imgix takes the "everything through URL params" philosophy to the limit. The same transform on Imgix:
https://example.imgix.net/sample.jpg
?w=800&h=600&fit=crop&crop=faces
&auto=format,compress&q=70
Key params:
- `auto=format`: Format auto-negotiation.
- `auto=compress`: Quality auto.
- `fit=crop&crop=faces` or `crop=entropy`: AI crop.
- `mask=ellipse` etc.: Masks.
- `blur=20`: Blur.
Imgix has a shorter transform catalog than Cloudinary, but **the URL cache key is clean**. It focuses on classic image transforms rather than chasing GenAI. Pricing: Standard $75/mo (100K masters, 100K rendered), Premium $300/mo. Per-master image pricing is the unusual part.
ImageKit — the cost champion out of India
ImageKit keeps API compatibility with Cloudinary while pricing roughly half. URL form:
https://ik.imagekit.io/demo/tr:w-800,h-600,fo-face,q-80,f-auto/sample.jpg
`tr:` prefix is the transformation, chained by commas. Key params:
- `f-auto`: Format auto.
- `q-80`: Quality.
- `fo-face`: Focus on face.
- `w-800,h-600,c-maintain_ratio`: Aspect-preserving resize.
- `e-bgremove`: Background removal (paid add-on).
Pricing: 20GB delivery free, then custom plans bill per GB. High-traffic sites have reported 30–60% savings vs Cloudinary.
Bunny.net — Slovenian unified media stack
Bunny.net wraps CDN + Bunny Optimizer + Bunny Stream so you can manage **images and video from one account**. Pricing is brutal.
- **Bunny CDN**: $0.01–$0.06/GB (region-dependent).
- **Bunny Optimizer**: A flat $9.5/mo, after which transforms are unlimited.
- **Bunny Stream**: Encoding $0.005/min, delivery $0.005/GB.
The Optimizer works as URL query strings:
https://example.b-cdn.net/sample.jpg
?width=800&height=600&aspect_ratio=4:3
&quality=80&format=auto&optimizer=image
Because it layers a transform stage on top of a traditional CDN, it is a good fit for "keep existing origin assets as-is, add transforms only" scenarios.
Hyperscaler image services — Cloudflare · AWS · GCP · Azure
The big-hyperscaler CDNs treat image transforms as first-class too.
- **Cloudflare Images + Cloudflare Stream**: As of 2026, Cloudflare Images offers both per-transform pricing and plan-based pricing. Image storage $5/100K images, transform $0.50/1K, delivery free. Cloudflare Stream is $5/1K min for encoding and $1/1K min for delivery.
- **AWS CloudFront + Lambda@Edge / CloudFront Functions + S3 Image Optimization**: Among AWS Solutions Constructs, `serverless-image-handler` is the standard pattern. Sharp on Lambda, transforms via query params.
- **GCP Cloud CDN + Cloud Run + libvips**: GCS origin → Cloud Run function → Cloud CDN edge. Heavy on roll-your-own.
- **Azure CDN + Azure Front Door + Functions**: Azure's image-processing API is weak, so teams fill in with Functions + ImageSharp(.NET) or Sharp.
Flat pricing (Cloudflare) and usage pricing (AWS / GCP / Azure) divide the field. If traffic patterns are stable, Cloudflare is simpler and cheaper.
Framework integrations — Next.js Image · Astro Image · SvelteKit · Nuxt · Gatsby
Frontend frameworks have treated images as first-class since Next.js 10 (2020). As of May 2026, the standard lineup is:
- **Next.js Image + Vercel Image Optimization**: Usage-based. Pro plan includes 5,000 transforms, then $0.005 per transform. Both local and remote loaders.
- **Astro Image (`astro:assets`)**: Build-time transforms + runtime Sharp. Best for static sites.
- **SvelteKit + `enhanced:img` (Vite plugin)**: Build-time transforms with auto-generated responsive srcset.
- **Nuxt Image**: Provider abstraction. Eight+ backends including Cloudinary, Imgix, ImageKit, Bunny.
- **Gatsby Image (`gatsby-plugin-image`)**: Build-time focused. Integrates with Gatsby Cloud (now Netlify) image CDN.
Typical Next.js Image usage:
export default function Hero() {
return (
src="/hero.jpg"
alt="Hero"
width={1600}
height={900}
sizes="(max-width: 768px) 100vw, 50vw"
priority
fetchPriority="high"
/>
)
}
Next.js Image automatically generates `srcset` and returns AVIF / WebP / JPEG based on the browser's Accept header. `priority` marks an LCP candidate; `fetchPriority="high"` is a browser priority hint.
Vercel Image Optimization — actual cost of per-transform pricing
Vercel Image Optimization is the backend for Next.js Image. As of May 2026, pricing is:
- **Hobby**: 1,000 transforms/mo free, no usage beyond that.
- **Pro**: 5,000 transforms/mo included, then $0.005 per extra transform.
- **Enterprise**: Negotiated.
A "transform" is per unique URL; cache hits are free. High-traffic sites can find Pro's per-transform pricing painful, so routing to an external loader (Cloudinary, Imgix, ImageKit) is a common detour.
const cloudinaryLoader = ({ src, width, quality }) => {
return `https://res.cloudinary.com/demo/image/upload/w_$WIDTH,q_$QUALITY,f_auto/$SRC`
.replace('$WIDTH', width)
.replace('$QUALITY', (quality || 75).toString())
.replace('$SRC', src)
}
export default function Pic() {
return <Image loader={cloudinaryLoader} src="hero.jpg" width={1200} height={800} alt="" />
}
We use placeholder tokens `$WIDTH`, `$QUALITY`, `$SRC` here purely to avoid template-literal hazards inside MDX prose; real code uses backticks with standard template literals.
Self-host transforms — Sharp · imgproxy · Thumbor · libvips
If you skip SaaS and run your own transform server, the 2026 standards are:
- **Sharp (Node, libvips binding)**: First in the Node ecosystem. Next.js Image uses sharp internally. Fast and memory-efficient.
- **imgproxy (Go)**: Single-binary server. URL-signed, libvips backend. The most popular self-host option.
- **Thumbor (Python)**: OSS from Globo.com. Long-standing and stable, but slower and memory-hungrier than imgproxy.
- **Pillow / Pillow-SIMD (Python)**: Called directly from Django · Flask backends.
- **libvips (C)**: The engine behind most of the above. Also usable as a CLI (`vips`, `vipsthumbnail`).
- **ImageMagick / GraphicsMagick**: Still alive for compatibility but 5–10× slower and hungrier than libvips.
Typical Sharp usage:
await sharp('input.jpg')
.resize({ width: 1200, height: 800, fit: 'cover' })
.toFormat('avif', { quality: 60 })
.toFile('output.avif')
imgproxy URL form:
https://imgproxy.example.com/insecure/
rs:fill:800:600:1/g:sm/q:80/f:webp/
plain/https://origin.example.com/sample.jpg
imgproxy is the cheapest self-host option to run. One K8s deployment plus autoscale; origins on S3 / R2 / GCS.
Modern formats 2026 — AVIF, WebP, JPEG XL, HEIF/HEIC, JPEG
Browser support as of May 2026:
- **AVIF**: Chrome 85+ (2020), Firefox 93+ (2021), Safari 16+ (2022). Supported across all major browsers. 30–50% smaller than JPEG.
- **WebP**: Format from Google in 2010. Supported by all modern browsers. Lower compression ratio than AVIF but faster to encode.
- **JPEG XL**: Firefox (2022+), Safari 17+ (2023). Chrome adopted in 2022, removed in 2023, reopened debate in 2024, and as of May 2026 is back behind a flag. Strong in lossless compression vs AVIF.
- **HEIF/HEIC**: Native on Apple devices (default iPhone camera format). Native on the web only in Safari; elsewhere requires conversion.
- **JPEG (1992)**: Still the universal fallback. JPEG 2000 is effectively dead.
Practical recommendation:
1. Store originals in JPEG XL or PNG / TIFF whenever possible.
2. Deliver via `<picture>` or a CDN `f_auto`, negotiating AVIF → WebP → JPEG in that order.
3. If your audience is Apple-heavy, consider native HEIC delivery as well.
The `<picture>` element and art direction
When art direction matters, hand-write a `<picture>` element.
media="(max-width: 768px)"
srcset="hero-mobile.avif"
type="image/avif"
/>
`<picture>` handles art direction (different image entirely) plus format negotiation (same image, different formats) at the same time. `<img srcset>` only handles different resolutions of the same image.
Video CDNs — Mux, Cloudflare Stream, Bunny Stream, AWS Elemental
Video is one or two orders of magnitude more complex than images. Encoding (transcoding), packaging, streaming, DRM, and analytics (QoE) all come in. The SaaS leaders as of May 2026:
- **Mux Video**: Most developer-friendly. One API call uploads, packages to HLS/DASH, and delivers over CDN. Pricing: encoding $0.0045–$0.05/min, delivery $0.005–$0.01/GB.
- **Cloudflare Stream**: $5/1K min for encoding, $1/1K min for delivery. Simple pricing.
- **Bunny Stream**: $0.005/min encoding, $0.005/GB delivery. Crushing on price.
- **AWS Elemental MediaConvert + IVS**: Encoding plus live streaming. The AWS-native baseline.
- **JW Player**, **Brightcove**, **Vimeo Pro/Enterprise**: OTT-grade bundles spanning player + CDN + DAM.
- **Wowza, Daily.co, LiveKit, Agora**: Real-time / video-conferencing territory.
A typical Mux API call:
curl https://api.mux.com/video/v1/assets \
-H "Content-Type: application/json" \
-u $MUX_TOKEN_ID:$MUX_TOKEN_SECRET \
-d '{
"input": "https://example.com/video.mp4",
"playback_policy": ["public"],
"encoding_tier": "smart"
}'
The response returns a `playback_id`, and `https://stream.mux.com/$PLAYBACK_ID.m3u8` plays as HLS. All transcoding and CDN delivery are Mux's problem.
Adaptive streaming — HLS, DASH, CMAF, LL-HLS, WebRTC
Five video-transport protocols matter.
- **HLS (HTTP Live Streaming, Apple)**: The default. `.m3u8` manifest plus `.ts` segments. Universal modern client support.
- **DASH (MPEG-DASH)**: Nearly the same feature set, with `.mpd` manifest plus `.m4s` segments. Popular outside Apple's reach.
- **CMAF (Common Media Application Format)**: HLS and DASH share the same fMP4 segments. Saves storage.
- **LL-HLS, Low-Latency DASH**: Drives glass-to-glass latency down to 2–4 seconds. Regular HLS is 10–30 seconds.
- **WebRTC**: Sub-second latency. Limited to videoconferencing and live interactive use. LiveKit, Daily.co, Agora are the leaders.
For live, the CMAF + LL-HLS / LL-DASH combo is the 2026 standard. For VOD, HLS + DASH (unified via CMAF) is the safe choice.
Codecs 2026 — AV1, HEVC, H.264, VVC, VP9, LCEVC
Codecs sit on a separate layer. Independent of container (.mp4, .ts), compression efficiency varies.
- **H.264 (AVC)**: 2003 standard. Still universal. All devices decode.
- **HEVC (H.265)**: 50% better than H.264. Apple devices, recent Android, recent TVs all support it. Complicated licensing (MPEG-LA, HEVC Advance, Velos Media).
- **VP9 (Google)**: HEVC-class compression, royalty-free. YouTube's mainline.
- **AV1 (AOMedia)**: 2018 standard. Next-gen royalty-free codec. Adopted by Netflix, YouTube, Twitch. Slow encoding was the trade-off, but SVT-AV1 and libaom have made it production-grade since 2025.
- **VVC (H.266)**: 2020 standard. 50% better than HEVC. Starting 2026, some 8K / VR content is adopting it.
- **LCEVC (V-Nova, MPEG-5 Part 2)**: An enhancement-layer on top of an existing codec. Base codec (e.g. H.264) plus an LCEVC enhancement.
Recommended 2026 encoding ladder:
1. Mainline: H.264 (minimum compatibility).
2. Additional: HEVC (high-quality, Apple side) plus AV1 (modern browsers, bandwidth savings).
3. Pilot: VVC (8K), LCEVC (low-bandwidth).
The reason Mux, Cloudflare Stream, and Bunny Stream are worth anything is that they auto-build multi-codec ABR (adaptive bitrate) ladders.
AI enhancements — upscaling, smart crop, Generative Fill
Starting in 2024, AI features entered CDNs proper.
- **AI upscaling**: Enlarge low-resolution sources to 4K. Topaz Gigapixel, Real-ESRGAN, SUPIR (2024 ICLR). Covered separately in iter75.
- **Smart crop / focal-point detection**: Auto-detect faces / subjects, then crop. Cloudinary `g_auto`, ImageKit `fo-face`, Imgix `crop=faces`.
- **Generative Fill / Outpainting**: Fill empty regions automatically. Cloudinary `e_gen_fill` (2024 GA), Adobe Firefly Services.
- **Background Removal**: Cloudinary `e_background_removal` (2024 GA), Remove.bg API, Photoroom API.
- **Object Replacement**: Region swap. Cloudinary `e_gen_replace` (2025 GA).
As these features land behind a single CDN URL, separate image-editing pipelines are disappearing.
DAM (Digital Asset Management) — the layer above image CDNs
A DAM is an image CDN plus collaboration, permissions, and lifecycle management. The May 2026 market:
- **Bynder**: Dutch. The marketing-team DAM leader.
- **Brandfolder (acquired by Smartsheet)**: US. Strong CRM integrations like Salesforce.
- **Cloudinary DAM (formerly Wirewheel)**: Collaboration layer on top of Cloudinary.
- **MediaValet**: Canadian.
- **Aprimo**: US. Enterprise marketing-operations bundle.
- **OpenText Hightail**: Collaboration plus asset sharing.
DAM SaaS pricing is steep (USD 20K–100K+ per year). At smaller scale, replacing it with Cloudinary or Bunny plus Notion / Airtable is common.
AI image tagging — Cloudinary AI, Google Vision, AWS Rekognition, Clarifai
As asset counts grow, search becomes the problem. AI tagging APIs:
- **Cloudinary AI Tagging (Add-On)**: Pick one of four engines: Imagga, Google, AWS, Microsoft.
- **Google Cloud Vision API**: Labels, object detection, OCR, landmark, face, safe search.
- **AWS Rekognition**: The same catalog, AWS-integrated.
- **Azure AI Vision (formerly Computer Vision)**: Same scope.
- **Clarifai**: Vision PaaS with custom-model training.
- **OpenAI Vision (GPT-4o, GPT-5)**: Free-form description / tagging. Pricing is token-based.
The May 2026 trend is **LLM-based multimodal tagging**. Clarifai and Cloudinary now offer GPT-5 / Claude / Gemini natural-language tagging as options.
Korean image CDNs — NHN Cloud, NAVER Cloud, Kakao i Cloud
Local Korean CDN options:
- **NHN Cloud Image Service**: NHN (formerly NHN Toast) Cloud. Strong in KR/JP regions. Korean-language docs.
- **NAVER Cloud Image (formerly NAVER Cloud Platform)**: NAVER's own infrastructure. KR-strong. Unified cloud + CDN.
- **Kakao i Cloud**: Kakao Enterprise. KR-strong. Integrates with KakaoTalk and Kakao Channels.
If your Korean-user share is dominant (over 70% of traffic in KR), the in-KR latency advantage of NHN / NAVER / Kakao beats global CDNs (Cloudflare, AWS). Once global delivery is added, Cloudflare flips ahead again.
Japanese image CDNs — Sakura CDN, CDNetworks Japan, Akamai Japan, Edgio Japan
The Japanese market is sized by:
- **Sakura Internet CDN (Image Flux)**: Sakura's image transform + CDN. JP-strong.
- **CDNetworks Japan**: Global CDN with strong JP POPs.
- **Akamai Japan**: Enterprise standard.
- **Edgio Japan (formerly Limelight Networks)**: Was strong in video CDN, filed Chapter 11 in 2024 and restructured. Some services remain as of May 2026.
- **J:COM Vision, NTT Communications CDN**: Carrier-backed offerings.
JP-heavy sites (manga, anime streaming) commonly combine Sakura Image Flux with Bunny / Cloudflare for global delivery.
Cost-optimization patterns — lazy loading, srcset, fetchpriority
No matter how low you push the CDN price, **the fastest savings come from cutting unnecessary transforms and bytes to zero**.
1. **`loading="lazy"`**: Load on viewport entry. Recommended as the default for all images. Only LCP candidates use `loading="eager"`.
2. **`fetchpriority="high"`**: Mark LCP candidates explicitly. Pushes them to the top of the browser priority queue.
3. **`srcset` and `sizes`**: Deliver only the resolution that fits the device pixel density and viewport.
4. **`<picture>` art direction**: When mobile and desktop ought to be different images.
5. **CDN cache-key normalization**: Sort query params, normalize case, strip unneeded params.
6. **HTTP/2 / HTTP/3 + Brotli**: Default-supported on CDNs.
7. **Service Worker offline cache**: Cuts repeat-visitor traffic.
For an LCP candidate, Next.js Image usage:
src="/hero.jpg"
alt=""
width={1600}
height={900}
priority
fetchPriority="high"
sizes="(max-width: 768px) 100vw, 50vw"
/>
For a non-LCP image:
src="/thumb.jpg"
alt=""
width={400}
height={300}
loading="lazy"
sizes="(max-width: 768px) 50vw, 25vw"
/>
Pricing models — per-transform vs per-GB vs flat
Image CDN pricing models split into three or four flavors.
1. **Per-transform (Cloudinary credits, Vercel Image, Cloudflare Images transform)**: Bills directly per transform. Hard to forecast under spiky traffic.
2. **Per-GB-delivered (Bunny, parts of Cloudflare, Imgix)**: Charges by data shipped. More room to negotiate as traffic grows.
3. **Storage + bandwidth (S3 + CloudFront, GCS + Cloud CDN)**: Storage and delivery as separate lines. Plays well with self-host transforms.
4. **Flat-rate (Cloudflare Images plan-based, Bunny Optimizer)**: Fixed monthly. Wins when transform count is overwhelmingly high.
A rough monthly-traffic recommendation (May 2026 list prices):
- **Small (< 100GB/mo)**: Cloudflare Images Free / Bunny / Cloudinary Free.
- **Medium (100GB to 1TB)**: Bunny Optimizer + CDN, Imgix Standard, Cloudinary Plus.
- **Large (1TB to 10TB)**: Cloudinary Advanced, ImageKit Custom, Bunny Volume.
- **Very large (>10TB)**: Self-host imgproxy + Cloudflare R2, AWS Lambda@Edge + S3, or negotiated Enterprise.
Core Web Vitals and media — LCP, INP, CLS
INP replaced FID in March 2024, so the three Core Web Vitals are now:
- **LCP (Largest Contentful Paint)**: Aim under 2.5s. Almost always the hero image is the LCP candidate. Directly tied to the image CDN.
- **INP (Interaction to Next Paint)**: Aim under 200ms. JS dominates here, not images.
- **CLS (Cumulative Layout Shift)**: Aim under 0.1. Requires explicit width / height (or aspect-ratio) on `<img>`.
Even with a great image CDN, missing width / height on `<img>` wrecks CLS. Next.js Image, Astro Image, and SvelteKit `enhanced:img` handle that automatically.
A practical checklist — choosing a new project's media stack
When kicking off a new project, decide in this order.
1. **Traffic volume and forecast**: 5GB/mo? 5TB? 50TB? Choice of pricing model follows.
2. **Geographic distribution**: Global? Korea-only? Japan-only? Local-CDN viability.
3. **Transform-catalog requirements**: Need GenAI? `f_auto` plus resize covers every tool.
4. **Video included?**: One vendor for image + video means Bunny / Cloudflare / Mux.
5. **Framework**: Next.js? Astro? Nuxt? Pick built-in Image plus a provider.
6. **DAM needs**: Marketing-team collaboration → DAM. Developer-only sites → skip.
7. **Self-host appetite**: Sovereignty / cost / compliance pushes off SaaS → imgproxy + S3 / R2.
The three most common 2026 combinations:
- **Developer sites (blog, docs)**: Next.js Image + Vercel (Pro) or free-tier Cloudflare Images.
- **Mid-size e-commerce**: Cloudinary or ImageKit + Next.js / Nuxt loader.
- **Content / media companies**: Bunny Optimizer + Bunny Stream (image + video), or Mux + Cloudflare Images.
Wrap-up — in 2026, "one place does it all" is the right answer
Looking at media CDNs as of May 2026, the trend is clear.
- **Format negotiation (AVIF / WebP / JPEG XL)** is effectively a default. Tools without f_auto have disappeared.
- **AI transforms (smart crop, Generative Fill, background removal)** entered as first-class features.
- **Unified image + video CDNs** (Bunny, Cloudflare, Mux) are growing faster than the "best of breed wired together" approach.
- **Pricing models** are split between per-transform and per-GB, but at scale per-GB / flat wins.
- **Framework integrations** (Next.js Image, Astro Image, Nuxt Image) standardized, so switching providers is cheap.
When you start a new project, the first decision is not "which CDN" but **"which framework Image component and which loader abstraction."** The backend slots in later.
References
- [Cloudinary Documentation](https://cloudinary.com/documentation)
- [Imgix Documentation](https://docs.imgix.com/)
- [ImageKit Documentation](https://docs.imagekit.io/)
- [Bunny.net Stream & Optimizer Documentation](https://docs.bunny.net/)
- [Cloudflare Images Documentation](https://developers.cloudflare.com/images/)
- [Cloudflare Stream Documentation](https://developers.cloudflare.com/stream/)
- [Mux Video Documentation](https://docs.mux.com/)
- [Fastly Image Optimizer Documentation](https://docs.fastly.com/products/image-optimizer)
- [AWS Serverless Image Handler Solution](https://aws.amazon.com/solutions/implementations/serverless-image-handler/)
- [Vercel Image Optimization Docs](https://vercel.com/docs/image-optimization)
- [Next.js Image Component](https://nextjs.org/docs/app/api-reference/components/image)
- [Astro Image and Assets](https://docs.astro.build/en/guides/images/)
- [SvelteKit Image Optimization (`enhanced:img`)](https://kit.svelte.dev/docs/images)
- [Nuxt Image](https://image.nuxt.com/)
- [Gatsby Plugin Image](https://www.gatsbyjs.com/plugins/gatsby-plugin-image/)
- [Sharp (libvips binding for Node)](https://sharp.pixelplumbing.com/)
- [imgproxy Docs](https://docs.imgproxy.net/)
- [Thumbor GitHub](https://github.com/thumbor/thumbor)
- [libvips Documentation](https://www.libvips.org/)
- [AVIF Format Overview (Web.dev)](https://web.dev/articles/compress-images-avif)
- [WebP Format Overview](https://developers.google.com/speed/webp)
- [JPEG XL Reference](https://jpegxl.info/)
- [HLS Specification (RFC 8216)](https://datatracker.ietf.org/doc/html/rfc8216)
- [MPEG-DASH Standard](https://dashif.org/)
- [CMAF Overview (ISO/IEC 23000-19)](https://www.iso.org/standard/79106.html)
- [AV1 / AOMedia](https://aomedia.org/)
- [VVC / H.266 Reference](https://www.itu.int/rec/T-REC-H.266)
- [Core Web Vitals (Google Search Central)](https://developers.google.com/search/docs/appearance/core-web-vitals)
- [HTTP Archive Web Almanac](https://almanac.httparchive.org/)
- [NHN Cloud Image Service](https://www.toast.com/service/contents-delivery/image-service)
- [NAVER Cloud Platform CDN](https://www.ncloud.com/product/networking/cdnplus)
- [Sakura Internet Image Flux](https://www.sakura.ad.jp/services/imageflux/)
현재 단락 (1/297)
Average web page weight as of Q1 2026 has crossed **2.4MB mobile, 2.9MB desktop** (HTTP Archive Web ...