letras de Apple Music API

API ID 13593

La API de letras de Apple Music devuelve letras de canciones estructuradas y sincronizadas a nivel de sílabas en formatos LRC/eLRC/TTML, secciones y metadatos de múltiples vocalistas para karaoke y la interfaz de usuario del reproductor

100% uptime 1,241 ms resp. promedio

Documentación de la API

Endpoints

Solicitud
Devuelve letras de estilo Apple Music cronometradas para una pista cuando pasas su ID de pista incluyendo líneas sincronizadas estructura y formatos LRC/eLRC/TTML
Endpoint ID: 30323
GET https://zylalabs.com/api/13593/apple+music+lyrics+api/30323/get+lyrics
PARÁMETROS DE ENTRADA

Obtener letras — Características del Endpoint

Objeto Descripción
id Requerido Enter the track ID

Pruebas gratuitas restantes: 3 de 3.


PARÁMETROS DE ENTRADA

id
RESPUESTA DE EJEMPLO DE LA 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"
}
Obtener letras — CÓDIGOS DE EJEMPLO

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


    

Clave de Acceso a la API y Autenticación

Después de registrarte, a cada desarrollador se le asigna una clave de acceso a la API personal, una combinación única de letras y dígitos proporcionada para acceder a nuestro endpoint de la API. Para autenticarte con el letras de Apple Music API simplemente incluye tu token de portador en el encabezado de Autorización.

Encabezados
Encabezado Descripción
Autorización Requerido Debería ser Bearer access_key. Consulta "Tu Clave de Acceso a la API" arriba cuando estés suscrito.

Sin compromiso a largo plazo. Mejora, reduce o cancela en cualquier momento. La Prueba Gratuita incluye hasta 50 solicitudes.

(Ahorra 2 meses pagando anualmente 🎉)

🚀 PLAN CORPORATIVO A MEDIDA

Comienza en
$ 10.000/Año


  • Volumen Personalizado
  • Límite de solicitudes personalizado
  • Soporte al Cliente Especializado
  • Monitoreo de API en Tiempo Real

Resumen

La API de letras de Apple Music ofrece cargas de letras listas para producción para aplicaciones que necesitan más que texto simple. Para una pista dada, devuelve una respuesta JSON estructurada que combina metadatos de la canción, contenido de letras temporizadas y múltiples formatos de exportación para que puedas potenciar vistas de karaoke, subtítulos sincronizados o pantallas de letras al estilo de Apple Music sin tener que reconstruir la lógica de temporización tú mismo.

Los metadatos incluyen compositores, idioma, duración, silencio inicial y agentes opcionales que representan a cantantes o roles (por ejemplo, vocales principales frente a vocales destacadas). La matriz de contenido central divide la pista en líneas temporizadas con marcas de tiempo de inicio y fin, duración, etiquetas de estructura de la canción como Intro, Verso, Estribillo o Puente, y intervalos a nivel de palabra o sílaba para que cada fragmento pueda iluminarse a medida que se reproduce el audio. Las líneas también pueden llevar texto vocal de fondo, banderas de giro opuestas, identificadores de agentes y límites de sección para diseños de interfaz de usuario más enriquecidos.

letras de Apple Music API FAQs

La API de letras de Apple Music devuelve datos JSON estructurados que incluyen letras de canciones sincronizadas, metadatos de canciones y múltiples formatos de exportación (LRC/eLRC/TTML). Estos datos están diseñados para aplicaciones que requieren letras sincronizadas para karaoke o pantallas de letras

Los campos clave en la respuesta incluyen "metadatos" (con compositores, idioma, duración), "contenido" (líneas temporizadas con marcas de tiempo, etiquetas de estructura) y "agentes" (que representan a los vocalistas) Cada línea también contiene fragmentos de texto con detalles de tiempo

