Cloudinary image resizing and watermarking: How to automate it?

Automate Cloudinary image resizing and watermarking with a 4-step Make.com guide. Resize to 1200px, compress, add watermark, and save to Google Drive quickly.

Spread the love
Bikers rights gif via giphy
"bikers rights" portlandia gif via giphy

TL;DR

You can automate image editing (resizing, compression, and watermarking) by connecting Cloudinary + Make.com in a simple 4-step workflow.

The image you upload to Cloudinary must be a publicly accessible URL. This single gotcha trips up almost everyone.

Use ChatGPT to generate the Cloudinary transformation parameter code instead of wrestling with Cloudinary URL syntax yourself.

The final step uses an HTTP “Get a File” module to download the transformed image and send the binary file to Google Drive (or anywhere else).

I finally figured out how to properly use Cloudinary to automate image resizing and watermarking, and honestly it took me way longer than it should have 🤙. The official docs are thorough, almost too thorough, to the point where finding a straight answer for a specific workflow felt impossible.

If you’ve been manually resizing, compressing, and slapping watermarks on images one by one, this is the post that’s gonna make you stop 💪.

I built this whole thing inside Make.com and got it working end-to-end: upload an image from a public URL, resize it, compress it, add a watermark overlay, and dump the final version into Google Drive. All automated end-to-end.

And the best part? I used ChatGPT to write the Cloudinary transformation code so I didn’t have to learn the syntax myself.

It took me a while to figure this out and I didn’t find a lot of resources on it, so here you go. You’re welcome.

https://www.youtube.com/watch?v=

Learn how to edit, resize, and compress images using Cloudinary

What This Workflow Actually Does (And Why You’d Want It)

I had a very specific, very annoying problem: every image I was working with needed three things done to it before it was usable. Three edits, every time.

Thumbnail for cloudinary tutorial video
Learn how to edit, resize, and compress images using cloudinary

I needed to resize it so no image was wider than 1,200 pixels. I needed to compress it so file sizes weren’t bloated. And I needed to add a watermark overlay, a logo in the corner. Doing this manually is brutal.

Doing this once? Fine. Doing it for every single image across a project? Absolute time sink. And if you’re running a small business or managing content at any kind of volume, you know exactly what I’m talking about.

Volume makes it painful. I was making sure that no images are wider than 1200 pixels and also compressing the images all in one go.

That “all in one go” part is what matters. This isn’t three separate tools or three separate steps you babysit. It’s one automated pipeline.

The 4-Step Make.com Workflow (Complete Blueprint)

The entire automation lives inside Make.com and uses exactly four modules chained together. If you’ve built any scenario in Make before, you’ll feel right at home. If you haven’t, this is honestly a great first project because it’s linear, no branching, no conditionals, just A → B → C → D. Simple, straight-through automation.

Step 1: Set Your Image Source (The Variable or Trigger)

In my test setup, I used a “Set Variable” module with a single image URL pasted in. That’s it. Super simple for testing.

In a real-world scenario though, you’d replace this with whatever feeds your images, a webhook, a Google Drive watch trigger, an Airtable row, whatever. The point is that this first step just needs to produce a URL that points to your image. All you need is a URL.

Warning callout icon.

Warning

That URL must be publicly accessible. If the image is behind authentication or stored in a private bucket, Cloudinary can’t reach it via URL upload. You’ll get a silent failure or a cryptic error and waste an hour troubleshooting.

If your image source isn’t public (like a private Google Drive file), you have an alternative. You can use Make’s “Get a File” module to download it first, then pass the Base64 encoded data to Cloudinary instead of a URL.

The upload module supports both: URL for public files, Base64 for everything else. Base64 solves private files.

Step 2: Upload the Resource to Cloudinary

This is the “Cloudinary: Upload a Resource” module. Configuration is pretty straightforward once you know what goes where. This is the ingestion step.

Upload Settings

  • File Type: Select “URL” for a public link, or “Base64 Encoded Data” if you downloaded the file first.
  • URL: Map the variable/output from Step 1 (your image URL).
  • Resource Type: Image
  • Type: Upload

Before any of this works, you need to connect your Cloudinary account to Make. You’ll need three credentials from your Cloudinary dashboard: your API Key, your API Secret, and your Cloud Name.

