Apple Music 歌词 API

API ID 13593

Apple Music歌词API返回带有音节级同步的分时结构化歌词LRC/eLRC/TTML格式的部分和多歌手元数据用于卡拉OK和播放器用户界面

100% 正常运行时间 1,241 ms 平均响应

API 文档

端点

请求
返回定时的 Apple Music 风格的歌词,传入曲目 ID 时,包括同步行、结构,以及 LRC/eLRC/TTML 格式
Endpoint ID: 30323
GET https://zylalabs.com/api/13593/apple+music+lyrics+api/30323/get+lyrics
输入参数

获取歌词 — 端点功能

对象 描述
id 必需 Enter the track ID

剩余免费测试请求:3 / 3。


输入参数

id
API 示例响应
JSON
{
    "type": "Syllable",
    "metadata": {
        "songwriters": [
            "Martin Gore"
        ],
        "language": "en",
        "leadingSilence": 0,
        "lyricOffset": null,
        "audioRole": null,
        "duration": 372901,
        "agents": [
            {
                "id": "v1",
                "type": "person"
            }
        ],
        "translations": [],
        "transliterations": []
    },
    "content": [
        {
            "timestamp": 25760,
            "endtime": 27767,
            "duration": 2007,
            "structure": "Verse",
            "text": [
                {
                    "text": "Words",
                    "timestamp": 25760,
                    "endtime": 26228,
                    "duration": 468,
                    "part": false
                },
                {
                    "text": "like",
                    "timestamp": 26228,
                    "endtime": 26640,
                    "duration": 412,
                    "part": false
                },
                {
                    "text": "violence",
                    "timestamp": 26640,
                    "endtime": 27767,
                    "duration": 1127,
                    "part": false
                }
            ],
            "background": false,
            "backgroundText": [],
            "oppositeTurn": false,
            "agent": "v1",
            "key": "L1",
            "sectionBegin": 25760,
            "sectionEnd": 42640
        },
        {
            "timestamp": 27776,
            "endtime": 29963,
            "duration": 2187,
            "structure": "Verse",
            "text": [
                {
                    "text": "Break",
                    "timestamp": 27776,
                    "endtime": 28400,
                    "duration": 624,
                    "part": false
                },
                {
                    "text": "the",
                    "timestamp": 28400,
                    "endtime": 28768,
                    "duration": 368,
                    "part": false
                },
                {
                    "text": "silence",
                    "timestamp": 28768,
                    "endtime": 29963,
                    "duration": 1195,
                    "part": false
                }
            ],
            "background": false,
            "backgroundText": [],
            "oppositeTurn": false,
            "agent": "v1",
            "key": "L2",
            "sectionBegin": 25760,
            "sectionEnd": 42640
        },
        {
            "timestamp": 30357,
            "endtime": 31938,
            "duration": 1581,
            "structure": "Verse",
            "text": [
                {
                    "text": "Come",
                    "timestamp": 30357,
                    "endtime": 30809,
                    "duration": 452,
                    "part": false
                },
                {
                    "text": "crashing",
                    "timestamp": 30809,
                    "endtime": 31275,
                    "duration": 466,
                    "part": false
                },
                {
                    "text": "in",
                    "timestamp": 31275,
                    "endtime": 31938,
                    "duration": 663,
                    "part": false
                }
            ],
            "background": false,
            "backgroundText": [],
            "oppositeTurn": false,
            "agent": "v1",
            "key": "L3",
            "sectionBegin": 25760,
            "sectionEnd": 42640
        },
        {
            "timestamp": 31949,
            "endtime": 34081,
            "duration": 2132,
            "structure": "Verse",
            "text": [
                {
                    "text": "Into",
                    "timestamp": 31949,
                    "endtime": 32580,
                    "duration": 631,
                    "part": false
                },
                {
                    "text": "my",
                    "timestamp": 32580,
                    "endtime": 32879,
                    "duration": 299,
                    "part": false
                },
                {
                    "text": "little",
                    "timestamp": 32879,
                    "endtime": 33336,
                    "duration": 457,
                    "part": false
                },
                {
                    "text": "world",
                    "timestamp": 33336,
                    "endtime": 34081,
                    "duration": 745,
                    "part": false
                }
            ],
            "background": false,
            "backgroundText": [],
            "oppositeTurn": false,
            "agent": "v1",
            "key": "L4",
            "sectionBegin": 25760,
            "sectionEnd": 42640
        },
        {
            "timestamp": 34173,
            "endtime": 36243,
            "duration": 2070,
            "structure": "Verse",
            "text": [
                {
                    "text": "Painful",
                    "timestamp": 34173,
                    "endtime": 34985,
                    "duration": 812,
                    "part": false
                },
                {
                    "text": "to",
                    "timestamp": 34985,
                    "endtime": 35438,
                    "duration": 453,
                    "part": false
                },
                {
                    "text": "me",
                    "timestamp": 35438,
                    "endtime": 36243,
                    "duration": 805,
                    "part": false
                }
            ],
            "background": false,
            "backgroundText": [],
            "oppositeTurn": false,
            "agent": "v1",
            "key": "L5",
            "sectionBegin": 25760,
            "sectionEnd": 42640
        },
        {
            "timestamp": 36252,
            "endtime": 38300,
            "duration": 2048,
            "structure": "Verse",
            "text": [
                {
                    "text": "Pierce",
                    "timestamp": 36252,
                    "endtime": 36904,
                    "duration": 652,
                    "part": false
                },
                {
                    "text": "right",
                    "timestamp": 36904,
                    "endtime": 37207,
                    "duration": 303,
                    "part": false
                },
                {
                    "text": "through",
                    "timestamp": 37207,
                    "endtime": 37543,
                    "duration": 336,
                    "part": false
                },
                {
                    "text": "me",
                    "timestamp": 37543,
                    "endtime": 38300,
                    "duration": 757,
                    "part": false
                }
            ],
            "background": false,
            "backgroundText": [],
            "oppositeTurn": false,
            "agent": "v1",
            "key": "L6",
            "sectionBegin": 25760,
            "sectionEnd": 42640
        },
        {
            "timestamp": 38310,
            "endtime": 40410,
            "duration": 2100,
            "structure": "Verse",
            "text": [
                {
                    "text": "Can't",
                    "timestamp": 38310,
                    "endtime": 38904,
                    "duration": 594,
                    "part": false
                },
                {
                    "text": "you",
                    "timestamp": 38904,
                    "endtime": 39218,
                    "duration": 314,
                    "part": false
                },
                {
                    "text": "understand?",
                    "timestamp": 39218,
                    "endtime": 40410,
                    "duration": 1192,
                    "part": false
                }
            ],
            "background": false,
            "backgroundText": [],
            "oppositeTurn": false,
            "agent": "v1",
            "key": "L7",
            "sectionBegin": 25760,
            "sectionEnd": 42640
        },
        {
            "timestamp": 40543,
            "endtime": 42640,
            "duration": 2097,
            "structure": "Verse",
            "text": [
                {
                    "text": "Oh,",
                    "timestamp": 40543,
                    "endtime": 41109,
                    "duration": 566,
                    "part": false
                },
                {
                    "text": "my",
                    "timestamp": 41109,
                    "endtime": 41424,
                    "duration": 315,
                    "part": false
                },
                {
                    "text": "little",
                    "timestamp": 41424,
                    "endtime": 41786,
                    "duration": 362,
                    "part": false
                },
                {
                    "text": "girl",
                    "timestamp": 41786,
                    "endtime": 42640,
                    "duration": 854,
                    "part": false
                }
            ],
            "background": false
        }
    ],
    "_note": "Response truncated for documentation purposes"
}
获取歌词 — 代码片段

curl --location --request GET 'https://zylalabs.com/api/13593/apple+music+lyrics+api/30323/get+lyrics?id=1174246889' --header 'Authorization: Bearer YOUR_API_KEY' 


    

API 访问密钥和身份验证

注册后,每个开发者都会被分配一个个人 API 访问密钥,这是一个唯一的字母和数字组合,用于访问我们的 API 端点。要使用 Apple Music 歌词 API 进行身份验证,只需在 Authorization 标头中包含您的 bearer token。

标头
标头 描述
授权 必需 应为 Bearer access_key. 订阅后,请查看上方的"您的 API 访问密钥"。

无长期承诺。随时升级、降级或取消。 免费试用包括最多 50 个请求。

(年度计费可节省 2 个月 🎉)

🚀 企业版套餐

起价
$ 10,000/年


  • 自定义数量
  • 自定义速率限制
  • 专业客户支持
  • 实时 API 监控

概览

Apple Music歌词API为需要超出纯文本的应用提供了可生产的歌词负载。对于给定的曲目,它返回一个结构化的JSON响应,结合了歌曲元数据、定时歌词内容和多种导出格式,这样您就可以支持卡拉OK视图、同步字幕或类似Apple Music的歌词屏幕,而无需自己重建计时逻辑。

元数据包括词曲作者、语言、时长、前导静默和可选的代理,代表歌手或角色(例如主唱与特色演唱)。核心内容数组将曲目分解为定时行,带有开始和结束时间戳、时长、歌曲结构标签,如引子、段落、合唱或桥段,以及逐字或音节级的范围,以便在音频播放时每个片段可以亮起。行还可以携带背景人声文本、反向标志、代理ID和节边界,以便实现更丰富的用户界面布局。