Los datos de respuesta están organizados en una sección de "metadatos" y un arreglo de "contenido" Los metadatos proporcionan información general sobre la pista mientras que el arreglo de contenido descompone la letra en segmentos temporizados cada uno con marcas de tiempo de inicio y fin y etiquetas estructurales

El punto final proporciona información como compositores, idioma, duración, silencio principal y contenido lírico detallado con marcas de tiempo, etiquetas de estructura (por ejemplo, Verso, Estribillo) y datos de agentes vocales, lo que permite implementaciones ricas en la interfaz de usuario

El parámetro principal para el punto final es el ID de pista que es el identificador numérico que se encuentra al final de la URL de la canción de Apple Music Este ID es esencial para recuperar la letra y los metadatos correspondientes

Los usuarios pueden utilizar los datos devueltos para crear displays de letras sincronizados en aplicaciones como interfaces de karaoke o pantallas de letras La información de tiempo estructurada permite una sincronización precisa con la reproducción de audio

Los casos de uso típicos incluyen el desarrollo de aplicaciones de karaoke la creación de características de visualización de letras en reproductores de música y la mejora del compromiso del usuario con letras sincronizadas durante la reproducción de música

La precisión de los datos se mantiene a través de la obtención de la extensa biblioteca musical de Apple Music que pasa por controles de calidad para asegurar que las letras y los metadatos sean correctos y estén actualizados proporcionando contenido fiable para los desarrolladores

General FAQs

Zyla API Hub es como una gran tienda de APIs, donde puedes encontrar miles de ellas en un solo lugar. También ofrecemos soporte dedicado y monitoreo en tiempo real de todas las APIs. Una vez que te registres, puedes elegir qué APIs quieres usar. Solo recuerda que cada API necesita su propia suscripción. Pero si te suscribes a varias, usarás la misma clave para todas, lo que hace todo más fácil para ti.
Los precios se muestran en USD (dólar estadounidense), EUR (euro), CAD (dólar canadiense), AUD (dólar australiano) y GBP (libra esterlina). Aceptamos todas las principales tarjetas de débito y crédito. Nuestro sistema de pago utiliza la última tecnología de seguridad y está respaldado por Stripe, una de las compañías de pago más confiables del mundo. Si tienes algún problema para pagar con tarjeta, contáctanos en [email protected]

