Resources · n8n integration

Cloudinary n8n integrationAutomate Cloudinary with n8n.

Every image and video in a workflow can leave Cloudinary already resized, optimized and ready to embed. The Cloudinary n8n integration wraps 23 operations across 6 resources: upload assets, build delivery URLs, search the media library, and keep tags and structured metadata in order.

Community node This node is not shipped with n8n: it is a community package (n8n-nodes-cloudinary) you install from Settings › Community nodes on a self-hosted instance. npm

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the Cloudinary n8n integration do?

The node wraps the Cloudinary media library so a workflow can push files in, read what is already stored, and write delivery URLs back out. Six resources cover uploads, transformations, assets, the video player widget, library lookups, and a legacy asset resource kept for older workflows. Nothing runs in the browser: every step happens inside n8n, and the result is a plain JSON field you can map into the next node.

Take an online shop that receives supplier photos as links. A Schedule Trigger reads the new rows, upload.uploadUrl pulls each image into a folder, and transform.resizeImage returns a secure_url sized for the product grid. The URL goes straight back into Airtable next to the reference, so the catalog never stores a heavy original.

Video works the same way, with one extra step. transform.videoThumbnail grabs a still frame, widget.videoPlayer produces an embed URL and a player config, and the two land in a Slack message so the marketing team can approve the cut before it goes live. Files coming from Google Drive can feed upload.uploadFile in the same run.

Library upkeep is the third habit. asset.search runs a Cloudinary search expression, asset.updateTags relabels what comes back, and asset.deleteAssets clears the derived versions you no longer deliver. Because search accepts expressions like tags=cat AND uploaded_at>1d, the same workflow can run weekly without a hand-written list of public IDs.

When an endpoint is not in the node, the HTTP Request node calls it directly and reuses the same credential through predefined authentication. That covers anything the 23 operations leave out, and it keeps one credential for the whole workflow instead of two.

Two limits are worth knowing before you build. There is no Cloudinary trigger node, so a workflow always starts somewhere else: a Schedule Trigger on a fixed interval, an n8n Webhook called by another service, or the trigger of another tool. And the Transform operations do not sign URLs, so assets stored as Private or Authenticated will not load from the URLs they return. If you are still weighing the platform itself, the n8n review goes into that.

Connect

How do you connect Cloudinary to n8n?

  1. 01

    Install the community package

    Cloudinary is not shipped with n8n. It is the npm package n8n-nodes-cloudinary, version 0.2.3, installed from Settings then Community nodes on a self-hosted instance. n8n Cloud only accepts verified community nodes, so check that before planning the build. Once the package is installed, the node shows up in the node panel like any other one, and there is no extra cost on the n8n side.

  2. 02

    Create the credential once

    A credential is created once from the Credentials menu in n8n and reused across every workflow that touches the media library. The node then offers it in its own dropdown, so you pick it instead of pasting keys into each step. Keep it in one place: if the account values change later, the workflows that share the credential all follow without being reopened one by one.

  3. 03

    Pick a resource, then an operation

    Drop the node on the canvas and choose the resource first, Upload, Transform, Asset, Widget or Library, then the operation inside it. Required fields are marked as such and stop the node from running when they are empty. Values coming from an earlier node are written as expressions, for example {{ $json.public_id }}, which tells n8n to read that field on the incoming item rather than a fixed value.

Actions

What can the Cloudinary node do?

The Cloudinary node exposes 23 operations across 6 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.

Resources × operations matrix
ResourceCompose: Combine TransformationsImage: Convert FormatImage: CropVideo: CropCompose: Custom Transformation StringDelete AssetsGet AssetGet Metadata FieldsGet TagsImage: OptimizeVideo: OptimizeImage: ResizeVideo: ResizeSearch AssetsVideo: TrimUpdate Asset Structured MetadataUpdate Asset TagsUpload FileUpload From URLVideo PlayerVideo: Thumbnail
Upload✓✓
Transform✓✓✓✓✓✓✓✓✓✓✓
Asset✓✓✓✓✓
Widget✓
Library✓✓
Asset (Legacy, by Public ID)✓✓

Upload

2 operations
01

Upload an asset from file data

upload.uploadFile

What you see in n8n

Notes & use cases

Sends binary file data from a previous node into the media library and returns the stored asset.

Key parameters

  • File: the file to upload, required, usually the output of the node that fetched or generated it.
  • Resource Type: image, video or raw, so a PDF or a ZIP is not treated as a picture.
  • Additional Fields: Folder, Public ID, Tags, Structured Metadata as JSON, and Upload Preset if your account already defines one.
Use cases
an invoice attachment pulled from a mailbox lands in a dated folder, tagged with the customer reference so it can be found later.
02

