Skip to main content
Version: v1.2

Search from private videos

Using a natural language query, this API searches through all processed videos and ranks the video clips within milliseconds. Memories.ai retrieves and ranks videos based on visual information in a way similar to human perception. With this API, developers can access the most relevant videos from their entire library.

Searching from BY_AUDIO, BY_VIDEO and BY_CLIP are supported and the most relevant clips will be retrieved from the video.

uploadupload

Prerequisites

  • You have created a memories.ai API key.
  • At least one video has been uploaded to memories.ai and is currently in PARSE status.

Host URL

  • https://api.memories.ai

Endpoint

POST /serve/api/v1/search


Request Example

import requests

headers = {"Authorization": "<API_KEY>"} # API key
json_body = {
"search_param": "<YOUR_PROMPT>", # The search query
"unique_id": '<UNIQUE_ID>',
"search_type": "BY_VIDEO" # 'BY_AUDIO' or 'BY_VIDEO' or 'BY_CLIP'
}

response = requests.post(
"https://api.memories.ai/serve/api/v1/search",
headers=headers,
json=json_body
)

print(response.json())

Replace API_KEY in the code above with your actual API key and YOUR_PROMPT with your search query. You can search for relevant videos you've uploaded using natural language.

Request Body

{
"search_param": "Find sprint race with Usain Bolt",
"unique_id": "1",
"search_type": "BY_VIDEO"
}

Request Parameters

NameLocationTypeRequiredDescription
AuthorizationheaderstringYesAPI key used for authorization
search_parambodystringYesNatural language search query
unique_idbodystringNodefault by default
search_typebodystringYesBY_AUDIO search by audio; BY_VIDEO search by video and return video numbers; BY_CLIP search by video and return exact clips

Response Example

Status code 200

{
"code": "SUCCESS",
"msg": "Search completed successfully",
"data": [
{
"videoNo": "mavi_video_001",
"videoName": "olympic_sprint.mp4",
"videoStatus": "PARSE",
"uploadTime": "1740995860114"
}
]
}

Response Result

Status codeStatus code msgDescriptionData
200OKRequest was successfulInline

Response Structure

Status code 200

NameTypeRequiredRestrictionDescription
codestringtruenoneresponse code
msgstringtruenonemessage with response code
dataobjecttruenoneJSON data
» videoNostringtruenonevideo number
» videoNamestringfalsenonevideo name
» videoStatusstringfalsenonevideo status
» uploadTimestringfalsenoneupload timestamp(ms)