用途:通过 Cloudflare Images API 上传与存储图片,并利用图像变换、变体与签名 URL 在全局 CDN 上分发优化后的图片。
主要能力:
- Images API:支持文件上传、通过 URL 导入、Direct Creator Upload(后端生成一次性上传链接,前端直传,无需暴露 API Token)。上传使用 multipart/form-data,字段名必须为 file;返回 id 与 variants 交付地址。可设置 requireSignedURLs 与 metadata。
- 图像变换:URL 形式为 https://<ZONE>/cdn-cgi/image/<OPTIONS>/<SOURCE-IMAGE>,支持 width、height、fit(scale-down/contain/cover/crop/pad)、quality、format=auto、blur、sharpen、gravity、rotate 等;也可在 Workers 中通过 fetch 的 cf.image 选项程序化变换,并做内容协商(AVIF/WebP)。
- 变体:命名变体最多 100 个,用于统一尺寸;灵活变体需在账户配置中开启 flexible_variants,可在 URL 中动态传参,但不能与签名 URL 同用。
- 签名 URL:基于 HMAC-SHA256 生成带 exp 与 sig 的限时访问地址,用于私有图片。
- 响应式图片:用 srcset/sizes 或 picture 配合命名变体或灵活变体输出多尺寸资源。
使用方式:先在 Cloudflare 控制台为账户启用 Images,获取 Account ID 与具备 Images 编辑权限的 API Token;上传调用 https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/images/v1;直传调用 /images/v2/direct_upload(仅后端);变换需先在对应 zone 启用 Transformations;Workers 中使用 cf.image 而非 /cdn-cgi/image/。
适用场景:图片存储与 CDN 分发、用户图片直传、私有图片限时访问、按设备尺寸自适应交付、在 Workers 中做自定义 URL 与访问控制。
限制与注意:上传必须用 multipart/form-data;直传只能后端调用,否则 CORS 失败;灵活变体不支持 requireSignedURLs=true;不支持对 SVG 缩放;变换仅支持 HTTPS;单图不超过 100 百万像素;Workers 中避免重复变换同一图片;使用前需在 zone 启用变换。资料未提供收费、价格与免费额度细节,暂未提供。