Skip to main content
POST

Authorizations

Authorization
string
header
required

Your API key as a Bearer token, e.g. Authorization: Bearer vbsk_live_...

Headers

Idempotency-Key
string

Suppresses a DUPLICATE BILLING ROW for a retry of this exact request. It does not return the earlier response and does not stop the match re-running. Use a new key per distinct request. A key pinned across different requests silently suppresses billing for all of them.

Query Parameters

expand
enum<string>

Set to full for the full track object plus the lane's candidate pool.

Available options:
full

Body

application/json

Provide either video_id or video_url.

video_id
string

An already-ingested video.

Maximum string length: 128
video_url
string

A public https video URL. Ingested first, so the response is a 202 pointing at the video, with no job_id. Share links that redirect (Google Drive, Dropbox, S3, most CDNs) work, and we follow the redirect to the file.

Maximum string length: 2048
top_k
integer
default:20

MAXIMUM number of matches to return. The lane is planned as a shortlist of up to 10, so a larger value returns everything there is rather than more.

Required range: 1 <= x <= 100
use_video_bpm
boolean
default:true

Weight matches toward the video's detected tempo.

creative_direction
string

A plain-language brief, e.g. "warm, cinematic, no vocals".

Maximum string length: 500
era
string
mood
string
vocals
string
include_sync
boolean
default:false

Attach sync_status and sync_points to every match. CACHE-ONLY: it never builds a profile, so an un-indexed track comes back warming with an empty sync_points array. On a freshly ingested video that is most of the shortlist. Cue starts a background index for those tracks, so a later call usually returns them warm. Use /v1/align when you need the index built now.

sync_points_per_track
integer
default:4

How many sync points to return per track when they are warm.

Required range: 1 <= x <= 12

Response

A ranked shortlist of matches.

video_id
string
lane
object