(Note: I don't have any use for this provider, I just looked into it since it was mentioned in #5)
Example album: https://www.melon.com/album/detail.htm?albumId=12402595
API
Like #202, I dug this out of the mobile app.
When loading a release, the app makes 3 requests:
album/contents/list.json
This probably isn't useful, it just lists any music videos and articles related to the release.
album/info.json
AFAICT, SELLCNPY is the distributor and PLANCNPY is the label.
For the ALBUMTYPE field, the values I've seen are:
싱글 (Single)
EP
OST
리믹스 (Remix)
- I haven't seen a remix album, so maybe this is always
Single + Remix?
정규 (Regular)
옴니버스 (Compilation)
Cover art
The original image can be derived from the ALBUMIMG or ALBUMIMGLARGE field. Borrowed from https://github.com/qsniyg/maxurl/blob/master/src/userscript.ts:
const albumImgLarge = "https://cdnimg.melon.co.kr/cm2/album/images/124/02/595/12402595_20251121154956_1000.jpg?4dfce9df1f0761eb689cb1e82a2e01df";
const originalImg = albumImgLarge.replace(/(images\/.*\/[^/_]*)((_[^/.]*)_)?(_?[^/._]*)?(\.[^/.?]*)(?:[?/].*)?$/, "$1$3_org$5");
From my (limited) testing, the original covers are usually 2000x2000.
album/song/list.json
Only notable thing is that it provides a list of genres, but at least in the case of the example release, most of the entries aren't actually genres? Seems to just be a dumping ground of tags. The release-level genre tags don't seem to have that problem.
(Note: I don't have any use for this provider, I just looked into it since it was mentioned in #5)
Example album: https://www.melon.com/album/detail.htm?albumId=12402595
API
Like #202, I dug this out of the mobile app.
When loading a release, the app makes 3 requests:
album/contents/list.json
This probably isn't useful, it just lists any music videos and articles related to the release.
album/info.json
AFAICT,
SELLCNPYis the distributor andPLANCNPYis the label.For the
ALBUMTYPEfield, the values I've seen are:싱글(Single)EPOST리믹스(Remix)Single + Remix?정규(Regular)옴니버스(Compilation)Cover art
The original image can be derived from the
ALBUMIMGorALBUMIMGLARGEfield. Borrowed from https://github.com/qsniyg/maxurl/blob/master/src/userscript.ts:From my (limited) testing, the original covers are usually 2000x2000.
album/song/list.json
Only notable thing is that it provides a list of genres, but at least in the case of the example release, most of the entries aren't actually genres? Seems to just be a dumping ground of tags. The release-level genre tags don't seem to have that problem.