Looking to build a market place - image gallery

Do you have a feature where it will only show a low res image with a watermark on it so the potential customer can’t download it for free? ie they have to purchase to dl the full res without watermark?

There is no native Glide feature to do this, but you could use Cloudinary to dynamically add watermarks to images.


In this particular use case, I would do it like this:

  • On every new image submission (from admins?), create an automation flow in Make/Zapier to send the link to a webhook.
  • Upload the image through the link to Cloudinary
  • Do the transformations
  • Get the image and upload them to an image hosting service (say Imgur), I wish we can upload directly to Glide through the API though
  • Update the Imgur link back to Glide

The reasoning for this is Cloudinary links might expose your “real” image under the hood if you do a fetch, so I thought we should “protect” that by uploading the content to an external service.


This is incredibly helpful, thanks a mil @ThinhDinh & @Darren_Murphy :pray::pray::pray:

1 Like

Hi @Darren_Murphy and @ThinhDinh I’m eventually getting around to this … :crossed_fingers:

I’m not too fussed about exposing the “image” under the hood for now. I just want to understand on how to use Zapier with Glide and Cloudinary

Here has been my steps thus far:

Then in Glide I tried bother options

Tiggering a Zap

And Webhook

I’m a bit stuck, sorry total newb when it comes to this?
I can see that the zap worked and image uploaded? however I don’t see the watermark and I don’t see how I get the image back as a returned value

Other Qs:

  1. If you upload an image with to Glide how to you get that URL of the image for Cloudinary? I’m not using GoogleSheets, just the Glide Data Editor, so it just shows an image. I followed this article and this article but it also references Google Sheets.

Any help or direction would be appreciated

I don’t have time to go into a lot of details right now, but I’ll make just a couple of points.

  • You don’t need to add all your images to Cloudinary. Just your watermark or logo or whatever you want to use. If you just want to overlay some text, then you don’t actually need anything pre-loaded at all.
  • You don’t need Zapier ro Integromat or any other tool. You can construct the Cloudinary URL that you need completely within Glide, and then use that URL in a Glide Image component.

Have a read of the doc that I linked to, and experiment with that a bit. It shouldn’t take too long to figure it out.


I think I have an easy way. If you are the one uploading images, then on the image sheet, make 2 columns.

  1. with all low-res images
  2. with all original images

By using the Glides native buy button and the visibility conditions, you can allow users to purchase the images. I think that’s the fastest, and easiest way as well as it would be user friendly.

In this method, you will not be dependent on any 3rd party tooks like cloudinary, zapier.

1 Like

I just re-read this thread and noticed the following comment from @ThinhDinh:

That’s a very good point. So yes, if you want to avoid that possibility you should follow his advice. More work to setup, but will be a more robust solution.


Thanks I understand that I don’t have to upload the watermark to Cloudinary

When you say construct a Cloudinary URL, how do I get the URL of the image, if I’m not using Google Sheets? As when I upload the Image it only show the image and not the URL?

When you construct the URL with a template column, just use the image column as a replacement value, and the appropriate URL will be inserted.

But did you see my note regarding Thinh’s advice?

Unfortunately I’m not the once uploading the images, it will be a marketplace for anyone to upload.
However I will def check the Native Buy button with visibility conditions for when the purchase path happens

Thanks will check this out, also going to follow Thinh’s advise :wink:

As you won’t directly upload those images to Cloudinary, the only option to generate an adjusted version of the image is through fetching. And when you fetch, you must have the original URL in the URL you’re putting in the template column.

That’s where the “hack” can happen. Someone can open your image in a new tab, find the original URL and get the original image.

Wohooo it’s working!!! I can’t thank @ThinhDinh and @Darren_Murphy enough :pray::pray::pray::pray::pray::pray:

I managed to go with the Upload through Cloudinary option for now …


Nice one :+1: