curl --request POST \
--url https://cue.vibeset.ai/v1/underscore \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data @- <<EOF
{
"script": "You've been folding your shirts wrong your whole life. Here's the fold in three moves. Follow for the ones they don't teach you."
}
EOF{
"lane": {
"title": "Your shortlist",
"reasoning": "A clean, modern rhythmic bed that lands the turn without crowding the read.",
"matches": [
{
"track_id": "14792",
"audio_id": "60184",
"soundstripe_song_id": "14792",
"soundstripe_audio_file_id": "60184",
"title": "Skeptical",
"artist_name": "Lincoln Davis",
"score": 0.98,
"bpm": 120,
"instrumental": true,
"duration_seconds": 164.01,
"match_map": [
{
"video": "punchy hook",
"audio": "driving 120 BPM",
"score": 1
},
{
"video": "confident tone",
"audio": "bright synths",
"score": 1
}
]
}
]
}
}{
"error": {
"type": "invalid_request",
"message": "Provide either 'video_id' or 'video_url'.",
"request_id": "a1b2c3d4e5f6"
}
}{
"error": {
"type": "invalid_request",
"message": "Provide either 'video_id' or 'video_url'.",
"request_id": "a1b2c3d4e5f6"
}
}{
"error": {
"type": "invalid_request",
"message": "Provide either 'video_id' or 'video_url'.",
"request_id": "a1b2c3d4e5f6"
}
}{
"error": {
"type": "invalid_request",
"message": "Provide either 'video_id' or 'video_url'.",
"request_id": "a1b2c3d4e5f6"
}
}{
"error": {
"type": "invalid_request",
"message": "Provide either 'video_id' or 'video_url'.",
"request_id": "a1b2c3d4e5f6"
}
}{
"error": {
"type": "invalid_request",
"message": "Provide either 'video_id' or 'video_url'.",
"request_id": "a1b2c3d4e5f6"
}
}{
"error": {
"type": "invalid_request",
"message": "Provide either 'video_id' or 'video_url'.",
"request_id": "a1b2c3d4e5f6"
}
}Match music to a script
Cue Underscore: match licensed music to a text script (no video). Paste the script and get a ranked shortlist of ten licensed tracks, each with a title, artist, tempo, its catalog ids and a why-it-fits map showing which words pulled which sound. Synchronous: there’s no video ingest or per-minute analysis, so the result returns inline. Billed flat per call, and a call that returns no tracks isn’t billed.
The shortlist size is fixed and is not a request field.
Like every other endpoint, this returns identity and analysis rather than audio. Accounts
granted preview also get a short-lived watermarked link on each track.
curl --request POST \
--url https://cue.vibeset.ai/v1/underscore \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data @- <<EOF
{
"script": "You've been folding your shirts wrong your whole life. Here's the fold in three moves. Follow for the ones they don't teach you."
}
EOF{
"lane": {
"title": "Your shortlist",
"reasoning": "A clean, modern rhythmic bed that lands the turn without crowding the read.",
"matches": [
{
"track_id": "14792",
"audio_id": "60184",
"soundstripe_song_id": "14792",
"soundstripe_audio_file_id": "60184",
"title": "Skeptical",
"artist_name": "Lincoln Davis",
"score": 0.98,
"bpm": 120,
"instrumental": true,
"duration_seconds": 164.01,
"match_map": [
{
"video": "punchy hook",
"audio": "driving 120 BPM",
"score": 1
},
{
"video": "confident tone",
"audio": "bright synths",
"score": 1
}
]
}
]
}
}{
"error": {
"type": "invalid_request",
"message": "Provide either 'video_id' or 'video_url'.",
"request_id": "a1b2c3d4e5f6"
}
}{
"error": {
"type": "invalid_request",
"message": "Provide either 'video_id' or 'video_url'.",
"request_id": "a1b2c3d4e5f6"
}
}{
"error": {
"type": "invalid_request",
"message": "Provide either 'video_id' or 'video_url'.",
"request_id": "a1b2c3d4e5f6"
}
}{
"error": {
"type": "invalid_request",
"message": "Provide either 'video_id' or 'video_url'.",
"request_id": "a1b2c3d4e5f6"
}
}{
"error": {
"type": "invalid_request",
"message": "Provide either 'video_id' or 'video_url'.",
"request_id": "a1b2c3d4e5f6"
}
}{
"error": {
"type": "invalid_request",
"message": "Provide either 'video_id' or 'video_url'.",
"request_id": "a1b2c3d4e5f6"
}
}{
"error": {
"type": "invalid_request",
"message": "Provide either 'video_id' or 'video_url'.",
"request_id": "a1b2c3d4e5f6"
}
}Authorizations
Your API key as a Bearer token, e.g. Authorization: Bearer vbsk_live_...
Headers
Suppresses a DUPLICATE BILLING ROW for a retry of this exact request. It does not return the earlier response and does not stop the call re-running.
Query Parameters
Set to full for the full track object plus the lane's candidate pool.
full Body
The script to score. Kept under the 8KB request limit.
1 - 7000A free-form hint passed into the brief. tiktok, reels, shorts, linkedin and youtube are the vocabulary it is written for. Nothing rejects another value, and an unrecognised one is simply a weaker steer.
40A plain-language brief, e.g. "warm, upbeat, no vocals".
500Response
A ranked shortlist of tracks, each with a why-it-fits map.
Show child attributes
Show child attributes