Apple Music 歌词 API FAQs

Apple Music 歌词 API 返回包含定时歌词、歌曲元数据和多种导出格式(LRC/eLRC/TTML)的结构化 JSON 数据。此数据旨在用于需要同步歌词的应用,例如卡拉 OK 或歌词显示。

响应中的关键字段包括“元数据”(包含词曲作者、语言、时长)“内容”(带时间戳的逐行文本、结构标签)和“代理”(代表歌手)每一行还包含带有时间细节的文本片段

响应数据被组织成一个“元数据”部分和一个“内容”数组 元数据提供了关于曲目的一般信息,而内容数组将歌词分解为定时段落,每个段落都有开始和结束时间戳以及结构标签

该端点提供信息,如词曲作者、语言、时长、前导静默以及带时间戳的详细歌词内容、结构标签(例如,诗节、合唱)和声乐代理数据,允许丰富的用户界面实现

该端点的主要参数是曲目ID,它是苹果音乐歌曲URL末尾的数字标识符。该ID对于检索相应的歌词和元数据至关重要

用户可以利用返回的数据在应用程序中创建同步歌词显示,例如卡拉OK界面或歌词屏幕。结构化的时间信息允许与音频播放精确同步

典型的用例包括开发卡拉OK应用程序 在音乐播放器中创建歌词显示功能 以及通过音乐播放时的同步歌词增强用户参与度

数据准确性通过来自Apple Music庞大的音乐库进行来源保持,该库经过质量检查以确保歌词和元数据正确且最新,为开发者提供可靠的内容

一般常见问题

Zyla API Hub 就像一个大型 API 商店,您可以在一个地方找到数千个 API。我们还为所有 API 提供专门支持和实时监控。注册后,您可以选择要使用的 API。请记住,每个 API 都需要自己的订阅。但如果您订阅多个 API,您将为所有这些 API 使用相同的密钥,使事情变得更简单。
价格以 USD(美元)、EUR(欧元)、CAD(加元)、AUD(澳元)和 GBP(英镑)列出。我们接受所有主要的借记卡和信用卡。我们的支付系统使用最新的安全技术,由 Stripe 提供支持,Stripe 是世界上最可靠的支付公司之一。如果您在使用卡片付款时遇到任何问题,请通过 [email protected]

