Skip to main content

Overview

All search and photo endpoints share the unified envelope { responseType, message, data } documented in Conventions. The endpoint-specific payload always lives inside data — for list/search endpoints this is usually images[] plus pagination; for face search and video clipping it also includes request_id and the relevant search processing state.

Shared Photo Data Shape

BIB search and face search responses carry the shared data payload (images[] + pagination). All Photos uses the same pagination shape, but each image is metadata-enriched as ImageItemWithMeta. Face search additionally includes request_id and confidence_percentage inside data.

AllPhotosResponse

Returned by All Photos.

ImageDetailsResponse

Returned by Image Details.

BibSearchResponse

Returned by BIB Search.

FaceSearchResponse

Returned by Face Search (both POST and GET). The request_id and confidence_percentage are nested inside data so the envelope stays uniform across all endpoints.

TimelineDaysResponse

Returned by GET /timeline/days (see Photo Timeline). Days are ordered ascending by date and hours[] is ordered ascending by hour.

TimelineDayItem

Each entry inside data.days[] for GET /timeline/days.

TimelineHourBucket

Each entry inside data.days[].hours[] for GET /timeline/days.

TimelineImagesResponse

Returned by GET /timeline/images (see Photo Timeline). Reuses the shared photo data shape (images[] + pagination) ordered by ascending capture timestamp.

VideoClippingStartResponse

Returned by POST /video-clipping/search-by-selfie (see Video Clipping Search). The status is usually processing while one or more clips are being prepared. It can be terminal immediately when there are no matching video frames. Use the GET endpoint to read the latest stored state.

VideoClippingResultResponse

Returned by GET /video-clipping/{request_id} (see Video Clipping Search).

VideoClipItem

Each entry inside data.videos[] returned by GET /video-clipping/{request_id} when status is completed.

VideoClipErrorItem

Each entry inside data.clip_errors[] when the clipping service rejected one or more segments.

Used By