Cloudflare Images beta: one API for storage, resizing and delivery

Cloudflare has launched the beta of Cloudflare Images, a service that brings together image storage, resizing, optimization and delivery in a single product. The company is positioning it as the image counterpart to its Stream video platform, so developers can build a full media pipeline without stitching together multiple services.

Every upload returns an :image_uid that can be used in future API calls and in image URLs. There are no buckets or folders to manage. Optional meta fields let users attach arbitrary JSON to any image for internal metadata.

Why separate image services break down

Cloudflare says customer feedback pointed to two recurring problems with existing image infrastructure. The first is complexity: teams typically combine one storage provider, a separate resizing service and a different CDN. That means multiple vendors, multiple points of failure and ongoing monitoring overhead. The second is cost, specifically egress. Moving an image from storage to a resize service to a CDN often incurs an egress charge at every step. For sites serving tens of millions of images and their variants, those charges can reach tens of thousands of dollars per month.

Two delivery patterns

Cloudflare Images supports two URL schemes, depending on how users want to identify images:

  • Upload and receive an :image_uid for all future operations, with URLs of the form https://imagedelivery.net/small-thumbnail/:image_uid.
  • Use the original filename as the identifier, which works when filenames carry meaning like an SKU, with URLs like https://imagedelivery.net/small-thumbnail/:account_hash/:filename. Note that duplicate filenames are rejected.

Variants for sizing and access control

Variants define one or more custom image renditions. A variant can specify a name, width, height and whether it is publicly accessible. Images can be associated with a variant through the UI or API; there is no charge for variants, and each uploaded image can be linked to up to five of them.

A variant can serve a fixed-size thumbnail, e.g. profile-thumbnail, so apps just request the appropriate URL for each use case. Variants also work for restricting access: creating a large-profile-picture variant that requires a signed token means requests without one will fail.

An added benefit of variants is that they create a central record of the different renditions and security settings an organization uses across its applications. Separate teams — one handling profile pictures, another handling creator uploads with different public and member-only versions — can manage their own variants while keeping all that logic visible in one place.

Format negotiation at the edge

Cloudflare Images inspects each request at the edge and serves the best supported format automatically. For example, browsers that support WebP get WebP; the remainder get PNG, and the rare clients that support neither get JPG. The company says AVIF support for frequently requested images is planned. The service also handles cache hit rates, file types and origin configuration, so clients can request a picture without specifying an extension.

Pricing and beta access

The pricing model is straightforward: a fixed monthly fee per 100,000 stored images up to 10MB each, plus a per-image charge for images served at the end of the month. There are no additional fees for resizing, egress or optimized routing.

Cloudflare is accepting requests for the beta and will begin onboarding users in the coming weeks. Pricing and developer documentation will be posted when invites go out.