Search by Text
Semantic search across your Private Video Library with a natural-language query.
https://api.memories.ai/serve/api/v1
Auth: Authorization: sk-mavi-... (no Bearer prefix)Prerequisites
- You have created a memories.ai API key.
- At least one video has been uploaded and is in
PARSEstatus.
Request Example
Parameters
BY_CLIP— video clip segments (default).BY_VIDEOis an accepted alias.BY_AUDIO— audio moments (semantic match against transcripts).BY_CAPTION— caption-level vector search against thevideo_transcripttable; the response shape is different (see BY_CAPTION response below).
[BY_CLIP, BY_VIDEO, BY_AUDIO, BY_IMAGE, BY_CAPTION]. BY_IMAGE is exposed via Search by Image (within a video).-1 is the Default folder. Must be a folder that belongs to your account.- For
BY_CLIP/BY_AUDIO: range 1 – 1000. - For
BY_CAPTION: range 1 – 200 (server-side default is 10 whentop_kisnull; otherwise the value you send is used).
low— score ≥ 0.15medium— score ≥ 0.225high— score ≥ 0.4
camera_model set at upload time).yyyy-MM-dd HH:mm:ss.longitude.latitude.Response
BY_AUDIO searches when transcription is available.video_bucket at GET /serve/api/v2/download?bucket=&blob= to fetch the file directly.BY_CLIP only).BY_CAPTION Response
Whensearch_type=BY_CAPTION, the endpoint performs a vector similarity search over the video_transcript table and returns a different item shape:
1 - distance). Higher is more similar.Notes & Limits
- Rate limiting: Exceeding the per-account rate limit returns an error. See Rate limits.
- Billing: Each successful call deducts credits from your account balance.
Authorizations
Body
Natural-language search query. Must be non-empty.
"boat in the ocean"
Search modality. BY_VIDEO is treated as BY_CLIP internally. BY_CAPTION performs vector search over the video_transcript table and returns a different item shape (see response).
BY_VIDEO, BY_CLIP, BY_AUDIO, BY_IMAGE, BY_CAPTION "BY_CLIP"
Maximum number of results to return. Range 1-1000 for BY_CLIP/BY_AUDIO/BY_IMAGE. For BY_CAPTION the range is 1-200 (server-side default is 10 when null).
1 <= x <= 1000Similarity-score filter. low=0.15, medium=0.225, high=0.4.
low, medium, high "medium"
Optional list of video numbers to restrict the search to. Max 100.
100Optional tag filter.
"test1"
Optional camera/device model filter. Matches the camera_model supplied at upload time.
"Canon EOS 5D"
Optional capture-time filter in format yyyy-MM-dd HH:mm:ss.
"2025-10-20 11:00:00"
Optional latitude filter. Must be supplied together with longitude.
88.88
Optional longitude filter. Must be supplied together with latitude.
88.88
Optional. Restrict results to a single folder. Omit to query across your entire account. -1 is the Default folder; a positive id must belong to your account.
671631448308117500
Response
Successful response
Response shape depends on search_type. For BY_CLIP / BY_VIDEO / BY_AUDIO data is an array of video-search items (carries video_bucket/video_blob and, for BY_CLIP, keyframe_bucket/keyframe_blob); for BY_IMAGE data is a paginated image-search object (items carry bucket/blob); for BY_CAPTION data is an array of caption-search items carrying the embedding vector, text, user_id, and time range.
