Docs

Search the spoken content of a playing video

Searches the spoken content of the video a playback session is playing and returns the moments where the term appears, each with a timestamp and a short context snippet. Matching is case- and accent-insensitive. Results are scoped to the video that session is playing. Pass the playback session identifier established when playback begins: both the embedded player and SDK consumers call this the same way. Queries shorter than 2 characters are rejected. This endpoint is rate limited: clients that exceed the limit receive 429 with a Retry-After header. Use a debounce on the client to avoid sending a request per keystroke.

GET
/v1/sessions/{sessionId}/search

Path Parameters

sessionId*string

Playback session identifier.

Formatuuid

Query Parameters

q*string

Search term. 2–128 characters (after trimming/normalization).

Length2 <= length <= 128
limit?integer

Maximum number of moments to return per page.

Default50
Range1 <= value <= 100
cursor?|

Pagination cursor from a previous response nextCursor.

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://api.moviie.ai/v1/sessions/497f6eca-6276-4993-bfeb-53cbbbba6f08/search?q=gravidade"
{
  "query": "gravidade",
  "language": "pt",
  "total": 7,
  "matches": [
    {
      "segmentIndex": 42,
      "startSeconds": 128.4,
      "endSeconds": 131.9,
      "text": "…a força da gravidade puxa os corpos…"
    }
  ],
  "nextCursor": 0
}
{
  "error": "Resource not found",
  "code": "NOT_FOUND"
}
{
  "error": "Resource not found",
  "code": "NOT_FOUND"
}
{
  "error": "Resource not found",
  "code": "NOT_FOUND"
}