v1

latestOpenAPI 3.1.02026-08-04118425322.0 KB
search-video > searchVideo

Video Search

Executes a semantic video search using a natural language text query (e.g., 'person walking in park' or 'cityscape at sunset') within a specified dataset (dataset_id). The text query is encoded into an embedding using the dataset's configured encoder (e.g., Perception Encoder or other vision-language embedding models for visual modalities, or Qwen or other text encoders for audio transcript modality), then searched against video content embeddings using vector similarity. The search behavior is controlled by the modality parameter: 'video' (default) searches video-level embeddings for overall video similarity, 'shot' searches shot-level embeddings to find videos with similar scenes, 'image' searches frame-level embeddings to find videos with similar individual frames, and 'audio_speech_to_text' searches transcript text embeddings for spoken content. All modalities return one result per video, surfacing the most relevant composite slice (shot or scene) and a preview frame. Results can be filtered using optional metadata filters and include the composite slice with start/end timestamps, frame numbers, relevance scores, and video metadata.

post/api/v1/search/video

Headers

Authorizationstring required

Bearer authentication

Request body

dataset_idstring uuid required

The unique identifier for the dataset

text_querystring required

The natural language search string

offsetinteger

Starting index to return (default 0)

limitinteger

Max number of items to return(default 60, max 1000)

modality'video' | 'shot' | 'image' | 'audio_speech_to_text' | 'capped-shot-segment'
skip_moderationboolean

Skip content moderation if enabled

moderation_score_type'probability' | 'level'

Score type returned by the moderation service.

  • PROBABILITY: Scores in range 0-1 (uses BGE Reranker model)
  • LEVEL: Scores in range 0-5 (uses OpenAI model)
ignore_keyframesboolean

Whether to ignore keyframes

Response

Successful Response