Cloudflare Images
上傳一張原圖,自動產生各種尺寸與格式,為每位訪客送出最合適的版本。
Cloudflare Images 是什麼?
Cloudflare Images 是一個幫你「存放圖片」並「即時最佳化」的服務。它會在 Cloudflare 的邊緣節點,自動為每位訪客送出最適合的圖片版本:合適的尺寸、合適的格式、最小的檔案大小,全程不用你手動處理。
「邊緣(edge)」指的是 Cloudflare 散布在全球數百個城市的伺服器。當有人打開你的網頁時,圖片會由離他最近的伺服器處理並送出,所以載入很快。
把它想成一位裁縫師
你只交出一件衣服(原始圖片),裁縫師會在客人上門的當下,立刻改成最合身的尺寸——手機、筆電、還是大電視都行。你不必準備一整櫃各種尺寸的版本。
為什麼要用它?
自己處理圖片其實很麻煩:手機和桌機要不同尺寸、要用新格式才夠快、要找地方存放、還要能快速傳送。Images 把這些麻煩全部包成一個服務。
免手動縮放
不用再為每張照片匯出 5 種尺寸。只要在網址裡指定寬度,Images 就即時幫你產生。
網頁更快
更小、更新的格式(WebP/AVIF)代表下載資料更少、載入更快。
內建儲存
把原圖上傳到 Cloudflare 由它代管,不必再另外架儲存空間或伺服器。
全球傳送
圖片走 Cloudflare 的全球網路,世界各地的訪客都能快速取得。
什麼時候該用?
電商網站
商品照要做縮圖、列表、放大檢視——一張原圖全包。
部落格與新聞
封面圖會自動適配手機與寬螢幕,永遠清晰。
使用者上傳
用一次性的「直接上傳網址」,讓使用者把頭像或照片直接上傳到 Images。
響應式網站
任何需要同一張圖、在多種裝置上呈現多種尺寸的網站或 App。
怎麼開始用?
Images 有兩種用法:(1)把原圖上傳到 Cloudflare 由它代管;(2)圖片留在你自己的網站,透過一個特殊網址即時轉換。下面兩種都會示範。
建立 API 權杖
在 Cloudflare 控制台建立一個有 Images 權限的 API 權杖(token),並記下你的 Account ID。權杖就像一組密碼,讓你的程式可以安全地跟 Cloudflare 溝通。
export CLOUDFLARE_API_TOKEN="your-token-here" export ACCOUNT_ID="your-account-id-here"上傳一張圖片
把檔案傳到 Images API。指令裡 -F file=@ 就是附上本機檔案。回應會給你一個 image id,以及可直接使用的傳送網址(也就是各個 variant)。
curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/images/v1 \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -F file=@/path/to/photo.jpg看懂回應
你會拿到 image id 和一條傳送網址。網址結尾那個字(這裡是 public)就是 variant——一組你在控制台設定好的「尺寸/品質」預設組合。
{ "result": { "id": "2cdc28f0-017a-49c4-9ed7-87056c83901", "variants": [ "https://imagedelivery.net/abc123AccountHash/2cdc28f0-017a-49c4-9ed7-87056c83901/public" ] }, "success": true }放到網頁上
直接把傳送網址放進 <img> 標籤就好。完成——Cloudflare 會送出最佳化後的圖片。
<img src="https://imagedelivery.net/abc123AccountHash/2cdc28f0-017a-49c4-9ed7-87056c83901/public" alt="My photo" />或用網址即時轉換
如果圖片本來就放在你自己的網域,只要在網址前面加上 /cdn-cgi/image/<選項>/。下面是指定寬 800px、品質 75%、format=auto(Cloudflare 會自動挑瀏覽器支援的 WebP 或 AVIF)。
https://example.com/cdn-cgi/image/width=800,quality=75,format=auto/photo.jpg
重點概念
Variant(變體)
一組存好的預設,例如 thumbnail(200px)或 public(原尺寸)。你在網址裡用名字指定要哪個變體。
Format auto(自動格式)
format=auto 讓 Cloudflare 在瀏覽器支援時送出 AVIF 或 WebP(更新、更小的格式),不支援就退回 JPEG/PNG。
Fit(縮放方式)
決定圖片如何填進指定框:scale-down、contain、cover、crop、pad 等。
Edge/CDN(邊緣網路)
CDN 是「內容傳遞網路」:分布全球的伺服器,會就近快取並傳送內容給每位訪客。
Direct upload(直接上傳)
一個發給終端使用者的一次性網址,讓他們直接把檔案上傳到 Images,又不必外洩你的 API 權杖。
支援格式
可輸入:PNG、JPEG、GIF、WebP、SVG、AVIF、HEIC。可輸出:PNG、JPEG、GIF、WebP、AVIF。
小提示與計費
計費方式
儲存原圖每月每 10 萬張 5 美元;傳送每月每 10 萬張 1 美元。網址轉換每月有 5,000 次免費的「不重複轉換」,超過後每 1,000 次 0.5 美元。
要記住的尺寸限制
上傳(代管)的圖片:每張最大 10 MB。你拿來轉換的遠端圖片:最大 100 MB。兩者面積上限都是 1 億畫素(100 megapixels),單邊最長 12,000 px。
- 到處都加上 format=auto——這是最簡單又最有感的提速招數。
- 設定合理的最大寬度;手機根本不需要 6000px 的照片。
- 動態 GIF/WebP 也支援,但超大的動畫可能會略過轉換。
- 「不重複轉換」是依「選項組合+來源圖」各算一次,之後會被快取重複使用。