You're viewing a demo portfolio

Join the waitlist
PRSM

get_recommendations

Active

Tool of FreqBlog Music Metadata

declared in 1.27.2

Recommended tracks for one or more seed tracks — the drop-in for Spotify's removed GET /v1/recommendations. Blends up to 5 catalog seed tracks into a single point in audio-feature space and returns the nearest catalogue tracks, RE-RANKED by genre affinity (so a feature-close cross-genre track doesn't outrank same-genre picks). Returns `seeds` (each {id, found}), `count`, and `tracks` (each {track, score}; each track carries its `genre`). `score` is the raw audio-feature cosine similarity in [0,1]; genre affinity influences the ORDER, not the score, so the list is NOT strictly score-descending. Use cross_genre=strict to return same-genre-family tracks ONLY (off-genre dropped server-side), or allow to disable the genre ranking. seed_tracks are catalog itunes_track_ids from search_catalog or the itunes_track_id field of a get_audio_features result. NO id? Pass `track` (+ optional `artist`) instead and we resolve the name to the best catalog match and seed on it — the resolved track is echoed back as `seed_query`; seed_tracks wins if both are given. Costs 2 quota units.

Parameters schema

{
  "type": "object",
  "title": "get_recommendationsArguments",
  "properties": {
    "limit": {
      "type": "integer",
      "title": "Limit",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Number of recommendations to return (default 20)."
    },
    "track": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ],
      "title": "Track",
      "default": null,
      "description": "Seed by track NAME instead of an id — resolved to the best catalog match (echoed back as seed_query). Pair with artist to disambiguate. Ignored when seed_tracks is given."
    },
    "artist": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ],
      "title": "Artist",
      "default": null,
      "description": "Artist name narrowing the track seed (case-insensitive)."
    },
    "cross_genre": {
      "type": "string",
      "title": "Cross Genre",
      "default": "auto",
      "description": "Genre handling (mirrors suggest_next_track): 'auto' (default) re-ranks by genre affinity so a feature-close cross-genre track can't outrank same-genre picks; 'strict' = same genre-family only (off-genre dropped server-side); 'allow' = genre-blind (pure audio-feature cosine)."
    },
    "seed_tracks": {
      "anyOf": [
        {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 5
        },
        {
          "type": "null"
        }
      ],
      "title": "Seed Tracks",
      "default": null,
      "description": "1-5 catalog itunes_track_ids to base recommendations on, e.g. ['apple_ad1829eeccb70f9a'] (blended into a feature-space centroid). Omit and use track(+artist) to seed by name instead."
    },
    "exclude_seed_artists": {
      "type": "boolean",
      "title": "Exclude Seed Artists",
      "default": false,
      "description": "Drop tracks by any of the seed artists (default false)."
    }
  }
}

What this tool wraps· 1 endpoint

min confidence0.700.50

Parent server

FreqBlog Music Metadata

1/7 registries
View full server →