They’re all on the main dashboard page when you log in, takes about 30 seconds to find them. Grab the three credentials.

Cloudinary’s free tier is genuinely useful for getting started. You get 25 credits per month, which translates to roughly 25,000 transformations or 25GB of managed storage (or a combination of both), making it more than enough for most small business use cases. You can check the latest details on Cloudinary’s pricing page. The free tier goes far.

Step 3: Transform the Resource (Where the Magic Happens)

This is the “Cloudinary: Transform a Resource” step, and I love this tool because all I have to do is set these parameters and all I did was go to ChatGPT and just basically ask it to do it for me. ChatGPT writes the syntax.

That’s not an exaggeration. Cloudinary transformations work by stringing together parameters in a very specific syntax. Something like c_limit,w_1200/q_auto/l_your-watermark-id,w_150,g_south_east,o_60.

If you stare at that and your eyes glaze over, same. The syntax is dense. The documentation explains every individual parameter but doesn’t hold your hand through combining them for a real workflow.

So here’s the move: open ChatGPT and tell it exactly what you want. Describe the outcome.

I literally told it something like: “Write me a Cloudinary transformation string that resizes an image to a max width of 1200 pixels, compresses it with auto quality, and adds a watermark overlay from a specific image public ID, positioned in the bottom-right corner at 60% opacity and scaled to 150 pixels wide.” Copy/paste the prompt.

And it just… gave me the code. Pasted it in. Worked. It worked immediately.

Success icon.

Success!

Using ChatGPT for Cloudinary transformations is the single biggest time-saver in this entire workflow. You don’t need to learn the syntax; just describe what you want in plain English and paste the output into Make’s transformation field.

Now, one thing you do need for the watermark: the public ID of your watermark image. This is the identifier Cloudinary assigns when you upload it. You can find it in your Cloudinary Media Library (often the filename without the extension). The public ID is required.

ParameterWhat It DoesExample Value
c_limit,w_1200Resizes image, max width 1200pxPrevents upscaling
q_autoAuto-compresses for best quality/size ratioCan typically save 40-60% file size
l_[public_id]Adds overlay image (watermark)l_my-logo
g_south_eastPositions overlay in bottom-rightOther options: north_west, center, etc.
o_60Sets overlay opacity to 60%Range: 0-100
w_150 (on overlay)Scales watermark to 150px wideAdjust to your logo size
Common Cloudinary transformation parameters used in this workflow

Step 4: Get the Transformed Image and Send It Home

After transformation, Cloudinary gives you a new URL for the processed image. But you can’t just map that URL directly to a Google Drive upload. You need to actually download the file first. You need the binary file.

That’s where the “HTTP: Get a File” module comes in. You point it at the transformed image URL Cloudinary outputs, and it downloads the actual file data.

Then you pass that file data to your final module (in my case “Google Drive: Upload a File”), and you’re done. HTTP bridges URL to file.

Image uploaded. Resized. Compressed. Watermarked. Sitting in your Google Drive folder. No manual work.

Info icon.

Did You Know?

Why the extra HTTP step? Make.com needs actual file data to upload to Google Drive, not just a URL. The HTTP module fetches the binary file from Cloudinary’s delivery URL, which is the step many people miss the first time.

Why This Beats the Alternatives

You could do this in Photoshop with batch actions. You could use Canva’s bulk tools if you’re on their paid plan. You could write a Python script. But none of those are truly automated in the way this is. This runs on autopilot.

Once this Make.com scenario is set up and connected to your actual image source (a watched folder, a form submission, an e-commerce product upload), it just runs. No clicking, no opening apps, no remembering to do it. Set it once, forget it.

And the Cloudinary piece handles three tasks that usually require separate tools, all in a single API call. That’s hard to beat.

Do you ever struggle with image editing tools, feel frustrated with file sizes, and wonder why it's so complicated? 🤔
Do you ever struggle with image editing tools, feel frustrated with file sizes, and wonder why it’s so complicated? 🤔

Frequently Asked Questions

Absolutely. The first part of the workflow (Cloudinary upload and transform) doesn’t care where your images come from or go; it just needs a public URL or Base64 data. Swap the Google Drive module at the end for a Dropbox upload module and you’re set.

This is where you might need to tweak the overlay width parameter or use percentage-based scaling instead of fixed pixel values. In your ChatGPT prompt, ask for the watermark to be “15% of the image width” rather than a fixed size so it adapts to different dimensions.

No. Cloudinary transformations are non-destructive. Your original stays untouched in your media library; the transformation generates a new version at a new URL.

Two limits to watch: Cloudinary’s free tier includes 25 credits per month (about 25,000 transformations or 25GB of managed storage, depending on usage) and Make’s free plan caps you at 1,000 operations per month. If you’re processing thousands of images, you’ll likely need paid plans on both platforms.

Yes. Cloudinary supports text overlays with custom fonts, sizes, colors, and positioning. Instead of using l_[image_public_id], you’d use a text overlay parameter. Just describe it to ChatGPT and it’ll generate the transformation string.

Final Thoughts

The whole point of automating your image workflow is to stop doing the same tedious edits over and over. This Cloudinary + Make.com workflow handles resizing, compression, and watermarking in a single automated pass, and the ChatGPT trick for generating transformation code makes the hardest part of the setup take about 60 seconds. One pass, no repeats.

If you’ve been putting off automating this because the API docs felt overwhelming, just start with this exact blueprint. Set up the four modules, paste in a test image URL, and run it once. Run one test image.

Once you see that first perfectly resized, watermarked image land in your Google Drive without you lifting a finger, you’ll wonder why you didn’t do this months ago. So yeah, here you go. You’ll never go back. You’re welcome.

Leave a Comment

Frequently asked questions (FAQ)

LiaisonLabs is your local partner for SEO & digital marketing services in Mount Vernon, Washington. Here are some answers to the most frequently asked questions about our SEO services.

SEO (Search Engine Optimization) is the process of improving your website's visibility in search engines like Google. When potential customers in Mount Vernon or Skagit County search for your products or services, SEO helps your business appear at the top of search results. This drives more qualified traffic to your website—people who are actively looking for what you offer. For local businesses, effective SEO means more phone calls, more foot traffic, and more revenue without paying for every click like traditional advertising.

A local SEO partner understands the unique market dynamics of Skagit Valley and the Pacific Northwest. We know the seasonal patterns that affect local businesses, from tulip festival tourism to agricultural cycles. Local expertise means we understand which keywords your neighbors are searching, which directories matter for your industry, and how to position your business against local competitors. Plus, we're available for in-person meetings and truly invested in the success of our Mount Vernon business community.

SEO is a long-term investment, and most businesses begin seeing meaningful results within 3 to 6 months. Some quick wins—like optimizing your Google Business Profile or fixing technical issues—can show improvements within weeks. However, building sustainable rankings that drive consistent traffic takes time. The good news? Unlike paid advertising that stops the moment you stop paying, SEO results compound over time. The work we do today continues delivering value for months and years to come.

SEO pricing varies based on your goals, competition, and current website health. Local SEO packages for small businesses typically range from $500 to $2,500 per month, while more comprehensive campaigns for competitive industries may require a larger investment. We offer customized proposals based on a thorough audit of your website and competitive landscape. During your free consultation, we'll discuss your budget and create a strategy that delivers measurable ROI—because effective SEO should pay for itself through increased revenue.

Both aim to improve search visibility, but the focus differs significantly. Local SEO targets customers in a specific geographic area—like Mount Vernon, Burlington, Anacortes, or greater Skagit County. It emphasizes Google Business Profile optimization, local citations, reviews, and location-based keywords. Traditional SEO focuses on broader, often national rankings and prioritizes content marketing, backlink building, and technical optimization. Most Mount Vernon businesses benefit from a local-first strategy, though many of our clients combine both approaches to capture customers at every stage of their search journey.

Absolutely! SEO and paid advertising work best as complementary strategies. Google Ads deliver immediate visibility and are great for testing keywords and driving quick traffic. SEO builds sustainable, long-term visibility that doesn't require ongoing ad spend. Together, they create a powerful combination—ads capture immediate demand while SEO builds your organic presence over time. Many of our Mount Vernon clients find that strong SEO actually improves their ad performance by increasing Quality Scores and reducing cost-per-click, ultimately lowering their total marketing costs while increasing results.