Upload an asset from URL

upload.uploadUrl

What you see in n8n

Notes & use cases

Cloudinary fetches the file itself from an address you pass in, so nothing has to be downloaded into the workflow first.

Key parameters

  • URL: address of the image to upload, required, often {{ $json.url }} from the row or record being processed.
  • Resource Type: pick video when the link points at a clip, otherwise image.
  • Additional Fields: set Public ID to keep a stable name, Folder to sort, Tags to group.
Use cases
a supplier feed lists photo links, and each run copies them into your own library instead of hotlinking someone else's server.

Transform

11 operations
03

Compose: Combine Transformations

transform.combineTransformations

What you see in n8n

Notes & use cases

Chains several transformation steps in order and returns one delivery URL plus a reusable transformation string.

Key parameters

  • Public ID: required, the asset path without the file extension, for example folder/sample.
  • Steps: each step picks an Action, Resize, Crop, Convert Format, Optimize, Trim or Raw Component, and they are applied in the order shown.
  • Resource Type: image or video, which decides the URL path and the optimize output.
Use cases
one node crops a hero shot, then optimizes it, instead of wiring three separate Transform steps.
04

Compose: Custom Transformation String

transform.customTransformation

What you see in n8n

Notes & use cases

For teams that already know Cloudinary syntax, this builds the URL from a raw string used verbatim.

Key parameters

  • Public ID: required, folder path included, extension left off.
  • Transformation: required, the raw string where components are separated by a slash and qualifiers by commas, such as c_fill,g_auto,w_400,h_300/f_auto/q_auto.
  • Format: an optional delivery extension without the leading dot.
Use cases
a recipe your designers already validated in the Cloudinary console is pasted once and applied to every asset the workflow touches.
05

Image: Convert Format

transform.convertImage

What you see in n8n

Notes & use cases

Returns a delivery URL that serves the same picture in another file format.

Key parameters

  • Public ID: required, identifies the asset to convert.
  • Target Format: avif, webp, jpg, png or gif.
  • Continue From Transformation: paste the transformation output of a previous Transform step to compound both into a single URL rather than starting fresh.
Use cases
a batch of PNG screenshots is republished as WebP for a documentation site, without touching the stored original.
06

Image: Crop

transform.cropImage

What you see in n8n

Notes & use cases

Cuts a picture down to fixed dimensions or to a ratio, and hands back the URL and the transformation string.

Key parameters

  • Crop By: Dimensions for an exact Width and Height, or Aspect Ratio for a value like 16:9.
  • Focus: Auto detects the important region, Face centers on a detected face, Center keeps the middle.
  • Generative Fill: extends the image instead of cutting it, costs extra transformation credits and may render asynchronously on first request.
Use cases
portrait photos become square avatars with the face kept in frame.
07

Image: Optimize

transform.optimizeImage

What you see in n8n

Notes & use cases

Auto format and auto quality in one step, which is the cheapest weight saving on any image you deliver.

Key parameters

  • Public ID: required, the asset to optimize.
  • Quality: Auto is the recommended setting, Best keeps more detail, Eco and Low trade quality for smaller files.
  • Continue From Transformation: chain this after a Resize or Crop step, since neither of those adds optimization on its own.
Use cases
a blog exports its illustrations through this operation so each page ships lighter images without an editor picking formats by hand.
08

Image: Resize

transform.resizeImage

What you see in n8n

Notes & use cases

Produces a delivery URL at the width and height you ask for, with a choice of how the picture fits the box.

Key parameters

  • Width and Height: leave one at 0 to size by the other only.
  • Fit: Limit never upscales, Fit may enlarge, the Pad modes keep the whole picture and fill the rest.
  • Pad Background: Black by default, or Auto, Blurred, or a Background Color given as a name or a hex value.
Use cases
one source photo feeds a 800 pixel listing image and a 400 pixel thumbnail from the same public ID.
09

Video: Crop

transform.cropVideo

What you see in n8n

Notes & use cases

Same framing logic as the image version, applied to a clip so it fits a different placement.

Key parameters

  • Public ID: required, the video path without its extension.
  • Crop By: Dimensions with Width and Height, or Aspect Ratio with a value such as 9:16.
  • Focus: Auto, Face or Center decides what stays in frame once the edges are cut.
Use cases
a landscape interview recorded for the website is reframed vertically for social placements, straight from the stored master.
10

Video: Optimize

transform.optimizeVideo

What you see in n8n

Notes & use cases

Lets Cloudinary choose the format, the codec and the quality for the browser that asks for the file.