此外,如果您已经以这些货币中的任何一种(USD、EUR、CAD、AUD、GBP)拥有有效订阅,该货币将保留用于后续订阅。只要您没有任何有效订阅,您可以随时更改货币。
定价页面上显示的本地货币基于您 IP 地址的国家/地区,仅供参考。实际价格以 USD(美元)为单位。当您付款时,即使您在我们的网站上看到以本地货币显示的等值金额,您的卡片对账单上也会以美元显示费用。这意味着您不能直接使用本地货币付款。
有时,银行可能会因其欺诈保护设置而拒绝收费。我们建议您首先联系您的银行,检查他们是否阻止了我们的收费。此外,您可以访问账单门户并更改关联的卡片以进行付款。如果这些方法不起作用并且您需要进一步帮助,请通过 [email protected]
价格由月度或年度订阅决定,具体取决于所选计划。
API 调用根据成功请求从您的计划中扣除。每个计划都包含您每月可以进行的特定数量的调用。只有成功的调用(由状态 200 响应指示)才会计入您的总数。这确保失败或不完整的请求不会影响您的月度配额。
Zyla API Hub 采用月度订阅系统。您的计费周期将从您购买付费计划的那一天开始,并在下个月的同一日期续订。因此,如果您想避免未来的费用,请提前取消订阅。
要升级您当前的订阅计划,只需转到 API 的定价页面并选择您要升级到的计划。升级将立即生效,让您立即享受新计划的功能。请注意,您之前计划中的任何剩余调用都不会转移到新计划,因此在升级时请注意这一点。您将被收取新计划的全部金额。
要检查您本月剩余多少 API 调用,请参考响应标头中的 "X-Zyla-API-Calls-Monthly-Remaining" 字段。例如,如果您的计划允许每月 1,000 个请求,而您已使用 100 个,则响应标头中的此字段将显示 900 个剩余调用。
要查看您的计划允许的最大 API 请求数,请检查 "X-Zyla-RateLimit-Limit" 响应标头。例如,如果您的计划包括每月 1,000 个请求,此标头将显示 1,000。
"X-Zyla-RateLimit-Reset" 标头显示您的速率限制重置之前的秒数。这告诉您何时您的请求计数将重新开始。例如,如果它显示 3,600,则意味着还有 3,600 秒直到限制重置。
是的,您可以随时通过访问您的账户并在账单页面上选择取消选项来取消您的计划。请注意,升级、降级和取消会立即生效。此外,取消后,您将不再有权访问该服务,即使您的配额中还有剩余调用。
为了让您有机会在没有任何承诺的情况下体验我们的 API,我们提供 7 天免费试用,允许您免费进行最多 50 次 API 调用。此试用只能使用一次,因此我们建议将其应用于您最感兴趣的 API。虽然我们的大多数 API 都提供免费试用,但有些可能不提供。试用在 7 天后或您进行了 50 次请求后结束,以先发生者为准。如果您在试用期间达到 50 次请求限制,您需要"开始您的付费计划"以继续发出请求。您可以在个人资料中的订阅 -> 选择您订阅的 API -> 定价标签下找到"开始您的付费计划"按钮。或者,如果您在第 7 天之前不取消订阅,您的免费试用将结束,您的计划将自动计费,授予您访问计划中指定的所有 API 调用的权限。请记住这一点以避免不必要的费用。
7 天后,您将被收取试用期间订阅的计划的全额费用。因此,在试用期结束前取消很重要。因忘记及时取消而提出的退款请求不被接受。
当您订阅 API 免费试用时,您可以进行最多 50 次 API 调用。如果您希望超出此限制进行额外的 API 调用,API 将提示您执行"开始您的付费计划"。您可以在个人资料中的订阅 -> 选择您订阅的 API -> 定价标签下找到"开始您的付费计划"按钮。
付款订单在每月 20 日至 30 日之间处理。如果您在 20 日之前提交请求,您的付款将在此时间范围内处理。
您可以通过我们的聊天渠道联系我们以获得即时帮助。我们始终在线,时间为上午 8 点至下午 5 点(EST)。如果您在该时间之后联系我们,我们将尽快回复您。此外,您可以通过 [email protected]

相关 API


您可能还喜欢