Cloudflare Images is now generally available

Cloudflare has opened its image pipeline product, Cloudflare Images, to every customer. The service combines storage, resizing, optimization, and delivery in one offering, aimed at letting teams of any size stand up an image workflow without stitching together point solutions.

The core idea is to simplify how image variants are handled. Legacy pipelines typically generate multiple files — one per size and format combination — and push them all into a storage bucket behind a CDN. That multiplies storage costs and adds maintenance overhead. With Cloudflare Images, the original upload is stored once, and any defined variant is produced on demand. Storing one image that needs three sizes and two formats costs for one stored image, not seven.

Two other design decisions matter for cost and access. Egress fees are a notorious blind spot in image pipelines; a multi-vendor setup often means paying for transfers between storage, resizing, and delivery services. Cloudflare Images bundles all three, so the bill shows two line items: $5 per 100,000 stored images and $1 per 100,000 delivered images, with no separate charges for resizing, compute, or egress. For access control, any image can be marked private and served only through expiring, signed URL tokens — suitable for membership sites or other gated content.

Uploading images

Uploads accept the common formats (JPEG, GIF, WEBP), with a 10 MB per-image limit. There are two paths in.

For small batches or a quick trial, the Cloudflare Images Dashboard supports drag-and-drop uploads.

Cloudflare Images Dashboard

For apps where end users submit images, the Direct Creator Uploads API issues single-use tokens. A client can upload straight to the returned uploadURL without ever seeing your API credentials. The flow starts with a request like this:

curl --request POST \
  --url https://api.cloudflare.com/client/v4/accounts/:account_id/images/v1/direct_upload \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer :token'

and a successful call returns a payload containing a one-time upload URL:

{
  "result": {
    "id": "2cdc28f0-017a-49c4-9ed7-87056c839c2",
    "uploadURL": "https://upload.imagedelivery.net/2cdc28f0-017a-49c4-9ed7-87056c839c2"
  },
  "result_info": null,
  "success": true,
  "errors": [],
  "messages": []
}

Defining variants

Up to 20 variants can be defined, each with its own width and height. The fit property controls how those dimensions are interpreted:

  • Scale Down: shrinks the image to fit within the given width or height, but never enlarges it.
  • Contain: resizes the image (shrink or enlarge) to be as large as possible within the given dimensions while preserving aspect ratio.
  • Cover: resizes the image to exactly fill the given width and height, cropping if necessary.
  • Crop: shrinks and crops to fit within the area; behaves like scale-down for images smaller than the dimensions, and like cover for larger ones.
  • Pad: resizes like contain, then fills any leftover area with a background color (white by default).

Variant configuration is managed in the dashboard:

Configure variants in Cloudflare Images

Once variants exist, the dashboard lets you preview any uploaded image under each variant before you commit to a particular setup.

Previewing variants in Cloudflare Images

Delivery and format negotiation

Each account gets an Image Delivery URL template in the dashboard. A typical delivery endpoint looks like this:

https://imagedelivery.net/ZWd9g1K7eljCn_KDTu_OWA/:image_id/:variant_name

The template substitutes an image ID and variant name to form the final URL for any combination. When a request comes in, Cloudflare Images negotiates the optimal format among WebP, PNG, JPEG, and GIF, based on client headers and the original image type.

Serving images with Cloudflare Images

AVIF support is on the roadmap, and the company notes that newer formats will be switched on without code changes on your side — the delivery layer handles format selection automatically.

What comes next

Cloudflare Images is available to all customers now, with developer documentation covering upload flows and signed-URL access control. Near-term features in development include AVIF encoding, blur-effect variants, and usage analytics.