n8n上傳圖片卡關?Cloudinary API 設定教學,一次解決所有煩惱

在n8n上傳圖片有兩種方法,一種是直接上傳圖檔,一種是把圖變成網址再上傳,

像是IG、Threads或Notion,就是只吃網址,不吃圖檔。

這時就需要找有API的免費圖庫,上傳圖片獲得網址,再傳到本來要傳的地方。

我找了很久,發現Cloudinary最好用,申請方便、API好串、免費額度也給得很大方。

注意:申請API請使用電腦操作,使用手機很可能會有各種奇怪的問題。

n8n 上傳圖片前置作業:搞定 Cloudinary API 參數

n8n串接Cloudinary圖庫,解決圖片上傳網址問題。

要在n8n裡透過API把圖片傳到Cloudinary,其實不複雜。

你只需要設定一個HTTP Request節點,然後拿到兩個關鍵的值:

  • Cloud Name (雲端名稱):這就是你的帳號ID。
  • Upload Preset (上傳預設集):這是一組上傳規則,決定圖片要怎麼存。

接下來,我會一步步帶你把這兩個值從Cloudinary後台找出來。

n8n中使用HTTP Request節點設定Cloudinary圖片上傳。
n8n串接Cloudinary API需要的兩個重要參數:Cloudinary ID與Upload Preset。

這是n8n裡上傳到Cloudinary的節點設定,你可以參考。

第一步:取得 Cloudinary Cloud Name

Cloudinary官方網站首頁,點擊GET STARTED開始註冊。

首先,我們要拿到帳號的唯一ID,也就是Cloud Name。

進入Cloudinary官網後,點擊「GET STARTED」註冊一個新帳號。

以上藍色字是超連結,點擊能直接前往該網頁。

登入Cloudinary後,點擊Skip跳過初始設定畫面。

登入後會有一些設定引導,直接按「Skip」跳過就好。

Cloudinary使用者個人資料調查問卷填寫頁面。

填完一些無關緊要的個人資料後,你就會被帶到主控台(Dashboard)。

在Cloudinary儀表板找到並複製Cloud Name作為API串接的ID。

注意看紅框處的「Cloud Name」,這就是我們要的第一個值!點擊旁邊的複製按鈕,把它存下來。這東西等於你的帳號,別隨便給人。

第二步:建立 Upload Preset 取得上傳規則

從Cloudinary左側導覽列點擊Assets進入資源管理。
在Cloudinary的Assets管理介面中選擇Folders資料夾管理。

接下來,我們要設定一個「上傳預設集(Upload Preset)」,讓n8n知道圖片傳上來之後要幹嘛。首先,為了方便管理,我們先建一個專門放n8n上傳圖片的資料夾。點左邊的「Assets」->「Folders」。

在Cloudinary中點擊按鈕以新增圖片上傳用的資料夾。
為新的Cloudinary圖片資料夾設定一個自訂名稱。

然後點擊新增資料夾的圖示,隨便取個你喜歡的名字。

點擊Cloudinary左上角的Home回到主頁儀表板。
在Cloudinary儀表板點擊Go to API Keys前往API設定。
進入Cloudinary設定頁面後,點擊Upload頁籤以設定上傳規則。

接著,按左上角「Home」回到主頁,點擊「Go to API Keys」前往設定,再選擇「Upload」頁籤。

在Cloudinary上傳設定中,點擊Add Upload Preset新增上傳預設集。

在這裡,你會看到一個「Upload presets」的區塊,點「Add upload preset」。

設定Cloudinary新的Upload Preset,包含命名、將簽署模式改為Unsigned、並指定上傳資料夾。

現在是最關鍵的設定:

  • Upload preset name:把它想成是API的密碼,取一個越難猜到的名字越好。這就是我們要的第二個值!
  • Signing Mode:把它改成「Unsigned」。這樣n8n才能在沒有複雜簽章的情況下直接上傳。
  • Folder:指定到你剛剛建立的那個資料夾。

都設定好之後,按右上角的「Save」儲存。

第三步:回到 n8n 完成串接

如果你使用我的模板

回到你的n8n首頁,點紅框處的Data tables (需要1.113版本以上,如果沒看到就是版本不夠)

在裡面需要建立一個Data tables,名稱建議是「社群金鑰」,當然也能不一樣。

我的模版使用Data tables控管金鑰,你需要新增像紅框的那兩行,如果圖太小可以右鍵按圖片,選擇在新分頁開啟圖片。

那兩行分別是id和upload_preset,各自對應「Cloud Name」和「Upload Preset Name」,注意欄位名稱都要跟我圖片一樣,除了value能不一樣,value就是要填你實際拿到的值!note是備註給你自己看的,自己看的懂就行。

當這部份做完後,你的Cloudinary節點就能使用了,如果報錯就檢查這兩個值是否填錯。

如果你沒有使用我的模板

在n8n中成功上傳圖片到Cloudinary後,從節點輸出取得圖片URL。

好了,現在我們手上已經有「Cloud Name」和「Upload Preset Name」這兩個寶物了。回到n8n,把HTTP Request節點打開,把這兩個值填進對應的欄位,就能把圖片上傳到Cloudinary了!上傳後紅框處的URL就是上傳圖片後需要的連結,能用在各種只支援URL的地方。

回到Cloudinary的Assets管理頁面,確認n8n上傳的圖片已成功儲存。

回到Cloudinary後台的「Assets」看一下,你會發現剛剛上傳的圖片已經乖乖地躺在你指定的資料夾裡了。未來所有透過n8n上傳的圖片,都可以在這裡統一管理,是不是超方便?

搞定!從此以後,需要上傳圖片卻又不能直接傳圖檔時,就能用這個方式先上傳圖庫,再使用該圖片的URL進行上傳。

若你想知道哪時需要上傳圖庫,可以看這一篇一鍵自動多平台發文:用n8n把自媒體變成一人公司,同時經營五個平台,像這種需要發文的系統就經常使用Cloudinary圖庫。

如果你還不擅長n8n,能跟著我的學習筆記,一步步一起跟著做!

若你喜歡這類文章,歡迎追蹤我的FB帳號,觀看我每天更新的開發與學習分享

Q&A常見問題

在n8n中如何上傳圖片獲得網址?

因為n8n本身不儲存檔案,許多社群平台(如Instagram)的API又不接受直接傳送圖片檔案,只接受圖片的URL。使用Cloudinary這種專業圖庫(或稱媒體庫),可以將你的圖片轉換成一個穩定的公開網址,讓n8n可以方便地調用。

n8n 如何自動發布圖片到 Instagram 或 Threads?為什麼不能直接上傳?

這是個非常常見的問題!核心原因在於,像 Instagram、Threads 這類平台的 API,在設計上就不接受直接的「圖片檔案」上傳,它們只接受一個公開的「圖片網址(URL)」。
這可以想像成:你不能直接寄一幅畫給朋友,你得先把畫掛到一個公開的畫廊(例如 Cloudinary),然後給朋友這幅畫在畫廊裡的地址(URL),他才能看到。
因此,正確的自動化流程是:
1.n8n 節點 1:先透過 HTTP Request 節點,將你的圖片檔案上傳到 Cloudinary。
2.Cloudinary:成功上傳後,會回傳一個公開、穩定的圖片 URL 給 n8n。
3.n8n 節點 2:n8n 再帶著這個圖片 URL,去請求 Instagram 或 Threads 的 API,完成發文。
所以 Cloudinary 在這裡扮演了一個不可或缺的「圖片中繼站」角色。

Cloudinary 的免費額度有多少?有哪些重要限制?

對於個人開發者或中小規模的自動化專案,Cloudinary 的免費方案通常綽綽有餘。它採用「點數(Credits)」制,每月提供 25 點,儲存、轉換、流量都會消耗點數。
對 n8n 使用者來說,最重要的幾個限制是:
每月 25 點積分:每次上傳、轉換圖片都會消耗點數,但額度對一般用量很充足。
單張圖片最大 10MB:對於絕大多數的社群貼文、網站圖片來說,這個大小都夠用。
支援 3 位使用者:如果你有小團隊,這個額度也很方便協作。
總結來說,除非你的自動化流程需要上傳大量高解析度圖片或影片,否則很難超過免費方案的限制,可以放心使用。