From ef6b0c5617f13236d71d0880002caa969c4de2f2 Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Mon, 23 Mar 2026 13:58:21 -0600 Subject: [PATCH] Add endpoint for easily pulling review clip --- frigate/api/media.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/frigate/api/media.py b/frigate/api/media.py index 28585bdd5..2e1897b87 100644 --- a/frigate/api/media.py +++ b/frigate/api/media.py @@ -1227,6 +1227,33 @@ async def event_clip( ) +@router.get( + "/review/{review_id}/clip.mp4", +) +async def review_clip( + request: Request, + review_id: str, + padding: int = Query(0, description="Padding to apply to clip."), +): + try: + review: ReviewSegment = ReviewSegment.get(ReviewSegment.id == review_id) + except DoesNotExist: + return JSONResponse( + content={"success": False, "message": "Review not found"}, status_code=404 + ) + + await require_camera_access(review.camera, request=request) + + end_ts = ( + datetime.now().timestamp() + if review.end_time is None + else review.end_time + padding + ) + return await recording_clip( + request, review.camera, review.start_time - padding, end_ts + ) + + @router.get( "/events/{event_id}/preview.gif", )