Key parameters

  • Quality: Auto for the balanced default, Good for a middle ground, Eco or Low when bandwidth matters more than detail.
  • Continue From Transformation: wire the transformation field from a Trim or Resize step so the two compound into one URL.
Use cases
product demo clips embedded on a landing page play without the visitor waiting on a heavy original file.
11

Video: Resize

transform.resizeVideo

What you see in n8n

Notes & use cases

Scales a clip to a target size and returns the URL to deliver it from.

Key parameters

  • Width and Height: 0 on one side sizes by the other.
  • Fit: Scale forces exact dimensions and may distort when both are set, the Pad modes letterbox instead.
  • Pad Background: Auto samples a color from the clip, Blurred uses an enlarged copy, Solid Color takes the value you set.
Use cases
a single master render is published at two sizes, one for the site player and one for an email preview frame.
12

Video: Thumbnail

transform.videoThumbnail

What you see in n8n

Notes & use cases

Pulls one still frame out of a video and delivers it as an image.

Key parameters

  • Frame: Auto lets Cloudinary pick a representative moment, Specific Time uses the Timestamp in seconds.
  • Image Format: jpg, png, webp or gif for the generated still.
  • Public ID: required, the source clip.
Use cases
every uploaded webinar recording gets a poster image automatically, so the listing page never shows a black rectangle.
13

Video: Trim

transform.trimVideo

What you see in n8n

Notes & use cases

Shortens a clip through the delivery URL, leaving the stored file untouched.

Key parameters

  • Start Offset and End Offset: times in seconds, and any combination of start, end and duration is accepted.
  • Duration: clip length in seconds when you prefer to say how long rather than where to stop.
  • Continue From Transformation: keeps an earlier crop or resize in front of the trim.
Use cases
a long recording is published as a short teaser without a video editor entering the loop.

Asset

5 operations
14

Delete assets

asset.deleteAssets

What you see in n8n

Notes & use cases

Removes one or several assets from the library, by public ID.

Key parameters

  • Public ID(s): required, a single value, several separated by commas, or an expression returning an array.
  • Type: required storage type, Upload, Private, Authenticated or Fetch.
  • Delete Options: Keep Original deletes only the derived versions, Invalidate CDN clears cached copies, Transformations narrows the deletion to listed derived assets.
Use cases
a monthly cleanup drops the derived sizes of retired campaign visuals while the masters stay in place.
15

Get an asset

asset.getAsset

What you see in n8n

Notes & use cases

Reads the full record of a single asset so the rest of the workflow can branch on what it finds.

Key parameters

  • Asset ID: required, the immutable asset_id, not the public ID.
  • Options: Colors returns the predominant colors, Faces the detected face coordinates, Image Metadata the IPTC, XMP and EXIF values, Pages the page count of multi page files.
Use cases
before publishing a scanned document, the workflow checks how many pages it holds and routes anything longer to a human.
17

Update asset structured metadata

asset.updateMetadata

What you see in n8n

Notes & use cases

Writes structured metadata onto an asset identified by its asset ID.

Key parameters

  • Asset ID: required, the immutable identifier returned by the library.
  • Structured Metadata: required JSON, shaped like {"field1": "value1"}, matching the fields your account defines.
  • Invalidate CDN: clears cached copies once the values change.
Use cases
a photo shoot gets its licence expiry and its photographer written back from the booking record, so the library stays the single reference.
18

Update asset tags

asset.updateTags

What you see in n8n

Notes & use cases

Sets or extends the tag list on one or more assets.

Key parameters

  • Asset ID and Public ID(s): both required, because the tag append endpoint is keyed on public ID and does not accept an asset ID.
  • Tags: required, a comma separated list of names.
  • Mode: Set replaces the whole list, Append keeps what is already there.
  • Type: must match the asset, since public IDs are scoped by resource type and type.
Use cases
assets approved by the brand team receive a shared label in one run.

Widget

1 operation
19

Generate a video player

widget.videoPlayer

What you see in n8n

Notes & use cases

Builds the embed code and the configuration for the Cloudinary Video Player, returned as an embed URL and a player config string.

Key parameters

  • Public ID: required, the clip to play.
  • Source Types: fallback order, and HLS or MPEG-DASH cannot be combined with a Transformation that pins a format.
  • Poster: the still shown before playback, ideally the secure URL of a Video: Thumbnail step.
  • Playback: Muted, Loop, Autoplay Mode, and Generate Captions for AI captions in the spoken language.
Use cases
a course page receives a ready made player block per lesson.

Library

2 operations
20

Get metadata fields definitions

admin.getMetadataFields

What you see in n8n

Notes & use cases

Lists the structured metadata fields defined on the account, with no parameter to fill in.

