@dvxch/yandex-music
    Preparing search index...

    Реализованные эндпоинты

    Реализован и протестирован весь HTTP API. Каждый эндпоинт прогнан на живом API Яндекс Музыки с реальным токеном. Те немногие эндпоинты, которые сервер больше не отдаёт обычному аккаунту (например, устаревшее создание очереди, rotor feedback), кидают типизированную ошибку, а не падают молча.

    Домен Методы
    account init, accountStatus, accountSettings, accountSettingsSet, settings, usersSettings, permissionAlerts, accountExperiments, accountExperimentsDetails, consumePromoCode
    tracks tracks, tracksDownloadInfo, tracksLyrics, tracksSimilar, tracksFullInfo, tracksTrailer, trackSupplement, tracksCredits, tracksDisclaimer, playAudio, afterTrack
    albums albums, albumsWithTracks, albumsSimilarEntities, albumsTrailer, albumsDisclaimer
    artists artists, artistsBriefInfo, artistsTracks, artistsTrackIds, artistsDirectAlbums, artistsAlsoAlbums, artistsDiscographyAlbums, artistsSafeDirectAlbums, artistsSimilar, artistsLinks, artistsTrailer
    search search, searchSuggest
    likes usersLikesTracks + add/remove для треков, артистов, альбомов, плейлистов; usersDislikesTracks/Artists + add/remove
    playlists playlist, playlists, playlistsList, playlistsPersonal, usersPlaylists, usersPlaylistsList, usersPlaylistsKinds, usersPlaylistsCreate, usersPlaylistsDelete, usersPlaylistsName, usersPlaylistsVisibility, usersPlaylistsDescription, usersPlaylistsChange, usersPlaylistsInsertTrack, usersPlaylistsDeleteTrack, usersPlaylistsRecommendations, usersPlaylistsTrailer, playlistSimilarEntities, playlistsCollectiveJoin
    device auth requestDeviceCode, pollDeviceToken, deviceAuth (блокирующий flow), refreshAccessToken (обновление по refresh-токену)
    landing landing, chart, newReleases, newPlaylists, podcasts, genres
    radio rotorStationsDashboard, rotorStationsList, rotorStationInfo, rotorStationTracks, rotorAccountStatus, rotorStationFeedback (+ шорткаты radioStarted/trackStarted/trackFinished/skip), rotorStationSettings2
    queue queuesList, queue, queueUpdatePosition, queueCreate
    history musicHistory, musicHistoryItems
    clips clips, clipsWillLike
    credits tracksCredits, clipsCredits
    disclaimers tracksDisclaimer, clipsDisclaimer, albumsDisclaimer, artistsDisclaimer
    labels label, labelAlbums, labelArtists
    metatags metatags, metatag, metatagAlbums, metatagArtists, metatagPlaylists
    pins pins, pin{Album,Artist,Playlist,Wave}, unpin{Album,Artist,Playlist,Wave}
    presaves usersPresaves, usersPresavesAdd, usersPresavesRemove
    concerts artistsConcerts, concertInfo, concertSkeleton, concertsFeed, concertsLocations, concertsTabConfig
    realtime client.realtime()RealtimeClient (Ynison; нужен ws)

    Для lossy-вариантов используйте tracksDownloadInfo / track.getDownloadInfo() и выбирайте по битрейту:

    const variants = await track!.getDownloadInfo();          // DownloadInfo[]
    const best = [...variants].sort((a, b) => (b.bitrateInKbps ?? 0) - (a.bitrateInKbps ?? 0))[0];
    await best!.download('track.mp3');

    Для lossless (FLAC) — отдельный путь через get-file-info (LosslessDownloadInfo, AES-CTR-расшифровка), описанный в типах пакета.