# Looking to build a market place - image gallery

**URL:** <https://community.glideapps.com/t/looking-to-build-a-market-place-image-gallery/48689>\
**Category:** Ask for Help\
**Created:** [September 6, 2022, 1:25pm UTC](https://community.glideapps.com/t/looking-to-build-a-market-place-image-gallery/48689 "2022-09-06T13:25:03Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![Gary\_Willmott](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/gary_willmott/32/837_2.png) [@Gary\_Willmott](https://community.glideapps.com/u/Gary_Willmott)\
**Post date:** [September 6, 2022, 1:25pm UTC](https://community.glideapps.com/t/looking-to-build-a-market-place-image-gallery/48689/1 "2022-09-06T13:25:03Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [September 6, 2022, 2:15pm UTC](https://community.glideapps.com/t/looking-to-build-a-market-place-image-gallery/48689/2 "2022-09-06T14:15:40Z")

</div>

There is no native Glide feature to do this, but you could use [Cloudinary](https://cloudinary.com/) to dynamically add watermarks to images.

> **[Apply Overlay and Underlay Transformations | Cloudinary](https://cloudinary.com/documentation/layers#watermarking)**
>
> Place image, text, or other layers on (or under) existing assets to generate new and customized creations on the fly.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [September 7, 2022, 12:37am UTC](https://community.glideapps.com/t/looking-to-build-a-market-place-image-gallery/48689/3 "2022-09-07T00:37:42Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Gary\_Willmott](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/gary_willmott/32/837_2.png) [@Gary\_Willmott](https://community.glideapps.com/u/Gary_Willmott)\
**Post date:** [September 7, 2022, 3:40am UTC](https://community.glideapps.com/t/looking-to-build-a-market-place-image-gallery/48689/4 "2022-09-07T03:40:43Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Gary\_Willmott](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/gary_willmott/32/837_2.png) [@Gary\_Willmott](https://community.glideapps.com/u/Gary_Willmott)\
**Post date:** [September 15, 2022, 12:24pm UTC](https://community.glideapps.com/t/looking-to-build-a-market-place-image-gallery/48689/5 "2022-09-15T12:24:24Z")

</div>

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

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:

- Setup Cloudinary with a Watermark template:  

- Setup Zap  

Then in Glide I tried bother options

Tiggering a Zap

 ![Screenshot 2022-09-15 at 14.01.47](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/2/4/2434ab6606e959e382735d949ff07cbdf2db27f8.jpeg)

And Webhook

 ![Screenshot 2022-09-15 at 14.05.22](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/3/6/360060306b3236e8a6ab87d2556abdbf3c5428dd.jpeg)

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

 ![Screenshot 2022-09-15 at 14.08.37](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/4/8/48157897171965ce67bcb1f187eeb7bef707ec11.png)

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](https://community.glideapps.com/t/use-of-cloudinary/8724/17) and this [article](https://community.glideapps.com/t/cloudinary-image-filters-and-overlays-in-glide/4917) but it also references Google Sheets.  
 ![Screenshot 2022-09-15 at 14.19.27](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/2/e/2e54c4c7a3cf501721dd255a9893d193dd99c2b1.png)

Any help or direction would be appreciated

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [September 15, 2022, 12:33pm UTC](https://community.glideapps.com/t/looking-to-build-a-market-place-image-gallery/48689/6 "2022-09-15T12:33:42Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Hassan\_Nadeem](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/hassan_nadeem/32/72956_2.png) [@Hassan\_Nadeem](https://community.glideapps.com/u/Hassan_Nadeem)\
**Post date:** [September 15, 2022, 12:58pm UTC](https://community.glideapps.com/t/looking-to-build-a-market-place-image-gallery/48689/7 "2022-09-15T12:58:18Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [September 15, 2022, 2:24pm UTC](https://community.glideapps.com/t/looking-to-build-a-market-place-image-gallery/48689/8 "2022-09-15T14:24:04Z")

</div>

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

> [@ThinhDinh](#):
>
> 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.

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.

---

<div class="post-metadata">

**Author:** ![Gary\_Willmott](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/gary_willmott/32/837_2.png) [@Gary\_Willmott](https://community.glideapps.com/u/Gary_Willmott)\
**Post date:** [September 15, 2022, 3:20pm UTC](https://community.glideapps.com/t/looking-to-build-a-market-place-image-gallery/48689/9 "2022-09-15T15:20:26Z")

</div>

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?

 ![Screenshot 2022-09-15 at 14.19.27](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/b/2/b2aebe9e303894dcfc2094318630e63bf69601bb.png)

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [September 15, 2022, 3:26pm UTC](https://community.glideapps.com/t/looking-to-build-a-market-place-image-gallery/48689/10 "2022-09-15T15:26:30Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![Gary\_Willmott](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/gary_willmott/32/837_2.png) [@Gary\_Willmott](https://community.glideapps.com/u/Gary_Willmott)\
**Post date:** [September 15, 2022, 3:27pm UTC](https://community.glideapps.com/t/looking-to-build-a-market-place-image-gallery/48689/11 "2022-09-15T15:27:39Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Gary\_Willmott](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/gary_willmott/32/837_2.png) [@Gary\_Willmott](https://community.glideapps.com/u/Gary_Willmott)\
**Post date:** [September 15, 2022, 3:31pm UTC](https://community.glideapps.com/t/looking-to-build-a-market-place-image-gallery/48689/12 "2022-09-15T15:31:54Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [September 16, 2022, 12:13am UTC](https://community.glideapps.com/t/looking-to-build-a-market-place-image-gallery/48689/13 "2022-09-16T00:13:22Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Gary\_Willmott](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/gary_willmott/32/837_2.png) [@Gary\_Willmott](https://community.glideapps.com/u/Gary_Willmott)\
**Post date:** [September 16, 2022, 4:02am UTC](https://community.glideapps.com/t/looking-to-build-a-market-place-image-gallery/48689/14 "2022-09-16T04:02:32Z")

</div>

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

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

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [September 16, 2022, 5:11am UTC](https://community.glideapps.com/t/looking-to-build-a-market-place-image-gallery/48689/15 "2022-09-16T05:11:05Z")

</div>

Nice one 👍