Use cases
run it once at the start of a project to see which field keys exist before writing anything into them, and keep it in a workflow that validates incoming payloads. Because the two metadata operations expect JSON keyed on those exact field names, reading the definitions first is what stops a silent mismatch between the values a form collects and the fields the library actually holds.
21

Get tags for a resource type

admin.getTags

What you see in n8n

Notes & use cases

Returns the tags in use for one kind of asset, which is how you check a label before applying it.

Key parameters

  • Resource Type: required, image, video or raw.
  • Prefix: keeps only the tags starting with the characters you give.
  • Max Results: caps the list between 1 and 500.
Use cases
a form that lets a colleague pick a tag is populated from the real list, so nobody invents a near duplicate label.

Asset (Legacy, by Public ID)

2 operations
22

Update asset structured metadata

updateAsset.updateMetadata

What you see in n8n

Notes & use cases

The legacy route to the same result, kept for workflows built before the Asset resource existed. It is deprecated, and new work belongs on the Asset resource.

Key parameters

  • Public ID: required, the asset to update, since this resource works by public ID rather than asset ID.
  • Type: required storage type, Upload, Private, Authenticated or Fetch.
  • Structured Metadata: required JSON of field keys and values.
Use cases
an older workflow keeps running untouched while the migration to the Asset resource is scheduled.
23

Update asset tags

updateAsset.updateTags

What you see in n8n

Notes & use cases

Tagging through the deprecated public ID resource, useful only while an existing workflow has not been migrated.

Key parameters

  • Public ID and Type: both required, they locate the asset in the older addressing scheme.
  • Public ID(s): required, the assets to tag, single value or comma separated.
  • Tags: required, comma separated names, applied with Mode set to Set or Append.
Use cases
a scheduled job inherited from a previous team keeps labelling assets until its replacement ships.
Need help

Need help automating Cloudinary with n8n?

A person reads every message.

FAQ

Cloudinary and n8n, common questions

01Is the Cloudinary n8n integration free?
Yes on the n8n side, with one condition. Cloudinary is a community node, so it is not shipped with n8n: it is the npm package n8n-nodes-cloudinary, version 0.2.3, that you install from Settings then Community nodes on a self-hosted instance. n8n Cloud only accepts verified community nodes, so check that before you plan around it. n8n itself can be self-hosted with Docker or npm, or used on n8n Cloud, the hosted offer, and a workflow is the same in both cases. Installing the package costs nothing extra on the n8n side. What a Cloudinary account itself costs is a separate matter and is not covered here.
02What credentials do you need to connect Cloudinary to n8n?
One credential, created once. In n8n a credential is set up from the Credentials menu and reused across every workflow, and the node offers it in its own dropdown rather than asking you to paste values into each step. Practically, that means the connection work happens at the start of the project and not each time you add a node. The node itself has no authentication selector, so there is a single way in rather than a choice between several. If you later need an endpoint the node does not cover, the HTTP Request node reuses that same credential through predefined authentication, which keeps one set of values for the whole workflow.
03What are the limits of the Cloudinary node in n8n?
Three worth planning around. The Transform operations do not generate signed URLs, so assets stored as Private or Authenticated, and depending on account settings the social profile sources, return delivery URLs that fail to load. Search returns images only unless you tick Video or Raw in Resource Types, and it stops at Max Results, between 1 and 500, unless Return All is on and n8n pages through the whole set. The Asset (Legacy, by Public ID) resource is deprecated in favour of the Asset resource. Anything the 23 operations leave out goes through the HTTP Request node, which calls any Cloudinary endpoint with the same credential.
04Does Cloudinary have a trigger node in n8n?
No. Cloudinary has no trigger node in n8n, so nothing starts from the media library itself. A workflow that involves it begins with another starting point: a Schedule Trigger that runs on a fixed interval, an n8n Webhook called by a third party service, or the trigger of another tool already in your stack. In practice that shapes the design more than it limits it. A scheduled run suits library upkeep, searching then retagging or deleting, while a webhook suits the moment a file arrives from a form or an upload service and has to reach Cloudinary right away.
05n8n or Make for Cloudinary?
It depends on four things, and on nothing about the node itself. Hosting first: n8n can be self-hosted with Docker or npm, or run on n8n Cloud, while Make is a hosted platform with no self-hosting option. Data control follows from that, since a self-hosted instance keeps media URLs and metadata on infrastructure you own. Cost model next: Make is billed per operation, which matters when a single run touches many assets. Visual logic last, as both build workflows on a canvas and the difference is a matter of habit. One detail decides it here: Cloudinary is a community node, and installing it requires a self-hosted n8n instance unless the package is verified.