Skip to content

Latest commit

 

History

History
162 lines (116 loc) · 21.5 KB

api.md

File metadata and controls

162 lines (116 loc) · 21.5 KB

Million Singer API Design

Tour

  • Each tour has one or many collections

Collect

  • Each collection has one or many songs
  • Each collection has a title that suggests the common features of its songs

Song

  • Each song has lyrics with timeline
  • It contains singer, name, youtube url, miss lyrics index(integer), language, and genre (optional)

Lyrics

  • It's an array with lines that contain text, start time and end time

Endpoint

/api/game/tours/new

  • POST: Add a new tour

/api/game/tours/${ID}

  • GET: Get a tour's info including its collection IDs

/api/game/collects/new

  • POST: Add a new collect

/api/game/collects/${ID}

  • GET: Get a collection's info including its songs info and the title

/api/game/songs/new

  • POST: Add a new song

/api/game/songs/${ID}?lyrics=[y,n]

  • GET: Get a song's info, with query lyrics=y that shows lyrics or lyrics=n that does not show lyrics and default is to show lyrics

/api/register

  • POST: Register

/api/login

  • POST: Login

How to

Add a tour

curl --location --request POST 'ms.csie.org/api/game/tours/new' \
--header 'Content-Type: application/json' \
--data-raw '{
    "collects": [
        1,2,3,4,5,6,7,8,9,10
    ]
}'

Get a tour

curl --location --request GET 'ms.csie.org/api/game/tours/1'

Add a collect

curl --location --request POST 'ms.csie.org/api/game/collects/new' \
--header 'Content-Type: application/json' \
--data-raw '{
    "songs":[
        4,5,6
    ],
    "title":"hello"
}'

Get a collect

curl --location --request GET 'ms.csie.org/api/game/collects/1'

Add a song (with Youtube url with CC subtitle)

curl --location --request POST 'ms.csie.org/api/game/songs/new' \
--header 'Content-Type: application/json' \
--data-raw '{
    "url":"https://www.youtube.com/watch?v=LqTfWEsGP4U",
    "singer":"山姆Someshit",
    "genre":"rap,hip-hop",
    "name":"那些勸我別抽菸的人都死了",
    "language":"zh-tw",
    "miss_lyrics":[
        7, 11, 14, 22, 24, 28, 31
    ],
    "file_type":"youtube"
}'

Add a song (with LRC file)

curl --location --request POST 'ms.csie.org/api/game/songs/new' \
--header 'Content-Type: application/json' \
--data-raw '{
    "file": "WzAwOjA4LjAwXVN1bW1lciBuaWdodHMgYWxsIGFsaWduLCBhcyB3ZSBkcm93biBpbiB0aGUgbW9vbmxpZ2h0IApbMDA6MTYuMDBdV2UgY29sbGlkZSBpbiBwbGFpbiBzaWdodCBZZWFoIEkga25vdyB3ZeKAmWxsIGJlIGFscmlnaHQgClswMDoyMy41OV1BbmQgd2UgY29tZSBhbGl2ZSwgd2UgcnVuIHRoZSBuaWdodCB3aXRoIHN0cmFuZ2VycyAKWzAwOjI2LjAwXUN1eiBpbiB0aGUgZW5kIHdl4oCZcmUgYWxsIGZhbWlsaWFyIGZhY2VzIApbMDA6MzAuMzldV2XigJlyZSB5b3VuZyBhbmQgd2lsZCwgZW5qb3kgdGhlIHJpZGUgd2UgbWFkZSBpdCAKWzAwOjM1LjAwXVdlIG1hZGUgaXQgClswMDozNy43OV1JIGRvbuKAmXQgbmVlZCBubyBzbGVlcCBjdXogSeKAmW0gYWxyZWFkeSBkcmVhbWluZyAKWzAwOjQyLjgwXUFscmVhZHkgZHJlYW1pbmcgClswMDo0NS44MF1TYXkgeW914oCZbGwgbmV2ZXIgbGVhdmUgIGJlY2F1c2UgSSBsb3ZlIHRoZSBmZWVsaW5nIApbMDA6NDkuMTldSSBsb3ZlIHRoZSBmZWVsaW5nIApbMDA6NTIuMzldRmluZCBteXNlbGYgYXdha2UgYXQgbmlnaHQsIHNlZSB5b3UgdGhyb3VnaCBteSBsdWNpZCBleWVzIApbMDA6NTkuNzldT29oLCBJIGRvbuKAmXQgbmVlZCBubyBzbGVlcCwgY3V6IEnigJltIGFscmVhZHkgZHJlYW1pbmcgClswMTowNC41OV1BbHJlYWR5IGRyZWFtaW5nIApbMDE6MTUuNzldSSBkb27igJl0IG5lZWQgbm8gc2xlZXAgY3V6IEnigJltIGFscmVhZHkgZHJlYW1pbmcgClswMToyMC44MF1BbHJlYWR5IGRyZWFtaW5nIApbMDE6MzguMTldV2lkZSBhd2FrZSwgbm8gdGltZSB0byB3YXN0ZSAgTWFrZSBhIG1hcmsgb24gbXkgdGltZWxpbmUgClswMTo0Ni41OV1XZeKAmXJlIHNhZmUgYW5kIHNvdW5kLCB3ZSBjb21lIGFyb3VuZCAKWzAxOjQ5LjgwXVdlIGFyZSBkYW5jaW5nIHRoZSBzdW4gZG93biAKWzAxOjUzLjk5XUFuZCB3ZSBjb21lIGFsaXZlLCB3ZSBydW4gdGhlIG5pZ2h0IHdpdGggc3RyYW5nZXJzIApbMDE6NTYuMTldQ3V6IGluIHRoZSBlbmQgd2XigJlyZSBhbGwgZmFtaWxpYXIgZmFjZXMgClswMjowMC40MF1XZeKAmXJlIHlvdW5nIGFuZCB3aWxkLCBlbmpveSB0aGUgcmlkZSB3ZSBtYWRlIGl0IApbMDI6MDQuODBdV2UgbWFkZSBpdCAKWzAyOjA3LjM5XUkgZG9u4oCZdCBuZWVkIG5vIHNsZWVwIGN1eiBJ4oCZbSBhbHJlYWR5IGRyZWFtaW5nIApbMDI6MTIuNzldQWxyZWFkeSBkcmVhbWluZyAKWzAyOjE1LjE5XVNheSB5b3XigJlsbCBuZXZlciBsZWF2ZSAgYmVjYXVzZSBJIGxvdmUgdGhlIGZlZWxpbmcgClswMjoxOS45OV1JIGxvdmUgdGhlIGZlZWxpbmcgClswMjoyMi4zOV1GaW5kIG15c2VsZiBhd2FrZSBhdCBuaWdodCwgc2VlIHlvdSB0aHJvdWdoIG15IGx1Y2lkIGV5ZXMgClswMjoyOS4zOV1Pb2gsIEkgZG9u4oCZdCBuZWVkIG5vIHNsZWVwLCBjdXogSeKAmW0gYWxyZWFkeSBkcmVhbWluZyAKWzAyOjM0LjU5XUFscmVhZHkgZHJlYW1pbmcgClswMjo0NC42MF1Pb2gsIEkgZG9u4oCZdCBuZWVkIG5vIHNsZWVwLCBjdXogSeKAmW0gYWxyZWFkeSBkcmVhbWluZyAKWzAyOjQ5Ljc5XUFscmVhZHkgZHJlYW1pbmcgClswMzoxNC4zOV1Pb2gsIEkgZG9u4oCZdCBuZWVkIG5vIHNsZWVwLCBjdXogSeKAmW0gYWxyZWFkeSBkcmVhbWluZyAKWzAzOjE5LjE5XUFscmVhZHkgZHJlYW1pbmcgCg==",
    "url":"https://www.youtube.com/watch?v=JxzKNHfNRdI",
    "singer":"Martin Garrix feat. Bonn",
    "genre":"edm",
    "name":"No Sleep",
    "language":"en",
    "miss_lyrics":[
        10, 12
    ],
    "file_type":"lrc"
}'

