# Gallery

> The community's image space, with uploads of up to 50 images at once, a title, description, tags, views and reactions. Who uploads, who moderates and the file limits.

The **Gallery** brings images together: event photos, members' work, behind the scenes, a class portfolio. Each image has a title, description, tags, views and reactions.

## What it's for

| Community | Gallery |
|---|---|
| Coworking | Photos from the house's events |
| Design school | Students' work, for feedback |
| Company HR | The end-of-year party album |
| Event | The official photos, after the event |

## How it works

### Uploading

Up to **50 images** at once, up to **50 MB** each. Each one can have a **Title**, **Description** and **Tags**, all optional: the title starts empty (it is no longer prefilled with the file name) and, without a title, the photo shows on its own. You can **drag and drop** photos onto the upload dialog or anywhere on the gallery page, which opens the dialog with them.

The upload tracks each photo: **Waiting**, **Optimizing**, **Uploading 42%**, **Processing** and, at the end, **Ready** or **Failed**, with **Retry** on that photo alone. The main button shows the total: **Uploading 12 of 30 · 40%**, then **Processing**, and finally **Done** or **3 failed · try again** (one click resends only the failed ones).

Before uploading, each photo is reduced in the browser to at most **3840 px** on the longest side, with no visible loss: a 50 MB camera photo becomes a few MB and the upload is much faster.

The upload list shows a light thumbnail of each photo, without opening the original file on the page, so picking dozens of large photos doesn't weigh the browser down.

You can **Minimize** the dialog and keep browsing: the upload continues in a floating pill in the corner of the screen, nothing is cancelled. Closing the tab mid-upload shows a browser warning. In the gallery, the photo shows as **Processing** until it's ready.

New images are stored in a **private area**, with a thumbnail, and the page shows them through a link that works for **1 hour**, requested on each visit. Only those who see the space (and the image, if it's waiting for approval) get the link; in a public space, that includes visitors who aren't logged in. Images uploaded before stay as they are.

You can also **replace the file** of an image: the title, description and tags stay, and the old file is deleted. Through the assistant, `add_gallery_image` takes the image by link (up to 50 MB) or file (up to 5 MB), `update_gallery_image` replaces the file and `list_gallery_images` hands over each photo's links (with the time they expire), which lets the assistant look at the photos and find duplicates. `add_gallery_images` uploads up to 20 at once, with a result for each. See [Tools · Content and engagement](/mcp/ferramentas-conteudo#update-gallery-image).

### Browsing

Filter by **All Images** or **My Images** and sort by **Most Recent**, **Most Liked** or **Most Viewed**. The next images load on their own as you scroll.

While a photo loads, its spot pulses in the community's color, without the broken-image icon, and the photo fades in when it arrives. When you open a photo, the bands around it are filled with the photo itself, blurred and darkened, instead of black bars (the same goes for the photos of an ad in [Classifieds](/espacos/classificados)).

### Who can do what

| Action | Who |
|---|---|
| Upload | Members and above, according to the space's **Who can post** |
| Edit and delete your own | Whoever uploaded them |
| Edit and delete other people's | Moderator, finance, admin and owner |
| React | Whoever sees the space |

**Display.** The owner and the admin choose how items appear in this space: **Grid** or **Feed** (default: **Grid**). See [Display](/conceitos/espacos#display).

## Step by step

### Upload images

*Role: whoever the space lets post.*

1. In the space, **Upload Image**.
2. **Click to select images** (up to 50; *"JPG, PNG, WebP or GIF, up to 50 MB each"*), or drag and drop the images onto the dialog (or straight onto the gallery page).
3. If you like, fill in **Title** (optional), **Description** and **Tags**.
4. **Upload N images**. Each photo shows its progress and the button becomes the batch's progress; **Minimize** keeps the upload going in the background, **Cancel uploads** stops what's left, **Retry** resends one photo and **Remove image** takes one off the list before uploading.

### Edit or delete

On the image card, **Edit** (**Edit Image**) or **Delete** (*"Are you sure you want to delete this image? This action cannot be undone."*).

## Examples

**The event's official album.** A **Photos 2027** space (Members, **Staff**): only the staff uploads; everyone reacts.

**The class portfolio.** A **Projects** space (Private, the class group, **Anyone**): each student uploads their own.

## Good practices

- **One Gallery space per subject** (one per event, one per class) makes photos easy to find.
- **Use tags** for who appears or for the topic: filtering by tag helps later.
- **Titles that tell the story**: "Conference opening, room 1" says more than "IMG_0231".
- **Ask permission** before publishing photos of people, especially in public spaces.
- **No need to resize photos first**: the browser brings them down to 3840 px on the longest side before uploading.

## Common errors and how to fix them

| Message | What to do |
|---|---|
| *Maximum 50 images allowed per upload* | Upload in more than one batch |
| *File exceeds 50 MB limit* | Make the image smaller |
| A photo shows **Failed** | **Retry** on the photo, or **N failed · try again** on the button |
| A member doesn't see **Upload Image** | The space is set to **Staff** or **Admins** |

## Frequently asked questions

**Does the gallery accept video?**
It's for images. Videos go in Content spaces.

**Can people download the images?**
The image is shown large on its page; downloading is up to the browser.

## In the API

`POST /api/upload/gallery/images` (multipart), `GET /api/gallery/images`, `PUT /api/gallery/images/{imageId}`, `DELETE /api/gallery/images/{imageId}`, `POST` and `DELETE /api/gallery/images/{imageId}/react`. See [Gallery](/api/referencia/gallery).

## Related

- [Spaces](/conceitos/espacos)
- [Moderation](/membros/moderacao)
