Search Tracks by Description
search_by_descriptionFind catalog tracks from a plain-language description of how they sound — e.g. "melancholic piano, slow", "dark ambient strings", "upbeat acoustic guitar, fast".
Understands instruments and voice (piano, guitar, acoustic guitar, violin, cello, strings,
harp, flute, sax, brass, organ, choir, a cappella, rap, 808/drum machine, orchestral),
mood (sad/melancholic, dark/eerie, angry, ambient, happy/upbeat, chill/relaxed),
character (acoustic, instrumental, with vocals, energetic, soft, danceable), tempo
(slow <= 95 BPM, mid-tempo, fast >= 125 BPM, applied as filters) and any catalog genre.
Sound words are scored from audio analysis of each track, not titles; every word has to
hold. The response's `description.understood` shows how each word was read and
`ignored_words` lists words that were NOT used — rephrase those. Each result has `match`
(0-1) and a per-word `matched` breakdown. Costs 1 quota unit.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"q": "<q>"
},
"name": "search_by_description"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Plain-language description, e.g. 'melancholic piano, slow' or 'chill acoustic guitar'. | |
| key | No | Optional: only these keys — Camelot ('8A'), Open Key ('1m') or names. | |
| max | No | Optional HARD upper bounds, e.g. {'tempo': 128}. | |
| min | No | Optional HARD lower bounds, e.g. {'tempo': 120}. Attributes: acousticness, danceability, duration_ms, energy, loudness, tempo, valence. | |
| genre | No | Optional: only these catalog genres (comma list), in addition to any genre named in q. Unknown names in a list are skipped and listed in filters.ignored with close matches; only a list where every name is unknown is rejected. | |
| limit | No | Tracks per page (default 20). | |
| offset | No | Skip this many tracks for the next page; offset + limit <= 500. | |
| max_year | No | Optional: latest release year. | |
| min_year | No | Optional: earliest release year. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||