Перемудрили. Всё должно быть очень просто. Что такое тип медиа? Музыка или видео? Так по
/movies/genre/{id}/film/{id} - фильмы
/music/albums/{id}/tracks/{id} - музыка
Далее. Если я знаю id трека или фильма мне надо дать возможность обратиться непосредственно к нему:
music/track/{id} - всё
Если я не знаю какой трек мне нужен я прошу все треки из направления музыкального, например rap у него id=13
music/style/13
По этому запросу выдаются пачки направления по 100, 300 или 1000 штук в зависимости от ресурсов и можно указать пагинатор
music/style/13/2 - вторую страницу направлений мне покажите
Именно поэтому параметры лучше передавать в явном виде в url типа style=13&page=2 потому что так не запутаешься что такое 13 и что такое 2.
Если я совсем ничего не знаю и жанры тоже должен быть вспомогательный метод для получения всех жарнов, как у ВК для получения городов например. Запрос вида:
music/allganre?page=0
отдаёт 100 пар вида "название жарнра -> id" так сделав 5 запросов с page=0/1/2/3/4 я в своём приложении смогу иметь всю базу возможных жанров. Можно сделать метод что бы получить жанр конкретной песни:
music/getganre?track=1456
И т.п.
music/getalbums/1456 - получить все альбомы исполнителя
music/detailalbum/1456 - получить все данные об альбоме (год выпуска и т.п.)
music/tracksalbum/1456 - получить список треков конкретного альбома
В общем идите не от частного к общему а наоборот, представьте с чего начать работу человеку который ничего не знает. Максимальную атомарность запросов введите что бы они были между собой никак не связаны. И человек сначала получит жарны, по жанру список исполнителей, по нему список альбомов, по нему список песен, по нему данные о нужной песне. И это всё отдельные запросы.