frigate/docs/docs/configuration/snapshots.md
leccelecce ec7040bed5
Some checks are pending
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
Enable event snapshot API to honour query params after event ends (#22375)
* Enable event snapshot API to honour query params

* fix unused imports

* Fixes

* Run ruff check --fix

* Web changes

* Further config and web fixes

* Further docs tweak

* Fix missing quality default in MediaEventsSnapshotQueryParams

* Manual events: don't save annotated jpeg; store frame time

* Remove unnecessary grayscale helper

* Add caveat to docs on snapshot_frame_time pre-0.18

* JPG snapshot should not be treated as clean

* Ensure tracked details uses uncropped, bbox'd snapshot

* Ensure all UI pages / menu actions use uncropped, bbox'd

* web lint

* Add missed config helper text

* Expect  SnapshotsConfig not Any

* docs: Remove pre-0.18 note

* Specify timestamp=0 in the UI

* Move tests out of http media

* Correct missed settings.json wording

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>

* Revert to default None for quality

* Correct camera snapshot config wording

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>

* Fix quality=0 handling

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>

* Fix quality=0 handling #2

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>

* ReRun generate_config_translations

---------

Co-authored-by: leccelecce <example@example.com>
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2026-03-22 13:33:04 -06:00

2.3 KiB

id title
snapshots Snapshots

Frigate can save a snapshot image to /media/frigate/clips for each object that is detected named as <camera>-<id>-clean.webp. They are also accessible via the api

Snapshots are accessible in the UI in the Explore pane. This 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 in the config file under cameras -> your_camera -> mqtt

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 cameras -> your_camera -> mqtt.

Rendering

Frigate stores a single clean snapshot on disk:

API / Use Result
Stored file <camera>-<id>-clean.webp, always unannotated
/api/events/<id>/snapshot.jpg Starts from the camera's snapshots defaults, then applies any query param overrides at request time
/api/events/<id>/snapshot-clean.webp Returns the same stored snapshot without annotations
Frigate+ submission Uses the same stored clean snapshot

MQTT snapshots are configured separately under cameras -> your_camera -> mqtt and are unrelated to the stored event snapshot.