Suggest Next Track
suggest_next_trackGiven a seed track, return the top-N catalog tracks to play NEXT, ranked by transition
score. Each suggestion carries the same score, per-component scores and human reason as
score_transition (e.g. "11B->11B same key, 118->117 BPM (-0.29), energy +0.12"), plus its
genre and genre_relation to the seed. GENRE-AWARE by default (cross_genre=auto): off-genre
picks that only coincidentally share the seed's key/BPM sink to the bottom — use
cross_genre=strict for same-genre-family only, or allow for the old harmonic-only ranking. It
is the seed's sonic neighbours re-ranked for a clean mix.
Returns `seed`, `count`, and a `suggestions` array of {track, score, components, reason}.
seed_track_id is a catalog itunes_track_id from search_catalog or a get_audio_features
result. Pair with build_setlist to order a whole crate. Costs 3 quota units.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | How many next-track suggestions to return (default 10). | |
| bpm_drift | No | Max BPM difference pre-filter before scoring (default 12). | |
| min_score | No | Drop candidates below this overall transition score (default 0). | |
| cross_genre | No | Genre handling: 'auto' (default) keeps picks in a mixable genre lane so an off-genre track that only shares key/BPM sinks to the bottom; 'strict' = same genre-family only; 'allow' = genre-blind (harmonic+tempo+energy only). | auto |
| seed_track_id | Yes | The track currently playing — a catalog itunes_track_id. | |
| max_key_distance | No | Max Camelot-wheel hops pre-filter before scoring (default 2). | |
| exclude_same_artist | No | Drop tracks by the seed's artist (default false). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||