Bold VideoDocs

AI Search

Search with AI synthesis

POST
/api/v1/ai/search

Authorization

api_token
AuthorizationBearer <token>

API token provided by BOLD Admin

In: header

Request Body

application/json

Search request

collection_id?string|null

Filter to a specific collection (legacy single-value filter)

collection_ids?|null

Filter to multiple collections (OR semantics)

images?|null

Optional array of images (max 5). Requires the Vision feature flag. Each image can be base64-encoded or a URL.

Itemsitems <= 5
limit?integer

Maximum sources to return (default: 15)

prompt*string

Search query

stream?boolean

Stream response via SSE (default: true)

Defaulttrue
tags?|null

Filter by video tags

video_id?string|null

Filter to a specific video

Response Body

application/json

application/json

application/json

curl -X POST "https://app.boldvideo.io/api/v1/ai/search" \  -H "Content-Type: application/json" \  -d '{    "limit": 10,    "prompt": "authentication setup"  }'
{
  "content": "string",
  "query": "string",
  "sources": [
    {
      "canonical_url": "string",
      "cited": true,
      "document_type": "string",
      "id": "string",
      "kind": "chunk",
      "matched_sentence": {
        "end_ms": 0,
        "speaker_label": "string",
        "speaker_name": "string",
        "start_ms": 0,
        "text": "string",
        "timestamp": 0,
        "timestamp_end": 0,
        "timestamp_end_seconds": 0,
        "timestamp_seconds": 0
      },
      "moment_id": "string",
      "mux_playback_id": "string",
      "playback_id": "string",
      "published_at": 0,
      "slug": "string",
      "speaker": "string",
      "speaker_label": "string",
      "speaker_name": "string",
      "summary": "string",
      "text": "string",
      "timestamp": 0,
      "timestamp_end": 0,
      "timestamp_end_seconds": 0,
      "timestamp_seconds": 0,
      "timestamp_url": "string",
      "title": "string",
      "transcript_excerpt": "string",
      "type": "insight",
      "video_id": "string",
      "video_title": "string"
    }
  ]
}
{
  "code": "not_found",
  "message": "Video not found",
  "retryable": false,
  "type": "error"
}
{
  "code": "not_found",
  "message": "Video not found",
  "retryable": false,
  "type": "error"
}