> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fetchski-attract.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Photo feeds

> Pull a fresh set of photos from your own photo storage on a schedule, and show them in a gallery that changes by itself.

Keep a gallery fresh with new photos every day, without anyone touching it. A photo feed pulls a new set from your own photo storage into your media library, on a schedule you set. Then you point a Gallery section at it.

&#x20;**Who can do this:** Contributors, Editors, Admins and Owners can build and change feeds. Editors, Admins and Owners can also use **Refresh now**.

> [!NOTE]
>
> Feeds have no draft. When you choose **Save**, the change takes effect right away, with no publish step.

## Before you start

* An Admin or Owner connects your photo storage once, in **Connections** → **Photo storage**. See [Photo storage](https://docs.fetchski-attract.com/guides/connections/photo-storage.md).
* Know where your photos sit in that storage: the folder they're under, and whether they're sorted into year, month and day folders, such as 2026/May/31.
* A photo feed suits a big, growing photo collection, such as hundreds of new photos a week. To hand-pick a few photos, use a [photo album](https://docs.fetchski-attract.com/guides/content/photo-albums.md) instead.

## Build a feed

**1. Open the list**

Press ⌘K (Ctrl+K on Windows) and choose **Photo Feeds** under **Manage**. You can also press G, then E.

**2. Start a new feed**

Choose **New Photo Feed**. The editor opens on the **Source** tab.

**3. Say where the photos are**

On the **Source** tab:

* **Title**: the feed's name, such as "Today at Parker's". A Gallery section lists feeds by this name.
* **Photo source connection**: the photo storage to draw from.
* **Path prefix**: the folder the dated folders sit under. Leave it empty if they're at the top level. For example, if your photos sit at "daycare/2026/May/31/", type "daycare" here and choose **Year / Month / Day** below. The feed then looks in daycare/2026/May/31/, daycare/2026/May/30/ and so on.
* **Folder layout**: how deep the dated folders go: **Year / Month / Day**, **Year / Month**, **Year**, or **No date folders — one flat path**. Folder names like "May", "05" and "5" all work.

![The feed editor on the Source tab: Title "Today at Parker's", Photo source connection "Daily photo uploads", Path prefix "daycare", Folder layout Year / Month / Day.](https://mintcdn.com/fetchski-attract-api/MsE85fjBwOCKqNGh/images/cms/guides/content/photo-feeds/guides-content-photo-feeds-source-light.png?fit=max\&auto=format\&n=MsE85fjBwOCKqNGh\&q=85\&s=f4cd52154cc31cdff2689ad3e21778d3)

Tell the feed where your photos are kept.

**4. Choose which photos**

On the **Selection** tab:

* **Draw photos from**: the dates to choose from. The dates are your folder names, not when a photo was taken or uploaded. Choose **The most recent days**, **This year**, **The last few years**, **A specific date range** or **Everything in the bucket**.
* Recent days means the last 5, counting today; change it in **How many recent days**. For a date range, set **From** and **To**.
* For example, **The most recent days** with 5 days on May 31 looks in the folders for May 27 to May 31.
* **Everything in the bucket** means every dated folder in your photo storage. A bucket is the storage space your photos sit in.
* With **No date folders — one flat path**, there are no dates to choose from: the feed draws from every photo in the **Path prefix** folder.
* **How to spread the selection**: **A total number, spread across the window** takes **Photos per refresh** (30 to start) from as many different days as it can. **A number from every day** takes **Photos from each day** (10 to start) from each day.
* **Avoid recently shown photos**: on by default. Each refresh prefers photos that haven't been shown lately, so a big collection keeps producing new sets.

![The Selection tab: Draw photos from The most recent days, How many recent days 5, How to spread the selection A number from every day, Photos from each day 10.](https://mintcdn.com/fetchski-attract-api/MsE85fjBwOCKqNGh/images/cms/guides/content/photo-feeds/guides-content-photo-feeds-selection-light.png?fit=max\&auto=format\&n=MsE85fjBwOCKqNGh\&q=85\&s=5a905a9a0e18ffb6447fb87f02f105fb)

10 photos from each of the last 5 days makes a 50-photo set.

**5. Set the photo size and shape**

The **Photos** tab starts with good settings, so most feeds can skip it.

* **Convert to**: **WebP (smallest — recommended)** or **JPEG (widest compatibility)**. Converting also strips location and camera details from the photos your site shows.
* **Longest edge (pixels)**: bigger photos are scaled down to this. 2000 is plenty for a full-screen view.
* **Shape**: keep **Original proportions** for the Mosaic and Masonry layouts. Or crop every photo to one shape, such as **Square (1:1)**, for an even grid.
* **Alt text for every photo**: a short description of what the photos generally show, such as "Dogs playing at Parker's Puppy Playland". Screen readers read it, and the full-size photo viewer (the lightbox) shows it as the caption.
* The same text goes on every photo the feed brings in, so keep it general.
* Each refresh brings in a new set, so a description you write on one feed photo doesn't carry over to the next set. For photos that each need their own, use a [photo album](https://docs.fetchski-attract.com/guides/content/photo-albums.md).

**6. Turn on the schedule**

On the **Schedule** tab, turn on **Refresh automatically** and choose **Refresh how often**. **Every 6 hours (recommended)** suits most feeds.

**7. Save it**

Choose **Save**.

**8. Fill it now**

Editors, Admins and Owners: open the **Status** tab and choose **Refresh now**. A big set can take a minute or more. See "Refresh a feed by hand" below. Contributors can't use **Refresh now**: the feed fills at its next scheduled refresh, or ask an Editor or Admin to refresh it for you.

## Show it on a page

In a **Gallery Preview** or **Gallery (Full)** section, open the **Gallery** tab. Set **Photo source** to **Photo Feed (refreshes itself from an external source)**, then choose your feed under **Photo Feed**. See [Gallery](https://docs.fetchski-attract.com/guides/sections/gallery.md).

> [!TIP]
>
> Make the feed bigger than the gallery. Say the feed holds 200 photos and the section's **Maximum photos** is 24. Turn on **Rotate photos automatically** on the section's **Motion** tab, and the extra photos keep swapping in while visitors watch.

## Refresh a feed by hand

You can fetch a fresh set at any time, whether or not **Refresh automatically** is on.

* **One feed:** open it, go to the **Status** tab, and choose **Refresh now**. The button reads **Refreshing…** while it works. You can keep working or close the editor, and the refresh carries on.
* **Several feeds:** in the **Photo Feeds** list, select them and choose **Refresh now** in the bar above the list.

![The Status tab: the Refresh now button, Last refreshed showing the date and time of the last refresh and how long ago it was, Last result ok, Photos showing 90, and an empty Last message.](https://mintcdn.com/fetchski-attract-api/MsE85fjBwOCKqNGh/images/cms/guides/content/photo-feeds/guides-content-photo-feeds-status-light.png?fit=max\&auto=format\&n=MsE85fjBwOCKqNGh\&q=85\&s=be7ca728fec930c17f4cb998f123744e)

The Status tab shows how the last refresh went.

A refresh always uses the feed's **saved** settings. If you've just changed something, choose **Save** first.

The **Status** tab tells you how the last refresh went:

* **Last refreshed**: when it ran.
* **Last result**: ok, partial or error.
* **Photos showing**: how many photos your gallery has from this feed now.
* **Last message**: why the last refresh had problems, in plain words.

> [!WARNING]
>
> A partial refresh can show fewer photos than you asked for. It happens when some photos couldn't be fetched, or when the search through your storage stopped early. For the second, set a narrower **Path prefix** or the right **Folder layout**.

## Good to know

* **A failed refresh never empties your gallery.** The feed keeps showing its previous photos until a refresh works.
* **Old sets clean themselves up.** After each refresh, the previous photos are deleted once **Keep the previous photos for (minutes)** has passed. It starts at 30, so feeds don't fill up your storage.
* **Photos you use are kept.** Feed photos are ordinary media library images, in the feed's own folder under **Photo Feeds**. If you put one on a page, in a post or in an album, it leaves the feed for good. It moves to that album's folder, or to a folder named after the page or post under **Pages & Posts**.
* **Deleting a feed deletes its photos**, except the ones you've used elsewhere.
* **Your storage stays untouched.** A feed only reads from your photo storage. It never changes or deletes your originals there.

## Troubleshooting

> [accordion] I don't see Refresh now
>
> Editors, Admins and Owners can use **Refresh now**. If you need it, ask an Admin to give you **Refresh photo feeds** in **People & Roles**. See [People & Roles](https://docs.fetchski-attract.com/guides/people/people-and-roles.md).
>
> On a feed you haven't saved yet, the **Status** tab says "Save this feed once and its photos can be fetched from here." Choose **Save** first.

> [accordion] Refreshed with problems — N photos showing. See "Last message" below.
>
> Some photos couldn't be fetched, or the search stopped early. Read **Last message** for the reason. If it mentions the search, narrow the **Path prefix** or fix the **Folder layout**, save, and refresh again.

> [accordion] The refresh did not complete. The feed is still showing its previous photos.
>
> The refresh failed, and your gallery is unchanged. Read **Last message** on the **Status** tab. Most often, the photo storage connection needs attention: ask an Admin or Owner to check it in **Connections** → **Photo storage**.

> [accordion] A refresh is already running for this feed.
>
> Another refresh of this feed is in progress, by the schedule or someone else. Wait for it to finish. The **Status** tab then shows its result.

> [accordion] The feed has no photos
>
> * Check **Photo source connection** isn't **Not set**.
> * Check **Path prefix** and **Folder layout** match how your photos are stored.
> * Widen **Draw photos from**. A window of recent days finds nothing if no photos were added in those days.

## Related

> [card] [Photo storage](https://docs.fetchski-attract.com/guides/connections/photo-storage.md)
>
> connect the storage your feeds read from.

> [card] [Gallery](https://docs.fetchski-attract.com/guides/sections/gallery.md)
>
> show a feed on a page, with motion that keeps it changing.

> [card] [Photo albums](https://docs.fetchski-attract.com/guides/content/photo-albums.md)
>
> hand-pick and order photos instead.

> [card] [Media library](https://docs.fetchski-attract.com/guides/media/media-library.md)
>
> find feed photos in the Photo Feeds folder.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.