Add a song (with SRT file)

curl --location --request POST 'localhost/api/game/songs/new' \
--header 'Content-Type: application/json' \
--data-raw '{
    "file": "MQowMDowMDoxNCwwMDAgLS0+IDAwOjAwOjE3LDIwMArimarimaogTGF0ZWx5IEkndmUgYmVlbiBoYXJkIHRvIHJlYWNoIOKZquKZqgoKMgowMDowMDoxNyw1MTkgLS0+IDAwOjAwOjIwLDkzOQrimarimaogSSd2ZSBiZWVuIHRvbyBsb25nIG9uIG15IG93biDimarimaoKCjMKMDA6MDA6MjEsMDU5IC0tPiAwMDowMDoyMyw1MTkK4pmq4pmqIEV2ZXJ5Ym9keSBoYXMgYSBwcml2YXRlIHdvcmxkIOKZquKZqgoKNAowMDowMDoyMyw1MTkgLS0+IDAwOjAwOjI3LDQ3OQrimarimaogV2hlcmUgdGhleSBjYW4gYmUgYWxvbmUg4pmq4pmqCgo1CjAwOjAwOjI4LDE5OSAtLT4gMDA6MDA6MzEsMDc5CuKZquKZqiBBcmUgeW91IGNhbGxpbmcgbWU/IOKZquKZqgoKNgowMDowMDozMSwwNzkgLS0+IDAwOjAwOjM0LDczOQrimarimaogQXJlIHlvdSB0cnlpbmcgdG8gZ2V0IHRocm91Z2gg4pmq4pmqCgo3CjAwOjAwOjM0LDc0MCAtLT4gMDA6MDA6MzgsMjYwCuKZquKZqiBBcmUgeW91IHJlYWNoaW5nIG91dCBmb3IgbWUg4pmq4pmqCgo4CjAwOjAwOjM4LDI1OSAtLT4gMDA6MDA6NDIsNjE5CuKZquKZqiBMaWtlIEknbSByZWFjaGluZyBvdXQgZm9yIHlvdT8g4pmq4pmqCgo5CjAwOjAwOjQyLDYxOSAtLT4gMDA6MDA6NDQsMDM5CuKZquKZqiBJJ20ganVzdCBzbyBmdWNraW5nIGRlcHJlc3NlZCDimarimaoKCjEwCjAwOjAwOjQ0LDAzOSAtLT4gMDA6MDA6NDUsOTk5CuKZquKZqiBJIGp1c3QgY2FuJ3Qgc2VlbSB0byBnZXQgb3V0IHRoaXMgc2x1bXAg4pmq4pmqCgoxMQowMDowMDo0NiwwMDAgLS0+IDAwOjAwOjQ3LDgyMArimarimaogSWYgSSBjb3VsZCBqdXN0IGdldCBvdmVyIHRoaXMgaHVtcCDimarimaoKCjEyCjAwOjAwOjQ3LDgyMCAtLT4gMDA6MDA6NDksNjAwCuKZquKZqiBCdXQgSSBuZWVkIHNvbWV0aGluJyB0byBwdWxsIG1lIG91dCB0aGlzIGR1bXAg4pmq4pmqCgoxMwowMDowMDo0OSw2MDAgLS0+IDAwOjAwOjUxLDYwMArimarimaogSSB0b29rIG15IGJydWlzZXMsIHRvb2sgbXkgbHVtcHMg4pmq4pmqCgoxNAowMDowMDo1MSw2MDAgLS0+IDAwOjAwOjUzLDI2MArimarimaogRmVsbCBkb3duIGFuZCBJIGdvdCByaWdodCBiYWNrIHVwIOKZquKZqgoKMTUKMDA6MDA6NTMsMjU5IC0tPiAwMDowMDo1NSwwNTkK4pmq4pmqIEJ1dCBJIG5lZWQgdGhhdCBzcGFyayB0byBnZXQgcHN5Y2hlZCBiYWNrIHVwIOKZquKZqgoKMTYKMDA6MDA6NTUsMDYwIC0tPiAwMDowMDo1NywxMDAK4pmq4pmqIEluIG9yZGVyIGZvciBtZSB0byBwaWNrIHRoZSBtaWMgYmFjayB1cCDimarimaoKCjE3CjAwOjAwOjU3LDEwMCAtLT4gMDA6MDA6NTgsNjgwCuKZquKZqiBJIGRvbid0IGtub3cgaG93IG9yIHdoeSBvciB3aGVuIOKZquKZqgoKMTgKMDA6MDA6NTgsNjc5IC0tPiAwMDowMTowMCw2MTkK4pmq4pmqIEkgZW5kZWQgdXAgaW4gdGhpcyBwb3NpdGlvbiBJJ20gaW4g4pmq4pmqCgoxOQowMDowMTowMCw2MTkgLS0+IDAwOjAxOjAyLDM3OQrimarimaogSSdtIHN0YXJ0aW5nIHRvIGZlZWwgZGlzdGFudCBhZ2FpbiDimarimaoKCjIwCjAwOjAxOjAyLDM4MCAtLT4gMDA6MDE6MDQsMjAwCuKZquKZqiBTbyBJIGRlY2lkZWQganVzdCB0byBwaWNrIHRoaXMgcGVuIOKZquKZqgoKMjEKMDA6MDE6MDQsMjAwIC0tPiAwMDowMTowNiw1MDAK4pmq4pmqIFVwIGFuZCB0cnkgdG8gbWFrZSBhbiBhdHRlbXB0IHRvIHZlbnQg4pmq4pmqCgoyMgowMDowMTowNiw1MDAgLS0+IDAwOjAxOjA5LDEwMArimarimaogQnV0IEkganVzdCBjYW4ndCBhZG1pdCBvciBjb21lIHRvIGdyaXBzIHdpdGggdGhlIGZhY3Qg4pmq4pmqCgoyMwowMDowMTowOSwwOTkgLS0+IDAwOjAxOjExLDQ3OQrimarimaogVGhhdCBJIG1heSBiZSBkb25lIHdpdGggcmFwLCBJIG5lZWQgYSBuZXcgb3V0bGV0IOKZquKZqgoKMjQKMDA6MDE6MTEsNDgwIC0tPiAwMDowMToxMywzNDAK4pmq4pmqIEFuZCBJIGtub3cgc29tZSBzaGl0J3Mgc28gaGFyZCB0byBzd2FsbG93IOKZquKZqgoKMjUKMDA6MDE6MTMsMzQwIC0tPiAwMDowMToxNSwxODAK4pmq4pmqIEJ1dCBJIGp1c3QgY2FuJ3Qgc2l0IGJhY2sgYW5kIHdhbGxvdyDimarimaoKCjI2CjAwOjAxOjE1LDE4MCAtLT4gMDA6MDE6MTcsMTgwCuKZquKZqiBJbiBteSBvd24gc29ycm93LCBidXQgSSBrbm93IG9uZSBmYWN0IOKZquKZqgoKMjcKMDA6MDE6MTcsMTgwIC0tPiAwMDowMToxOSwxODAK4pmq4pmqIEknbGwgYmUgb25lIHRvdWdoIGFjdCB0byBmb2xsb3cg4pmq4pmqCgoyOAowMDowMToxOSwxODAgLS0+IDAwOjAxOjIwLDY0MArimarimaogb25lIHRvdWdoIGFjdCB0byBmb2xsb3cg4pmq4pmqCgoyOQowMDowMToyMCw2NDAgLS0+IDAwOjAxOjIyLDYwMArimarimaogSSdsbCBiZSBvbmUgdG91Z2ggYWN0IHRvIGZvbGxvdyDimarimaoKCjMwCjAwOjAxOjIyLDU5OSAtLT4gMDA6MDE6MjQsMTE5CuKZquKZqiBIZXJlIHRvZGF5LCBnb25lIHRvbW9ycm93IOKZquKZqgoKMzEKMDA6MDE6MjQsMTIwIC0tPiAwMDowMToyNiwxMjAK4pmq4pmqIEJ1dCB5b3UnZCBoYXZlIHRvIHdhbGsgYSB0aG91c2FuZCBtaWxlc+KAlCDimarimaoKCjMyCjAwOjAxOjI2LDEyMCAtLT4gMDA6MDE6MjksNjQwCuKZquKZqiBJbiBteSBzaG9lcywganVzdCB0byBzZWUgd2hhdCBpdCdzIGxpa2UgdG8gYmUgbWUg4pmq4pmqCgozMwowMDowMToyOSw2NDAgLS0+IDAwOjAxOjMxLDY0MArimarimaogSSdsbCBiZSB5b3UsIGxldCdzIHRyYWRlIHNob2VzIOKZquKZqgoKMzQKMDA6MDE6MzEsNjQwIC0tPiAwMDowMTozMyw2NDAK4pmq4pmqIEp1c3QgdG8gc2VlIHdoYXQgaXQnZCBiZSBsaWtlIHRvIOKZquKZqgoKMzUKMDA6MDE6MzMsNjQwIC0tPiAwMDowMTozNSwyMDAK4pmq4pmqIEZlZWwgeW91ciBwYWluLCB5b3UgZmVlbCBtaW5lIOKZquKZqgoKMzYKMDA6MDE6MzUsMjAwIC0tPiAwMDowMTozNywwODAK4pmq4pmqIEdvIGluc2lkZSBlYWNoIG90aGVyJ3MgbWluZHMg4pmq4pmqCgozNwowMDowMTozNywwNzkgLS0+IDAwOjAxOjM4LDcxOQrimarimaogSnVzdCB0byBzZWUgd2hhdCB3ZSBmaW5kIOKZquKZqgoKMzgKMDA6MDE6MzgsNzE5IC0tPiAwMDowMTo0MSwwMTkK4pmq4pmqIExvb2sgYXQgc2hpdCB0aHJvdWdoIGVhY2ggb3RoZXIncyBleWVzIOKZquKZqgoKMzkKMDA6MDE6NDEsMDE5IC0tPiAwMDowMTo0Niw3NTkK4pmq4pmqIEJ1dCBkb24ndCBsZXQgJ2VtIHNheSB5b3UgYWluJ3QgYmVhdXRpZnVsIOKZquKZqgoKNDAKMDA6MDE6NDYsNzYwIC0tPiAwMDowMTo0OCw0MjAK4pmq4pmqIFdvYWgtb2gtb2gtb2hoIOKZquKZqgoKNDEKMDA6MDE6NDgsNDIwIC0tPiAwMDowMTo1NCwxODAK4pmq4pmqIFRoZXkgY2FuIGFsbCBnZXQgZnVja2VkLCBqdXN0IHN0YXkgdHJ1ZSB0byB5b3Ug4pmq4pmqCgo0MgowMDowMTo1NCwxODAgLS0+IDAwOjAxOjU1LDcyMArimarimaogU28tb2gtb2gtb2gtb2hoIOKZquKZqgoKNDMKMDA6MDE6NTUsNzE5IC0tPiAwMDowMjowMSw0OTkK4pmq4pmqIERvbid0IGxldCAnZW0gc2F5IHlvdSBhaW4ndCBiZWF1dGlmdWwg4pmq4pmqCgo0NAowMDowMjowMSw1MDAgLS0+IDAwOjAyOjAyLDgyMArimarimaogSG8tb2gtb2gtb2hoIOKZquKZqgoKNDUKMDA6MDI6MDIsODE5IC0tPiAwMDowMjowOCw2OTkK4pmq4pmqIFRoZXkgY2FuIGFsbCBnZXQgZnVja2VkLCBqdXN0IHN0YXkgdHJ1ZSB0byB5b3Ug4pmq4pmqCgo0NgowMDowMjowOCw2OTkgLS0+IDAwOjAyOjA5LDI5OQrimarimaogU28tb2gtb2gtb2gtb2hoIOKZquKZqgoKNDcKMDA6MDI6MDksMzAwIC0tPiAwMDowMjoxMSw3MDAK4pmq4pmqIEkgdGhpbmsgSSdtIHN0YXJ0aW5nIHRvIGxvc2UgbXkgc2Vuc2Ugb2YgaHVtb3Ig4pmq4pmqCgo0OAowMDowMjoxMSw2OTkgLS0+IDAwOjAyOjEzLDQxOQrimarimaogRXZlcnl0aGluZydzIHNvIHRlbnNlIGFuZCBnbG9vbSDimarimaoKCjQ5CjAwOjAyOjEzLDQxOSAtLT4gMDA6MDI6MTUsNjk5CuKZquKZqiBJIGFsbW9zdCBmZWVsIGxpa2UgSSBnb3R0YSBjaGVjayB0aGUgdGVtcGVyYXR1cmUg4pmq4pmqCgo1MAowMDowMjoxNSw2OTkgLS0+IDAwOjAyOjE2LDk3OQrimarimaogT2YgdGhlIHJvb20sIGp1c3QgYXMgc29vbiBhcyDimarimaoKCjUxCjAwOjAyOjE2LDk3OSAtLT4gMDA6MDI6MTgsNjE5CuKZquKZqiBJIHdhbGsgaW4sIGl0J3MgbGlrZSBhbGwgZXllcyBvbiBtZSDimarimaoKCjUyCjAwOjAyOjE4LDYyMCAtLT4gMDA6MDI6MjAsNjIwCuKZquKZqiBTbyBJIHRyeSB0byBhdm9pZCBhbnkgZXllIGNvbnRhY3Qg4pmq4pmqCgo1MwowMDowMjoyMCw2MjAgLS0+IDAwOjAyOjIyLDMyMArimarimaog4oCYQ2F1c2UgaWYgSSBkbyB0aGF0LCB0aGVuIGl0IG9wZW5zIGEgZG9vciDimarimaoKCjU0CjAwOjAyOjIyLDMxOSAtLT4gMDA6MDI6MjQsMzE5CuKZquKZqiBGb3IgY29udmVyc2F0aW9uIGxpa2UgSSB3YW50IHRoYXQg4pmq4pmqCgo1NQowMDowMjoyNCwzMTkgLS0+IDAwOjAyOjI2LDE1OQrimarimaogSSdtIG5vdCBsb29raW4nIGZvciBleHRyYSBhdHRlbnRpb24g4pmq4pmqCgo1NgowMDowMjoyNiwxNTkgLS0+IDAwOjAyOjI3LDgzOQrimarimaogSSBqdXN0IHdhbm5hIGJlIGp1c3QgbGlrZSB5b3Ug4pmq4pmqCgo1NwowMDowMjoyNyw4NDAgLS0+IDAwOjAyOjI5LDM4MArimarimaogQmxlbmQgaW4gd2l0aCB0aGUgcmVzdCBvZiB0aGUgcm9vbSDimarimaoKCjU4CjAwOjAyOjI5LDM3OSAtLT4gMDA6MDI6MzEsMzc5CuKZquKZqiBNYXliZSBqdXN0IHBvaW50IG1lIHRvIHRoZSBjbG9zZXN0IHJlc3Ryb29tIOKZquKZqgoKNTkKMDA6MDI6MzEsMzc5IC0tPiAwMDowMjozMywxNzkK4pmq4pmqIEkgZG9uJ3QgbmVlZCBubyBmdWNraW5nIG1hbiBzZXJ2YW50IOKZquKZqgoKNjAKMDA6MDI6MzMsMTgwIC0tPiAwMDowMjozNSwxODAK4pmq4pmqIFRyeWluZyB0byBmb2xsb3cgbWUgYXJvdW5kIGFuZCB3aXBlIG15IGFzcyDimarimaoKCjYxCjAwOjAyOjM1LDE4MCAtLT4gMDA6MDI6MzYsOTIwCuKZquKZqiBMYXVnaCBhdCBldmVyeSBzaW5nbGUgam9rZSBJIGNyYWNrIOKZquKZqgoKNjIKMDA6MDI6MzYsOTE5IC0tPiAwMDowMjozOSwwMzkK4pmq4pmqIEFuZCBoYWxmIG9mICdlbSBhaW4ndCBldmVuIGZ1bm55LCBsaWtlLCBoYSDimarimaoKCjYzCjAwOjAyOjM5LDAzOSAtLT4gMDA6MDI6NDAsNzc5CuKZquKZqiBNYXJzaGFsbCwgeW91J3JlIHNvIGZ1bm55LCBtYW4g4pmq4pmqCgo2NAowMDowMjo0MCw3ODAgLS0+IDAwOjAyOjQyLDY0MArimarimaogWW91IHNob3VsZCBiZSBhIGNvbWVkaWFuLCBnb2RkYW1uISDimarimaoKCjY1CjAwOjAyOjQyLDYzOSAtLT4gMDA6MDI6NDQsNDE5CuKZquKZqiBVbmZvcnR1bmF0ZWx5IEkgYW0g4pmq4pmqCgo2NgowMDowMjo0NCw0MTkgLS0+IDAwOjAyOjQ2LDQxOQrimarimaogSSBqdXN0IGhpZGUgYmVoaW5kIHRoZSB0ZWFycyBvZiBhIGNsb3duIOKZquKZqgoKNjcKMDA6MDI6NDYsNDE5IC0tPiAwMDowMjo0Nyw4NzkK4pmq4pmqIFNvIHdoeSBkb24ndCB5b3UgYWxsIHNpdCBkb3duIOKZquKZqgoKNjgKMDA6MDI6NDcsODc5IC0tPiAwMDowMjo0OSw3OTkK4pmq4pmqIExpc3RlbiB0byB0aGUgdGFsZSBJJ20gYWJvdXQgdG8gdGVsbCDimarimaoKCjY5CjAwOjAyOjQ5LDgwMCAtLT4gMDA6MDI6NTEsMzQwCuKZquKZqiBIZWxsLCB3ZSBkb24ndCBnb3R0YSB0cmFkZSBvdXIgc2hvZXMg4pmq4pmqCgo3MAowMDowMjo1MSwzNDAgLS0+IDAwOjAyOjUzLDUyMArimarimaogQW5kIHlvdSBhaW4ndCBnb3R0YSB3YWxrIG5vIHRob3VzYW5kIG1pbGVz4oCUIOKZquKZqgoKNzEKMDA6MDI6NTMsNTIwIC0tPiAwMDowMjo1Niw5NDAK4pmq4pmqIEluIG15IHNob2VzLCBqdXN0IHRvIHNlZSB3aGF0IGl0J3MgbGlrZSB0byBiZSBtZSDimarimaoKCjcyCjAwOjAyOjU2LDkzOSAtLT4gMDA6MDI6NTgsOTM5CuKZquKZqiBJJ2xsIGJlIHlvdSwgbGV0J3MgdHJhZGUgc2hvZXMg4pmq4pmqCgo3MwowMDowMjo1OCw5MzkgLS0+IDAwOjAzOjAwLDkzOQrimarimaogSnVzdCB0byBzZWUgd2hhdCBpdCdkIGJlIGxpa2UgdG8g4pmq4pmqCgo3NAowMDowMzowMCw5MzkgLS0+IDAwOjAzOjAyLDQ3OQrimarimaogRmVlbCB5b3VyIHBhaW4sIHlvdSBmZWVsIG1pbmUg4pmq4pmqCgo3NQowMDowMzowMiw0NzkgLS0+IDAwOjAzOjA0LDM1OQrimarimaogR28gaW5zaWRlIGVhY2ggb3RoZXIncyBtaW5kcyDimarimaoKCjc2CjAwOjAzOjA0LDM2MCAtLT4gMDA6MDM6MDYsMDgwCuKZquKZqiBKdXN0IHRvIHNlZSB3aGF0IHdlIGZpbmQg4pmq4pmqCgo3NwowMDowMzowNiwwODAgLS0+IDAwOjAzOjA4LDE4MArimarimaogTG9vayBhdCBzaGl0IHRocm91Z2ggZWFjaCBvdGhlcidzIGV5ZXMg4pmq4pmqCgo3OAowMDowMzowOCwxODAgLS0+IDAwOjAzOjE0LDI0MArimarimaogQnV0IGRvbid0IGxldCAnZW0gc2F5IHlvdSBhaW4ndCBiZWF1dGlmdWwg4pmq4pmqCgo3OQowMDowMzoxNCwyNDAgLS0+IDAwOjAzOjE1LDYwMArimarimaogSG8tb2gtb2gtb2hoIOKZquKZqgoKODAKMDA6MDM6MTUsNTk5IC0tPiAwMDowMzoyMSw1MTkK4pmq4pmqIFRoZXkgY2FuIGFsbCBnZXQgZnVja2VkLCBqdXN0IHN0YXkgdHJ1ZSB0byB5b3Ug4pmq4pmqCgo4MQowMDowMzoyMSw1MjAgLS0+IDAwOjAzOjIzLDAwMArimarimaogU28tb2gtb2gtb2gtb2hoIOKZquKZqgoKODIKMDA6MDM6MjMsMDAwIC0tPiAwMDowMzoyOCw3NTkK4pmq4pmqIERvbid0IGxldCAnZW0gc2F5IHlvdSBhaW4ndCBiZWF1dGlmdWwg4pmq4pmqCgo4MwowMDowMzoyOCw3NTkgLS0+IDAwOjAzOjMwLDIzOQrimarimaogSG8tb2gtb2gtb2hoIOKZquKZqgoKODQKMDA6MDM6MzAsMjQwIC0tPiAwMDowMzozNiwxMDAK4pmq4pmqIFRoZXkgY2FuIGFsbCBnZXQgZnVja2VkLCBqdXN0IHN0YXkgdHJ1ZSB0byB5b3Ug4pmq4pmqCgo4NQowMDowMzozNiwwOTkgLS0+IDAwOjAzOjM2LDk5OQrimarimaogU28tb2gtb2gtb2gtb2hoIOKZquKZqgoKODYKMDA6MDM6MzcsMDAwIC0tPiAwMDowMzozOCw4OTkK4pmq4pmqIE5vYm9keSBhc2tlZCBmb3IgbGlmZSB0byBkZWFsIHVzIOKZquKZqgoKODcKMDA6MDM6MzgsOTAwIC0tPiAwMDowMzo0MCw2NjAK4pmq4pmqIFdpdGggdGhlc2UgYnVsbHNoaXQgaGFuZHMgd2UncmUgZGVhbHQg4pmq4pmqCgo4OAowMDowMzo0MCw2NTkgLS0+IDAwOjAzOjQyLDM1OQrimarimaogV2UgZ290dGEgdGFrZSB0aGVzZSBjYXJkcyBvdXJzZWx2ZXMg4pmq4pmqCgo4OQowMDowMzo0MiwzNjAgLS0+IDAwOjAzOjQ0LDM2MArimarimaogQW5kIGZsaXAgJ2VtLCBkb24ndCBleHBlY3Qgbm8gaGVscCDimarimaoKCjkwCjAwOjAzOjQ0LDM2MCAtLT4gMDA6MDM6NDYsOTQwCuKZquKZqiBOb3csIEkgY291bGQndmUgZWl0aGVyIGp1c3Qgc2F0IG9uIG15IGFzcyDimarimaoKCjkxCjAwOjAzOjQ2LDkzOSAtLT4gMDA6MDM6NDcsNzU5CuKZquKZqiBBbmQgcGlzc2VkIGFuZCBtb2FuZWQg4pmq4pmqCgo5MgowMDowMzo0Nyw3NTkgLS0+IDAwOjAzOjQ5LDk5OQrimarimaogT3IgdGFrZSB0aGlzIHNpdHVhdGlvbiBpbiB3aGljaCBJJ20gcGxhY2VkIGluIOKZquKZqgoKOTMKMDA6MDM6NTAsMDAwIC0tPiAwMDowMzo1MSw2NzkK4pmq4pmqIEFuZCBnZXQgdXAgYW5kIGdldCBteSBvd24g4pmq4pmqCgo5NAowMDowMzo1MSw2ODAgLS0+IDAwOjAzOjUzLDI2MArimarimaogSSB3YXMgbmV2ZXIgdGhlIHR5cGUgb2Yga2lkIOKZquKZqgoKOTUKMDA6MDM6NTMsMjU5IC0tPiAwMDowMzo1NSwxMzkK4pmq4pmqIFRvIHdhaXQgYnkgdGhlIGRvb3IgYW5kIHBhY2sgaGlzIGJhZ3Mg4pmq4pmqCgo5NgowMDowMzo1NSwxMzkgLS0+IDAwOjAzOjU2LDg3OQrimarimaogQW5kIHNhdCBvbiB0aGUgcG9yY2ggYW5kIGhvcGVkIGFuZCBwcmF5ZWQg4pmq4pmqCgo5NwowMDowMzo1Niw4NzkgLS0+IDAwOjAzOjU4LDg3OQrimarimaogRm9yIGEgZGFkIHRvIHNob3cgdXAgd2hvIG5ldmVyIGRpZCDimarimaoKCjk4CjAwOjAzOjU4LDg3OSAtLT4gMDA6MDQ6MDEsNDM5CuKZquKZqiBJIGp1c3Qgd2FudGVkIHRvIGZpdCBpbiBpbiBldmVyeSBzaW5nbGUgcGxhY2Ug4pmq4pmqCgo5OQowMDowNDowMSw0MzkgLS0+IDAwOjA0OjAyLDM1OQrimarimaogRXZlcnkgc2Nob29sIEkgd2VudCDimarimaoKCjEwMAowMDowNDowMiwzNjAgLS0+IDAwOjA0OjA0LDE2MArimarimaogSSBkcmVhbWVkIG9mIGJlaW5nIHRoYXQgY29vbCBraWQg4pmq4pmqCgoxMDEKMDA6MDQ6MDQsMTU5IC0tPiAwMDowNDowNSw5OTkK4pmq4pmqIEV2ZW4gaWYgaXQgbWVhbnQgYWN0aW5nIHN0dXBpZCDimarimaoKCjEwMgowMDowNDowNiwwMDAgLS0+IDAwOjA0OjA3LDU2MArimarimaogQXVudCBFZG5hIGFsd2F5cyB0b2xkIG1lIOKZquKZqgoKMTAzCjAwOjA0OjA3LDU2MCAtLT4gMDA6MDQ6MDksNjYwCuKZquKZqiBLZWVwIG1ha2luZyB0aGF0IGZhY2UsIGl0J2xsIGdldCBzdHVjayBsaWtlIHRoYXQg4pmq4pmqCgoxMDQKMDA6MDQ6MDksNjU5IC0tPiAwMDowNDoxMSwzMzkK4pmq4pmqIE1lYW53aGlsZSwgSSdtIGp1c3Qgc3RhbmRpbicgdGhlcmUg4pmq4pmqCgoxMDUKMDA6MDQ6MTEsMzQwIC0tPiAwMDowNDoxMyw0ODAK4pmq4pmqIEhvbGRpbicgbXkgdG9uZ3VlLCB0cnlpbicgdG8gdGFsayAqbGlrZSB0aGlzKiDimarimaoKCjEwNgowMDowNDoxMyw0NzkgLS0+IDAwOjA0OjE1LDk1OQrimarimaogJ1RpbCBJIHN0dWNrIG15IHRvbmd1ZSBvbiB0aGF0IGZyb3plbiBzdG9wIHNpZ24gcG9sZSDimarimaoKCjEwNwowMDowNDoxNSw5NjAgLS0+IDAwOjA0OjE4LDE4MArimarimaogQXQgZWlnaHQgeWVhcnMgb2xkOyBJIGxlYXJuZWQgbXkgbGVzc29uIHRoZW4g4pmq4pmqCgoxMDgKMDA6MDQ6MTgsMTgwIC0tPiAwMDowNDoyMCw1NjAK4pmq4pmqIOKAmENhdXNlIEkgd2Fzbid0IHRyeWluJyB0byBpbXByZXNzIG15IGZyaWVuZHMgbm8gbW9yZSDimarimaoKCjEwOQowMDowNDoyMCw1NjAgLS0+IDAwOjA0OjIyLDQ4MArimarimaogQnV0IEkgYWxyZWFkeSB0b2xkIHlvdSBteSB3aG9sZSBsaWZlIHN0b3J5IOKZquKZqgoKMTEwCjAwOjA0OjIyLDQ4MCAtLT4gMDA6MDQ6MjQsMzAwCuKZquKZqiBOb3QganVzdCBiYXNlZCBvbiBteSBkZXNjcmlwdGlvbiDimarimaoKCjExMQowMDowNDoyNCwzMDAgLS0+IDAwOjA0OjI2LDE0MArimarimaog4oCYQ2F1c2Ugd2hlcmUgeW91IHNlZSBpdCBmcm9tIHdoZXJlIHlvdSdyZSBzaXR0aW4nIOKZquKZqgoKMTEyCjAwOjA0OjI2LDEzOSAtLT4gMDA6MDQ6MjgsMTM5CuKZquKZqiBJdCdzIHByb2JhYmx5IDExMCUgZGlmZmVyZW50IOKZquKZqgoKMTEzCjAwOjA0OjI4LDEzOSAtLT4gMDA6MDQ6MzAsMTM5CuKZquKZqiBJIGd1ZXNzIHdlIHdvdWxkIGhhdmUgdG8gd2FsayBhIG1pbGUg4pmq4pmqCgoxMTQKMDA6MDQ6MzAsMTM5IC0tPiAwMDowNDozMSw1MTkK4pmq4pmqIEluIGVhY2ggb3RoZXIncyBzaG9lcyBhdCBsZWFzdCDimarimaoKCjExNQowMDowNDozMSw1MTkgLS0+IDAwOjA0OjMyLDM3OQrimarimaogV2hhdCBzaXplIHlvdSB3ZWFyPyDimarimaoKCjExNgowMDowNDozMiwzNzkgLS0+IDAwOjA0OjMzLDQxOQrimarimaogSSB3ZWFyIDEwJ3Mg4pmq4pmqCgoxMTcKMDA6MDQ6MzMsNDIwIC0tPiAwMDowNDozNSwyODAK4pmq4pmqIExldCdzIHNlZSBpZiB5b3UgY2FuIGZpdCB5b3VyIGZlZXTigJQg4pmq4pmqCgoxMTgKMDA6MDQ6MzUsMjc5IC0tPiAwMDowNDozOCw3NzkK4pmq4pmqIEluIG15IHNob2VzLCBqdXN0IHRvIHNlZSB3aGF0IGl0J3MgbGlrZSB0byBiZSBtZSDimarimaoKCjExOQowMDowNDozOCw3NzkgLS0+IDAwOjA0OjQwLDc3OQrimarimaogSSdsbCBiZSB5b3UsIGxldCdzIHRyYWRlIHNob2VzIOKZquKZqgoKMTIwCjAwOjA0OjQwLDc3OSAtLT4gMDA6MDQ6NDIsNzc5CuKZquKZqiBKdXN0IHRvIHNlZSB3aGF0IGl0J2QgYmUgbGlrZSB0byDimarimaoKCjEyMQowMDowNDo0Miw3NzkgLS0+IDAwOjA0OjQ0LDIzOQrimarimaogRmVlbCB5b3VyIHBhaW4sIHlvdSBmZWVsIG1pbmUg4pmq4pmqCgoxMjIKMDA6MDQ6NDQsMjQwIC0tPiAwMDowNDo0NiwxODAK4pmq4pmqIEdvIGluc2lkZSBlYWNoIG90aGVyJ3MgbWluZHMg4pmq4pmqCgoxMjMKMDA6MDQ6NDYsMTgwIC0tPiAwMDowNDo0Nyw5NjAK4pmq4pmqIEp1c3QgdG8gc2VlIHdoYXQgd2UgZmluZCDimarimaoKCjEyNAowMDowNDo0Nyw5NTkgLS0+IDAwOjA0OjUwLDEzOQrimarimaogTG9vayBhdCBzaGl0IHRocm91Z2ggZWFjaCBvdGhlcidzIGV5ZXMg4pmq4pmqCgoxMjUKMDA6MDQ6NTAsMTM5IC0tPiAwMDowNDo1NSw5NzkK4pmq4pmqIEJ1dCBkb24ndCBsZXQgJ2VtIHNheSB5b3UgYWluJ3QgYmVhdXRpZnVsIOKZquKZqgoKMTI2CjAwOjA0OjU1LDk4MCAtLT4gMDA6MDQ6NTcsNTIwCuKZquKZqiBIby1vaC1vaC1vaGgg4pmq4pmqCgoxMjcKMDA6MDQ6NTcsNTE5IC0tPiAwMDowNTowMywzMTkK4pmq4pmqIFRoZXkgY2FuIGFsbCBnZXQgZnVja2VkLCBqdXN0IHN0YXkgdHJ1ZSB0byB5b3Ug4pmq4pmqCgoxMjgKMDA6MDU6MDMsMzE5IC0tPiAwMDowNTowNCw4MTkK4pmq4pmqIFNvLW9oLW9oLW9oLW9oaCDimarimaoKCjEyOQowMDowNTowNCw4MTkgLS0+IDAwOjA1OjEwLDU5OQrimarimaogRG9uJ3QgbGV0ICdlbSBzYXkgeW91IGFpbid0IGJlYXV0aWZ1bCDimarimaoKCjEzMAowMDowNToxMCw2MDAgLS0+IDAwOjA1OjEyLDA4MArimarimaogSG8tb2gtb2gtb2hoIOKZquKZqgoKMTMxCjAwOjA1OjEyLDA3OSAtLT4gMDA6MDU6MTcsNzk5CuKZquKZqiBUaGV5IGNhbiBhbGwgZ2V0IGZ1Y2tlZCwganVzdCBzdGF5IHRydWUgdG8geW91IOKZquKZqgoKMTMyCjAwOjA1OjE3LDgwMCAtLT4gMDA6MDU6MTksODAwCuKZquKZqiBTby1vaC1vaC1vaC1vaGgg4pmq4pmqCgoxMzMKMDA6MDU6MTksODE5IC0tPiAwMDowNToyMiwzOTkK4pmq4pmqIExhdGVseSBJJ3ZlIGJlZW4gaGFyZCB0byByZWFjaCDimarimaoKCjEzNAowMDowNToyMiw4MTkgLS0+IDAwOjA1OjI1LDE3OQrimarimaogSSd2ZSBiZWVuIHRvbyBsb25nIG9uIG15IG93biDimarimaoKCjEzNQowMDowNToyNSwxODAgLS0+IDAwOjA1OjI2LDU2MArimarimaogT2gtb2gtb2gtb2hoIOKZquKZqgoKMTM2CjAwOjA1OjI2LDU2MCAtLT4gMDA6MDU6MjksMDQwCuKZquKZqiBFdmVyeWJvZHkgaGFzIGEgcHJpdmF0ZSB3b3JsZCDimarimaoKCjEzNwowMDowNToyOSwwNDAgLS0+IDAwOjA1OjMyLDM4MArimarimaogV2hlcmUgdGhleSBjYW4gYmUgYWxvbmUg4pmq4pmqCgoxMzgKMDA6MDU6MzIsMzc5IC0tPiAwMDowNTozMyw3MzkK4pmq4pmqIFNvLW9oLW9oLW9oLW9oaCDimarimaoKCjEzOQowMDowNTozMyw3NDAgLS0+IDAwOjA1OjM2LDU4MArimarimaogQXJlIHlvdSBjYWxsaW5nIG1lPyDimarimaoKCjE0MAowMDowNTozNiw2MzkgLS0+IDAwOjA1OjM5LDYzOQrimarimaogQXJlIHlvdSB0cnlpbmcgdG8gZ2V0IHRocm91Z2gg4pmq4pmqCgoxNDEKMDA6MDU6MzksNjM5IC0tPiAwMDowNTo0MCw0NTkK4pmq4pmqIFdob2Etb2gtb2gtb2hoIOKZquKZqgoKMTQyCjAwOjA1OjQwLDQ1OSAtLT4gMDA6MDU6NDMsMjU5CuKZquKZqiBBcmUgeW91IHJlYWNoaW5nIG91dCBmb3IgbWUg4pmq4pmqCgoxNDMKMDA6MDU6NDMsOTM5IC0tPiAwMDowNTo0Niw5NTkK4pmq4pmqIExpa2UgSSdtIHJlYWNoaW5nIG91dCBmb3IgeW91PyDimarimaoKCjE0NAowMDowNTo0Niw5NTkgLS0+IDAwOjA1OjQ4LDk1OQrimarimaogU28tb2gtb2gtb2gtb2hoIOKZquKZqgoKMTQ1CjAwOjA1OjQ5LDE2MCAtLT4gMDA6MDU6NTQsNDYwCuKZquKZqiBZZWFoLCB0byBteSBiYWJpZXMsIHN0YXkgc3Ryb25nIOKZquKZqgoKMTQ2CjAwOjA1OjU0LDcyMCAtLT4gMDA6MDU6NTYsODYwCuKZquKZqiBEYWRkeSdsbCBiZSBob21lIHNvb24g4pmq4pmqCgoxNDcKMDA6MDU6NTcsMzYwIC0tPiAwMDowNTo1OSwzNjAK4pmq4pmqIEFuZCB0byB0aGUgcmVzdCBvZiB0aGUgd29ybGQg4pmq4pmqCgoxNDgKMDA6MDU6NTksMzYwIC0tPiAwMDowNjowMiwxNjAK4pmq4pmqIEdvZCBnYXZlIHlvdSB0aGVtIHNob2VzIHRvIGZpdCB5b3Ug4pmq4pmqCgoxNDkKMDA6MDY6MDIsNTQwIC0tPiAwMDowNjowNCw3MjAK4pmq4pmqIFNvIHB1dCAnZW0gb24gYW5kIHdlYXIgJ2VtIOKZquKZqgoKMTUwCjAwOjA2OjA1LDY2MCAtLT4gMDA6MDY6MDksNDYwCuKZquKZqiBCZSB5b3Vyc2VsZiwgbWFuLCBiZSBwcm91ZCBvZiB3aG8geW91IGFyZSDimarimaoKCjE1MQowMDowNjoxMCwwNzkgLS0+IDAwOjA2OjEyLDQ1OQrimarimaogRXZlbiBpZiBpdCBzb3VuZHMgY29ybnkg4pmq4pmqCgoxNTIKMDA6MDY6MTIsNDU5IC0tPiAwMDowNjoxNCw2NTkK4pmq4pmqIERvbid0IGV2ZXIgbGV0IGFueW9uZSB0ZWxsIHlvdSDimarimaoKCjE1MwowMDowNjoxNCw2NjAgLS0+IDAwOjA2OjE2LDE2MArimarimaogWW91IGFpbid0IGJlYXV0aWZ1bCDimarimaoKCjE1NAowMDowNjoxNiwxNjAgLS0+IDAwOjA2OjE4LDE2MArimarimaogU28tb2gtb2gtb2gtb2hoIOKZquKZqgoK",
    "url":"https://www.youtube.com/watch?v=avLxcVkPgug",
    "singer":"Eminem",
    "genre":"hip-hop,rap",
    "name":"Beautiful",
    "language":"en",
    "miss_lyrics":[
        25,27,28,32
    ],
    "file_type":"srt"
}'

Get a song

curl --location --request GET 'ms.csie.org/api/game/songs/1'