Skip to main content

Snapshots

A snapshot is a single still image that captures a tracked object at its best moment — the clearest frame Frigate saw while following that object across the scene. Unlike a recording, which is continuous video, a snapshot is one representative image saved per tracked object once tracking ends.

When snapshots are enabled, Frigate saves one image to /media/frigate/clips for each tracked object, named <camera>-<id>-clean.webp. A clean image is always stored without any annotations (no timestamp, bounding boxes, or cropping) so you have an unmodified copy of the original frame. Annotations like bounding boxes and timestamps are applied on demand when a snapshot is requested via the HTTP API — see Rendering below.

A few things to keep in mind:

  • Snapshots are saved per tracked object, so a camera with no detected objects produces no snapshots even if recording is enabled.
  • Snapshots and recordings are configured and retained independently — enabling one does not enable the other.
  • Snapshots are accessible in the UI in the Explore pane, which allows for quick submission to the Frigate+ service.
  • To only save snapshots for objects that enter a specific zone, see the zone docs.
  • Snapshots sent via MQTT are configured separately under the camera MQTT settings, not here.

Enabling Snapshots​

Enable snapshot saving and configure the default settings that apply to all cameras.

Navigate to Settings→Global configuration→Snapshots.

  • Set Enable snapshots to on

To override snapshot settings for a specific camera:

Navigate to Settings→Camera configuration→Snapshots and select your camera.

  • Set Enable snapshots to on

Snapshot Options​

Configure how snapshots are rendered and stored. These settings control the defaults applied when snapshots are requested via the API.

Navigate to Settings→Global configuration→Snapshots.

FieldDescription
Enable snapshotsEnable or disable saving snapshots for tracked objects
Timestamp overlayOverlay a timestamp on snapshots from API
Bounding box overlayDraw bounding boxes for tracked objects on snapshots from API
Crop snapshotCrop snapshots from API to the detected object's bounding box
Snapshot heightHeight in pixels to resize snapshots to; leave empty to preserve original size
Snapshot qualityEncode quality for saved snapshots (0-100)
Required zonesZones an object must enter for a snapshot to be saved

Snapshot Retention​

Configure how long snapshots are retained on disk. Per-object retention overrides allow different retention periods for specific object types.

Navigate to Settings→Global configuration→Snapshots.

FieldDescription
Snapshot retention > Default retentionNumber of days to retain snapshots (default: 10)
Snapshot retention > Object retention > PersonPer-object overrides for retention days (e.g., keep person snapshots for 15 days)

Frame Selection​

Frigate does not save every frame. It picks a single "best" frame for each tracked object based on detection confidence, object size, and the presence of key attributes like faces or license plates. Frames where the object touches the edge of the frame are deprioritized. That best frame is written to disk once tracking ends.

MQTT snapshots are published more frequently — each time a better thumbnail frame is found during tracking, or when the current best image is older than best_image_timeout (default: 60s). These use their own annotation settings configured under the camera MQTT settings.

Rendering​

Frigate stores a single clean snapshot on disk:

API / UseResult
Stored file<camera>-<id>-clean.webp, always unannotated
/api/events/<id>/snapshot.jpgStarts from the camera's snapshots defaults, then applies any query param overrides at request time
/api/events/<id>/snapshot-clean.webpReturns the same stored snapshot without annotations
Frigate+ submissionUses the same stored clean snapshot

MQTT snapshots are configured separately under the camera MQTT settings and are unrelated to the stored event snapshot.