Add /track/lyricsUrl (signed RPC, method name "tracklyricsUrl") plus
the CDN document fetch through the offline choke point. Wire shapes
were validated against live captures (2026-06-10) and diverge from the
inferred yaml: numeric track_id in the step-1 envelope, CDN document
wrapped in {translation_langs, publishers, writers, original}, "wsync"
word-synced discriminator instead of "lsync" (per-word timestamps),
plain lines as objects, and miss = HTTP 404 error body mapped to a
typed Ok(None) instead of an error. Unit tests deserialize fixture
excerpts of the captures; examples/lyrics_probe.rs is the read-only
live probe used for the capture.
Also expose qbz_credentials::load_oauth_token_from_file so a stale
keyring entry cannot shadow the authoritative encrypted token file.
cc
90 lines
2.4 KiB
JSON
90 lines
2.4 KiB
JSON
{
|
|
"album_id": "gvcirtodd95kc",
|
|
"track_id": 266725027,
|
|
"translation_langs": [
|
|
"pt",
|
|
"de",
|
|
"fr",
|
|
"es",
|
|
"it"
|
|
],
|
|
"publishers": [
|
|
{
|
|
"copyright": "Kobalt Music Publishing Ltd., Universal Music Publishing Group",
|
|
"zones": [
|
|
"WW"
|
|
]
|
|
}
|
|
],
|
|
"writers": "Billie EIlish O'Connell, Finneas O'Connell",
|
|
"original": {
|
|
"type": "wsync",
|
|
"lang": "en",
|
|
"lines": [
|
|
{
|
|
"line": "Oh, mm-mm",
|
|
"words": [
|
|
{
|
|
"word": "Oh,",
|
|
"start": 1750,
|
|
"end": 2480
|
|
},
|
|
{
|
|
"word": "mm-mm",
|
|
"start": 2480,
|
|
"end": 4770
|
|
}
|
|
],
|
|
"start": 1750,
|
|
"end": 4770
|
|
},
|
|
{
|
|
"line": "",
|
|
"words": []
|
|
},
|
|
{
|
|
"line": "I could eat that girl for lunch",
|
|
"words": [
|
|
{
|
|
"word": "I",
|
|
"start": 5320,
|
|
"end": 5610
|
|
},
|
|
{
|
|
"word": "could",
|
|
"start": 5610,
|
|
"end": 5950
|
|
},
|
|
{
|
|
"word": "eat",
|
|
"start": 5950,
|
|
"end": 6170
|
|
},
|
|
{
|
|
"word": "that",
|
|
"start": 6170,
|
|
"end": 6400
|
|
},
|
|
{
|
|
"word": "girl",
|
|
"start": 6400,
|
|
"end": 6530
|
|
},
|
|
{
|
|
"word": "for",
|
|
"start": 6530,
|
|
"end": 6700
|
|
},
|
|
{
|
|
"word": "lunch",
|
|
"start": 6700,
|
|
"end": 6990
|
|
}
|
|
],
|
|
"start": 5320,
|
|
"end": 6990
|
|
}
|
|
]
|
|
}
|
|
}
|