Además, si ya tienes una suscripción activa en cualquiera de estas monedas (USD, EUR, CAD, AUD, GBP), esa moneda se mantendrá para suscripciones posteriores. Puedes cambiar la moneda en cualquier momento siempre que no tengas suscripciones activas.
La moneda local que aparece en la página de precios se basa en el país de tu dirección IP y se proporciona solo como referencia. Los precios reales están en USD (dólar estadounidense). Cuando realices un pago, el cargo aparecerá en tu estado de cuenta en USD, incluso si ves el monto equivalente en tu moneda local en nuestro sitio web. Esto significa que no puedes pagar directamente en tu moneda local.
Ocasionalmente, un banco puede rechazar el cargo debido a sus configuraciones de protección contra fraude. Te sugerimos comunicarte con tu banco primero para verificar si están bloqueando nuestros cargos. También puedes acceder al Portal de Facturación y cambiar la tarjeta asociada para realizar el pago. Si esto no funciona y necesitas más ayuda, por favor contacta a nuestro equipo en [email protected]
Los precios se determinan mediante una suscripción recurrente mensual o anual, dependiendo del plan elegido.
Las llamadas a la API se descuentan de tu plan en base a solicitudes exitosas. Cada plan incluye una cantidad específica de llamadas que puedes realizar por mes. Solo las llamadas exitosas, indicadas por una respuesta con estado 200, se contarán en tu total. Esto asegura que las solicitudes fallidas o incompletas no afecten tu cuota mensual.
Zyla API Hub funciona con un sistema de suscripción mensual recurrente. Tu ciclo de facturación comenzará el día en que compres uno de los planes de pago, y se renovará el mismo día del mes siguiente. Así que recuerda cancelar tu suscripción antes si quieres evitar futuros cargos.
Para actualizar tu plan de suscripción actual, simplemente ve a la página de precios de la API y selecciona el plan al que deseas actualizarte. La actualización será instantánea, permitiéndote disfrutar inmediatamente de las funciones del nuevo plan. Ten en cuenta que las llamadas restantes de tu plan anterior no se transferirán al nuevo plan, por lo que debes considerar esto al actualizar. Se te cobrará el monto total del nuevo plan.
Para verificar cuántas llamadas a la API te quedan en el mes actual, revisa el campo 'X-Zyla-API-Calls-Monthly-Remaining' en el encabezado de la respuesta. Por ejemplo, si tu plan permite 1,000 solicitudes por mes y has usado 100, este campo mostrará 900 llamadas restantes.
Para ver el número máximo de solicitudes a la API que permite tu plan, revisa el encabezado de la respuesta 'X-Zyla-RateLimit-Limit'. Por ejemplo, si tu plan incluye 1,000 solicitudes por mes, este encabezado mostrará 1,000.
El encabezado 'X-Zyla-RateLimit-Reset' muestra el número de segundos hasta que tu límite se restablezca. Esto te indica cuándo tu conteo de solicitudes se reiniciará. Por ejemplo, si muestra 3,600, significa que faltan 3,600 segundos para que el límite se restablezca.
Sí, puedes cancelar tu plan en cualquier momento desde tu cuenta, seleccionando la opción de cancelación en la página de Facturación. Ten en cuenta que las actualizaciones, degradaciones y cancelaciones tienen efecto inmediato. Además, al cancelar ya no tendrás acceso al servicio, incluso si te quedaban llamadas en tu cuota.
Para darte la oportunidad de probar nuestras APIs sin compromiso, ofrecemos una prueba gratuita de 7 días que te permite realizar hasta 50 llamadas a la API sin costo. Esta prueba solo se puede usar una vez, por lo que recomendamos aplicarla a la API que más te interese. Aunque la mayoría de nuestras APIs ofrecen prueba gratuita, algunas pueden no hacerlo. La prueba finaliza después de 7 días o cuando realices 50 solicitudes, lo que ocurra primero. Si alcanzas el límite de 50 solicitudes durante la prueba, deberás "Iniciar tu Plan de Pago" para continuar haciendo solicitudes. Puedes encontrar el botón "Iniciar tu Plan de Pago" en tu perfil bajo Suscripción -> Elige la API a la que estás suscrito -> Pestaña de Precios. Alternativamente, si no cancelas tu suscripción antes del día 7, tu prueba gratuita finalizará y tu plan se cobrará automáticamente, otorgándote acceso a todas las llamadas a la API especificadas en tu plan. Ten esto en cuenta para evitar cargos no deseados.
Después de 7 días, se te cobrará el monto total del plan al que estabas suscrito durante la prueba. Por lo tanto, es importante cancelar antes de que finalice el periodo de prueba. No se aceptan solicitudes de reembolso por olvidar cancelar a tiempo.
Cuando te suscribes a una prueba gratuita de una API, puedes realizar hasta 50 llamadas. Si deseas realizar más llamadas después de este límite, la API te pedirá que "Inicies tu Plan de Pago". Puedes encontrar el botón "Iniciar tu Plan de Pago" en tu perfil bajo Suscripción -> Elige la API a la que estás suscrito -> Pestaña de Precios.
Las Órdenes de Pago se procesan entre el día 20 y el 30 de cada mes. Si envías tu solicitud antes del día 20, tu pago será procesado dentro de ese período.
Puedes contactarnos a través de nuestro canal de chat para recibir asistencia inmediata. Siempre estamos en línea de 8 a. m. a 5 p. m. (EST). Si nos contactas fuera de ese horario, te responderemos lo antes posible. Además, puedes escribirnos por correo electrónico a [email protected]

APIs Relacionadas


También te puede interesar