Documentación

Mubert API de música con IA

Versión 3.0

¡Bienvenido a la API de música con IA de Mubert v3!

Esta API permite integrar funciones de generación de pistas y streaming de música en aplicaciones, juegos o servicios. Para empezar a usar la API, solicita tus claves de API al equipo de Mubert (a través de [email protected]).

La API REST se comunica exclusivamente en JSON sobre SSL (HTTPS). Todas las URL de los puntos finales comienzan con https://music-api.mubert.com/api/v3/ (excepto las URL de transmisión, comienzan con https://stream.mubert.com/b2b/v3/)

Los parámetros deben serializarse en JSON y enviarse en el cuerpo de la solicitud.
Debe usar la designación del tipo de medio de application/json.

Hay dos directorios principales en la API:

  • serviciohttps://music-api.mubert.com/api/v3/service/ — utilizado por la empresa para administrar licencias y clientes.

  • públicohttps://music-api.mubert.com/api/v3/public/ — utilizado por los clientes para recibir funciones de transmisión y pistas.

Install Mubert Skill

npx skills add MubertAI/skills

Autenticación

La API REST acepta autenticación basada en claves de API.

Para empresas

curl -X POST "https://music-api.mubert.com/api/v3/service/*" \
-H "Content-Type: application/json" \
-H "company-id: COMPANY_ID" \
-H "license-token: LICENSE_TOKEN"

Para clientes

curl -X POST "https://music-api.mubert.com/api/v3/public/*" \
-H "Content-Type: application/json" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN"

La API REST se comunica exclusivamente en JSON sobre SSL (HTTPS). Todas las URL de los puntos finales comienzan con https://music-api.mubert.com/api/v3/ (excepto las URL de transmisión, comienzan con https://stream.mubert.com/b2b/v3/)

Para el directorio de servicio use un par de COMPANY_ID y LICENSE_TOKEN y para el directorio público use un par de CUSTOMER_ID y ACCESS_TOKEN.

Debe reemplazar COMPANY_ID / LICENSE_TOKEN / CUSTOMER_ID / CUSTOMER_TOKEN con sus tokens reales.

Licencia

Para su comodidad, hemos creado este sistema para que una empresa pueda tener varias licencias con sus propias capacidades y límites. Está diseñado para que pueda separar a los usuarios entre distintas licencias. De forma predeterminada, la empresa tiene una sola licencia y, en la mayoría de los casos, esto es suficiente.

Puedes obtener información sobre tus licencias y límites.

Usa modelo licencias con la solicitud GET

curl -X GET "https://music-api.mubert.com/api/v3/service/licenses" \
-H "company-id: COMPANY_ID" \
-H "license-token: LICENSE_TOKEN"

También puedes obtener información sobre una licencia específica

curl -X GET "https://music-api.mubert.com/api/v3/service/licenses/LICENSE_ID" \
-H "company-id: COMPANY_ID" \
-H "license-token: LICENSE_TOKEN"

Respuesta

200 OK

{
    "data": {
        "id": "9e113460-1125-4c09-83c0-94a3b36b0bf3",
        "company_id": "9e1133df-0ac2-4824-bb1a-827fb0698380",
        "type": "pagado",
        "status": "activo",
        "webhook_url": "https://b2b3-webhook.mubert.com/",
        "webhook_enabled": true,
        "track_expiration_time": 900,
        "allow_all_features": true,
        "features": [
            "track",
            "ttm",
            "itm",
            "streaming"
        ],
        "allow_all_bitrates": true,
        "bitrates": [
            32,
            96,
            128,
            192,
            256,
            320
        ],
        "default_bitrate": 128,
        "allow_all_intensities": true,
        "intensities": [
            "bajo",
            "medio",
            "alto"
        ],
        "default_intensity": "alto",
        "allow_all_formats": true,
        "track_formats": [
            "mp3",
            "wav"
        ],
        "default_format": "mp3",
        "allow_all_modes": true,
        "track_modes": [
            "track",
            "jingle",
            "loop",
            "mix"
        ],
        "default_mode": "track",
        "expired_at": "2025-02-01T00:00:00.000000Z",
        "license_limits": {
            "id": "9e113460-140f-409d-a5e8-c755bd6cf7f2",
            "license_id": "9e113460-1125-4c09-83c0-94a3b36b0bf3",
            "max_track_duration": 1500,
            "max_concurrent_track_generations": -1,
            "total_tracks_count": 5,
            "total_tracks_count_limit": -1,
            "total_tracks_duration": 306,
            "total_tracks_duration_limit": -1,
            "monthly_tracks_count": 5,
            "monthly_tracks_count_limit": -1,
            "monthly_tracks_duration": 306,
            "monthly_tracks_duration_limit": -1,
            "daily_tracks_count": 0,
            "daily_tracks_count_limit": -1,
            "daily_tracks_duration": 0,
            "daily_tracks_duration_limit": -1,
            "total_streaming_duration": 70,
            "total_streaming_duration_limit": -1,
            "monthly_streaming_duration": 70,
            "monthly_streaming_duration_limit": -1,
            "daily_streaming_duration": 0,
            "daily_streaming_duration_limit": -1,
            "customers_count": 2,
            "customers_count_limit": 5,
            "customer_max_concurrent_track_generations": -1,
            "customer_total_tracks_count_limit": -1,
            "customer_total_tracks_duration_limit": -1,
            "customer_monthly_tracks_count_limit": -1,
            "customer_monthly_tracks_duration_limit": -1,
            "customer_daily_tracks_count_limit": 5,
            "customer_daily_tracks_duration_limit": -1,
            "customer_total_streaming_duration_limit": -1,
            "customer_monthly_streaming_duration_limit": 0,
            "customer_daily_streaming_duration_limit": -1,
            "daily_reset_at": "2025-01-01T00:00:00.000000Z",
            "monthly_reset_at": "2025-01-01T00:00:00.000000Z"
        }
    }
}

Este es el modelo de licencia. Aquí puedes encontrar las características de la licencia, los parámetros predeterminados, los límites y las estadísticas.

Puede notar -1 en algunos valores límite, lo que significa que un límite no está establecido (ilimitado).

Webhooks

En esta versión de la API, puedes añadir un webhook a la licencia a través del cual recibirás notificaciones sobre el estado del proceso de generación de las pistas.

Use PUT método para configurar un webhook

curl -L -X PUT "https://music-api.mubert.com/api/v3/service/licenses/LICENSE_ID" \
-H "company-id: COMPANY_ID" \
-H "license-token: LICENSE_TOKEN" \
-H "Content-Type: application/json" \
-d "{
    \"webhook_url\": \"https://YOUR_WEBHOOK_URL\",
    \"webhook_enabled\": true
}"

recibirá un modelo de licencia actualizado.

Después de añadir el webhook, empezarás a recibir mensajes con modelos de seguimiento. Así:

{
    "id": "TRACK_ID",
    "session_id": "SESSION_ID",
    "parent_session_id": null,
    "playlist_index": "1.0.0",
    "prompt": null,
    "duration": 61,
    "intensity": "high",
    "mode": "track",
    "key": "A#",
    "bpm": 120,
    "generations": [
    {
        "session_id": "GENERATION_SESSION_ID",
        "format": "mp3",
        "bitrate": 128,
        "status": "completado",
        "generated_at": "2025-01-01T00:00:00.000000Z",
        "expired_at": "2025-01-02T00:00:00.000000Z",
        "created_at": "2025-01-01T00:00:00.000000Z",
        "url": "YOUR_TRACK_LINK"
    }]
}

Puede encontrar más información sobre el modelo de pista en la sección Generación de pistas.

Registro de usuario

Cada usuario final de su producto (servicio) se identifica mediante un par único de tokens: customer-id y access-token. Estos tokens son necesarios para acceder al contenido y las funciones.

Haz tantos clientes como usuarios quieras que reciban música.

Para crearlo, use el modelo customers con la solicitud POST descrita a continuación.

curl -X POST "https://music-api.mubert.com/api/v3/service/customers" \
-H "Content-Type: application/json" \
-H "company-id: COMPANY_ID" \
-H "license-token: LICENSE_TOKEN" \
-d "{
    \"custom_id\": \"YOUR_CUSTOM_ID\"
}"

Parámetros de entrada

  • custom_id — su ID interno único de cliente, que puede consistir en letras latinas, números y caracteres especiales permitidos: ".", "_", "@", "-"' y no debe tener más de 255 caracteres.

  • company-id y license-token — proporcionados por el equipo de Mubert

Responde con una respuesta 200 OK y una respuesta JSON si tiene éxito.

Hay modelo de cliente

{
    "data": {
        "id": "CUSTOMER_ID",
        "company_id": "COMPANY_ID",
        "custom_id": "YOUR_CUSTOM_ID",
        "status": "activo",
        "access": {
            "id": "ACCESS_ID",
            "customer_id": "CUSTOMER_ID",
            "license_id": "LICENSE_ID",
            "token": "ACCESS_TOKEN",
            "expired_at": "2025-02-01T00:00:00.000000Z",
            "customer_limits": {
                "id": "CUSTOMER_LIMITS_ID",
                "customer_id": "CUSTOMER_ID",
                "license_id": "LICENSE_ID",
                "max_concurrent_track_generations": -1,
                "total_tracks_count": 0,
                "total_tracks_count_limit": -1,
                "total_tracks_duration": 0,
                "total_tracks_duration_limit": -1,
                "monthly_tracks_count": 0,
                "monthly_tracks_count_limit": -1,
                "monthly_tracks_duration": 0,
                "monthly_tracks_duration_limit": -1,
                "daily_tracks_count": 0,
                "daily_tracks_count_limit": 5,
                "daily_tracks_duration": 0,
                "daily_tracks_duration_limit": -1,
                "total_streaming_duration": 0,
                "total_streaming_duration_limit": -1,
                "monthly_streaming_duration": 0,
                "monthly_streaming_duration_limit": -1,
                "daily_streaming_duration": 0,
                "daily_streaming_duration_limit": -1,
                "daily_reset_at": null,
                "monthly_reset_at": null
            }
        }
    }
}

Aquí:

  • customer-id = data->access->customer_id (CUSTOMER_ID)

  • access-token = data->access->access_token (ACCESS_TOKEN)

  • daily_reset_at, monthly_reset_at — fecha nula

También puedes ver los límites personales de los clientes y las estadísticas.

Gestión de usuarios

Información del usuario

Puedes obtener información sobre todos tus usuarios con paginación.

Utilice la solicitud GET con el modelo customers

curl -X GET "https://music-api.mubert.com/api/v3/service/customers" \
-H "company-id: COMPANY_ID" \
-H "license-token: LICENSE_TOKEN"

La respuesta contiene una lista de modelos de clientes.

Utiliza la paginación para ver todos los datos.

curl -L -X GET "https://music-api.mubert.com/api/v3/service/customers?limit=10&offset=2" -H "company-id: COMPANY_ID" -H "license-token: LICENSE_TOKEN"

También puedes obtener información sobre un cliente específico usando su identificador personalizado o de cliente. Así:

curl -X GET "https://music-api.mubert.com/api/v3/service/customers/CUSTOMER_ID" \
-H "company-id: COMPANY_ID" \
-H "license-token: LICENSE_TOKEN"

O

curl -X GET "https://music-api.mubert.com/api/v3/service/customers/custom-id/YOUR_CUSTOM_ID" \
-H "company-id: COMPANY_ID" \
-H "license-token: LICENSE_TOKEN"

Las respuestas también contienen el modelo del cliente.

Eliminación de usuario

Utilice la solicitud DELETE con el modelo customers

curl -X DELETE "https://music-api.mubert.com/api/v3/service/customers/CUSTOMER_ID" \
-H "company-id: COMPANY_ID" \
-H "license-token: LICENSE_TOKEN"

Responde con una respuesta 204 Sin contenido si tiene éxito.

Lista de canales

Información del usuario

Tanto la transmisión en streaming como la generación de pistas requieren que seleccione un canal de música.

Use GET en el modelo playlists para obtener una lista de todas las categorías, grupos, canales y sus índices de lista de reproducción disponibles.

curl -X GET "https://music-api.mubert.com/api/v3/public/playlists" \ 
-H "customer-id: CUSTOMER_ID" \ 
-H "access-token: ACCESS_TOKEN"

Respuesta 200 OK

{
    "data": [
        {
            "playlist_index": "3.0.0",
            "category": "Calma",
            "group": "Ambiente",
            "channel": "Meditación",
            "params": [
                {
                    "bpm": {
                        "gt": 45,
                        "lt": 83
                    },
                    "keys": [
                        "Cm",
                        "C",
                        "C#m",
                        "C#",
                        "Dm",
                        "D",
                        "D#m",
                        "D#",
                        "Em",
                        "E",
                        "Fm",
                        "F",
                        "F#m",
                        "F#",
                        "Gm",
                        "G",
                        "G#m",
                        "G#",
                        "Am",
                        "A",
                        "A#m",
                        "A#",
                        "Bm",
                        "B"
                    ]
                }
            ]
        },
        {
            "playlist_index": "3.0.1",
            "category": "Calma",
            "group": "Ambiente",
            "channel": "Om",
            "params": [...]
        },
        {
            "playlist_index": "3.0.2",
            "category": "Calma",
            "group": "Ambiente",
            "channel": "Zen",
            "params": [...]
        },
        .
        .
        .
}

Aquí también puedes ver el rango de BPM y la lista de tonalidades. Estos valores están disponibles para la generación de pistas.

Tenga en cuenta que el parámetro bpm tiene un rango disponible dentro del cual puede generar en una categoría específica.

gt significa mayor que, lt significa menor que.

Streaming de música

Antes de empezar a usar la función de streaming, asegúrate de que esté habilitada en el acuerdo de contrato. También puedes encontrarla en la información de tu licencia. Para obtener un enlace a streaming, usa la solicitud de abajo

Solicitud

curl -X GET "https://music-api.mubert.com/api/v3/public/streaming/get-link" \
-H "Content-Type: application/json" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN" \
-d "{
  \"playlist_index\": \"1.0.0\",
  \"bitrate\": 320,
  \"intensity\": \"media\",
  \"type\": \"http\"
}"

Respuesta 200 OK

{
    "data": {
        "link": "https://stream.mubert.com/b2b/v3?customer_id=CUSTOMER_ID&access_token=ACCESS_TOKEN&playlist=1.0.0&bitrate=320&intensity=medium"
    }
}

Parámetros

  • playlist_index (obligatorio) — índice del canal

  • bitrate (opcional) — calidad del sonido medida en kbps

  • intensity (opcional) — la complejidad del arreglo, tocan simultáneamente menos o más instrumentos

  • type (opcional) — tipo de protocolo de transmisión

Valores posibles para bitrate : 32, 96, 128, 192, 256, 320

Valores posibles para intensity: low, medium, high

Valores posibles para type : http, webrtc

Si se omiten los parámetros opcionales o contienen valores incorrectos, se aplican los parámetros predeterminados con bitrate=128, intensity=high y type=http.

gt significa mayor que, lt significa menor que.

Modo de repetición

Usa la URL set-loop-state para repetir la parte más reciente de la composición musical (o desactivar el modo de repetición).

Parámetros

  • loop (obligatorio) — valores posibles: off, on

  • time (opcional) — establezca igual al tiempo de reproducción actual del flujo en segundos (desde el inicio de la sesión) para mejorar la experiencia de usuario

Solicitud

curl -X POST "https://music-api.mubert.com/api/v3/public/streaming/set-loop-state" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d "{
  \"loop\": \"on\",
  \"time\": 0
}"

Respuesta

Responde con un 204 Sin contenido si tiene éxito.

Intensidad

La URL set-intensity permite cambiar la complejidad del arreglo. Los distintos ajustes preestablecidos consisten en que suenen simultáneamente menos o más instrumentos. Las intensidades cambian sin interrupciones, sin romper la secuencia.

Valores posibles para la intensidad: low, medium, high

Solicitud

curl -X POST "https://music-api.mubert.com/api/v3/public/streaming/set-intensity" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d "{
  \"intensity\": \"medium\"
}"

Respuesta

Responde con un 204 Sin contenido si tiene éxito.

Reinicio de generación

Para reiniciar la transmisión, de modo que una pista (melodía) diferente comience a reproducirse con la misma url, use el método POST con streaming/restart.

Solicitud

curl -X POST "https://music-api.mubert.com/api/v3/public/streaming/restart" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN"

Respuesta

Responde con un 204 Sin contenido si tiene éxito.

Generación de pistas

Antes de empezar a usar la función de generación de pistas, asegúrate de que esté habilitada en el acuerdo del contrato. También puedes encontrarla en la información de tu licencia.

Con esta API puedes crear pistas personalizadas por encargo. Cada pista es una composición musical exclusiva disponible para que la descargues mediante un enlace especial.

Para interactuar con las pistas, use el modelo tracks.

Crear pista

Usa POST para crear una pista con un conjunto de las características seleccionadas.

Solicitud

curl -X POST "https://music-api.mubert.com/api/v3/public/tracks" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d "{
    \"playlist_index\": \"1.0.0\",
    \"duration\": 60,
    \"bitrate\": 128,
    \"format\": \"wav\",
    \"intensity\": \"alta\",
    \"mode\": \"canción\"
}"

Parámetros

  • playlist_index (obligatorio) - índice de canal

  • duration (obligatorio) - duración de la pista en segundos

  • format (opcional) - mp3 o wav

  • bitrate (opcional) - calidad de sonido medida en kbps

  • intensity (opcional) - complejidad del arreglo, hay menos o más instrumentos sonando simultáneamente

  • mode (opcional) — tipo de composición (track, loop, jingle, mix)

Valores posibles para bitrate : 32, 96, 128, 192, 256, 320

Valores posibles para intensity: low, medium, high

Si se omiten los parámetros opcionales o contienen valores incorrectos, entonces se aplican los parámetros predeterminados con format=mp3, bitrate=128 , intensity=high, mode=track

track - significa una pista con una estructura común con intro, drops, breaks y outro

loop - corresponde a una pista que puede reproducirse en bucle

jingle - es ideal para contenido musical de hasta 40 segundos de duración – son pistas cortas y terminadas con una estructura fija y lógica

mix - imita el trabajo del DJ: las pistas se suceden una tras otra, fusionándose armónicamente

playlist_index es un índice universal de canal en el formato “0.0.0”, compuesto por category_id.group_id.channel_id. Omite los últimos dígitos para combinar varios canales.

Por ejemplo: playlist=0.0 reproducirá todos los canales dentro del grupo “Calm”; playlist=0 reproducirá toda la categoría “Moods”.

Respuesta

{
    "data": {
        "id": "TRACK_ID",
        "session_id": "SESSION_ID",
        "playlist_index": "1.0.0",
        "prompt": null,
        "bitrate": 128,
        "duration": 61,
        "intensity": "alta",
        "mode": "pista",
        "key": null,
        "bpm": null,
        "generations": [
            {
                "session_id": "GENERATION_SESSION_ID",
                "format": "mp3",
                "bitrate": 128,
                "status": "procesando",
                "generated_at": null,
                "expired_at": null,
                "created_at": "2025-01-01T00:00:00.000000Z",
                "url": null
            }
        ]
    }
}

Aquí:

  • prompt, key, bpm, url — cadena anulable

  • generated_at, expired_at — fecha anulable

Para comprobar si se ha creado una pista, use el modelo tracks con TRACK_ID. Así:

Solicitud

curl -X GET "https://music-api.mubert.com/api/v3/public/tracks/TRACK_ID" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN"

O añade un webhook a tu licencia y recibe mensajes cuando termine.

Texto-a-Música

Puedes crear una pista con una indicación de texto y un conjunto de características seleccionadas. Este método es similar al anterior, pero en lugar de elegir un canal, nos envías un mensaje de texto. Este pasa a la red neuronal transformadora con una base de etiquetas, y los conjuntos de sonidos correspondientes se seleccionan automáticamente. Después de eso, nuestro motor de composición crea una pista y te devuelve el archivo.

Antes de empezar a usarlo, asegúrate de que esté habilitado según el contrato.

Solicitud

curl -X POST "https://music-api.mubert.com/api/v3/public/tracks" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d "{
    \"prompt\": \"TU_TEXTO_PROMPT\",
    \"duration\": 60,
    \"bitrate\": 128,
    \"mode\": \"track\",
    \"intensity\": \"medium\",
    \"format\": \"mp3\"
}"

Parámetros

  • prompt (obligatorio) — tu indicación de texto en inglés, 200 caracteres máximo

  • duration (obligatorio) — duración de la pista en segundos

  • format (opcional) — mp3 o wav

  • bitrate (opcional) — calidad del sonido medida en kbps

  • intensity (opcional) — complejidad del arreglo, menos o más instrumentos suenan simultáneamente

  • mode (opcional) — tipo de composición (track, loop)

Valores posibles para bitrate : 32, 96, 128, 192, 256, 320

Valores posibles para intensity: low, medium, high

prompt — mensaje de texto que puedes recibir de la entrada de tu usuario o de cualquier otra entrada conectada (modelos de lenguaje, imagen a texto, mecánicas de juego, etc.)

track — significa una pista con una estructura común con introducción, drops, pausas y outro

loop — significa una pista que puede ponerse en bucle

Si se omiten parámetros opcionales o contienen valores incorrectos, se aplican los parámetros predeterminados con format=mp3, bitrate=128 , intensity=high, mode=track

Respuesta

Responde con un 204 Sin contenido si tiene éxito.

Intensidad

La URL set-intensity permite cambiar la complejidad del arreglo. Los distintos ajustes preestablecidos consisten en que suenen simultáneamente menos o más instrumentos. Las intensidades cambian sin interrupciones, sin romper la secuencia.

Valores posibles para la intensidad: low, medium, high

Solicitud

curl -X POST "https://music-api.mubert.com/api/v3/public/streaming/set-intensity" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d "{
  \"intensity\": \"medium\"
}"

Respuesta

Responde con un 204 Sin contenido si tiene éxito.

Reinicio de generación

Para reiniciar la transmisión, de modo que una pista (melodía) diferente comience a reproducirse con la misma url, use el método POST con streaming/restart.

Solicitud

curl -X POST "https://music-api.mubert.com/api/v3/public/streaming/restart" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN"

Respuesta

Responde con un 204 Sin contenido si tiene éxito.

Imagen-2-Música

Puedes crear una pista con una imagen. Antes de empezar a usarla, asegúrate de que esté habilitada según el acuerdo del contrato.

Solicitud

curl -X POST "https://music-api.mubert.com/api/v3/public/tracks" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN" \
-F "image=@\"/filepath\"" \
-F "duration=\"60\"" \
-F "bitrate=\"128\"" \
-F "mode=\"track\"" \
-F "intensity=\"medium\"" \
-F "format=\"mp3\""

Parámetros

  • image (obligatorio) — tu imagen en formato jpeg/png, máximo 10 MB

  • duration (obligatorio) — duración de la pista en segundos

  • format (opcional) — mp3 o wav

  • bitrate (opcional) — calidad de sonido medida en kbps

  • intensity (opcional) — complejidad del arreglo, se interpretan simultáneamente menos o más instrumentos

  • mode (opcional) — tipo de composición (track, loop)

Valores posibles para bitrate : 32, 96, 128, 192, 256, 320

Valores posibles para intensity: low, medium, high

track — significa una pista con una estructura común con intro, drops, breaks y outro

loop — significa una pista que se puede reproducir en bucle

Si se omiten los parámetros opcionales o contienen valores incorrectos, entonces se aplican los parámetros predeterminados con format=mp3, bitrate=128 , intensity=high, mode=track

Generación de BPM/tonalidad

Puedes agregar bpm y clave a los parámetros de generación de playlist_index.

Solicitud

curl -X POST "https://music-api.mubert.com/api/v3/public/tracks" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d "{
    \"playlist_index\": \"6.1.4\",
    \"duration\": 60,
    \"bitrate\": 320,
    \"format\": \"mp3\",
    \"intensity\": \"high\",
    \"mode\": \"track\",
    \"bpm\":112,
    \"key\":\"D\"
}"

Respuesta

Responde 200 OK con el modelo track si tiene éxito.

Generar similar

Puedes generar una pista similar a una existente. No será exactamente la misma pista, pero sí similar.

Usa POST con https://music-api.mubert.com/api/v3/public/tracks/TRACK_ID/similar

Solicitud

curl -L -X POST "https://music-api.mubert.com/api/v3/public/tracks/TRACK_ID/similar" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d "{
    \"duration\": 90,
    \"bitrate\": 192,
    \"format\": \"mp3\",
    \"intensity\": \"high\",
    \"mode\": \"track\"
}"

Edición de pista

Puedes cambiar algunos parámetros de una pista existente.

Solicitud

curl -X POST "https://music-api.mubert.com/api/v3/public/tracks/TRACK_ID/edit" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d "{
    \"duration\": 90,
    \"bitrate\": 256,
    \"format\": \"mp3\",
    \"intensity\": \"high\"
}"

Respuesta 200 OK

{
    "data": {
        "id": "TRACK_ID",
        "session_id": "SESSION_ID",
        "playlist_index": null,
        "prompt": null,
        "duration": 90,
        "intensity": "alto",
        "mode": "pista",
        "key": null,
        "bpm": null,
        "generations": [
            {
                "session_id": "GENERATION_SESSION_ID",
                "format": "mp3",
                "bitrate": 256,
                "status": "procesando",
                "generated_at": null,
                "expired_at": null,
                "created_at": "2025-01-01T00:00:00.000000Z",
                "url": null
            }
        ]
    }
}

Además, puedes sustituir parte de la pista. Cada pista consta de instrumentos. La pista puede contener instrumentos como:

BATERÍAS, PERCUSIONES, HI-HATS, PALMAS, BAJO, MEDIOS, LEADS, EFECTOS, VOCES, PADS, ASCENSO, IMPACTO

Estos instrumentos pueden combinarse en stems como

Entonces, estos stems contienen los siguientes instrumentos:

  • DRUMS incluye DRUMS, PERCS, HATS, CLAPS

  • BASS incluye BASS

  • LEADS incluye MIDS, LEADS, PADS

  • VOCALS incluye VOCALS

  • FX incluye FX, RISER, IMPACT

Puede reemplazar tanto el instrumento como el vástago. Reemplazar instrumento(s):

Reemplazar instrumento(s):

curl -X POST "https://music-api.mubert.com/api/v3/public/tracks/TRACK_ID/edit" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d "{
    \"replace_instruments\":[\"HATS\"]
}"

Reemplazar tallos:

curl -X POST "https://music-api.mubert.com/api/v3/public/tracks/TRACK_ID/edit" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d "{
    \"replace_stems\":[\"DRUMS\"]
}"

Eliminar instrumento(s):

curl -X POST "https://music-api.mubert.com/api/v3/public/tracks/TRACK_ID/edit" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d "{
    \"delete_instruments\":[\"PADS\", \"PERCS\"]
}"

Eliminar tallos:

curl -X POST "https://music-api.mubert.com/api/v3/public/tracks/TRACK_ID/edit" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d "{
    \"delete_stems\":[\"BASS\", \"FX\"]
}"

Todas estas solicitudes reciben el modelo track.

Lista de pistas

Para obtener la lista de pistas use GET con el modelo tracks.

curl -X GET "https://music-api.mubert.com/api/v3/public/tracks" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN"

La respuesta contiene una lista de modelos de seguimiento.

Usa la paginación para ver todos los datos.

También puedes obtener información sobre una pista específica.

curl -X GET "https://music-api.mubert.com/api/v3/public/tracks/TRACK_ID" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN"

La respuesta contiene el modelo de seguimiento.

Seguimiento de la tienda

La función de almacenamiento de pistas te permite crear un buffer con pistas pregeneradas. Funciona muy bien cuando quieres obtener una pista única con la duración, el modo y el formato exactos, sin respuestas largas. Creamos un bucket en la nube y configuramos un generador dedicado para acelerar el proceso de recepción de archivos. Mubert crea varias pistas con un conjunto de parámetros y las coloca en el bucket. Cuando usas uno de estos archivos, comienza una generación de pista similar para llenar el buffer. La cantidad de archivos en el bucket depende de la carga promedio de tu servicio. Para calcular esto, también necesitamos obtener de ti una lista de los siguientes parámetros: modo, duración, bitrate, intensidad, formato. Selecciona los valores de estos parámetros y envía un correo electrónico a nuestro gerente para continuar creando el bucket. Además, puedes elegir las listas de reproducción que quieres pre-generar; por defecto, usamos todos los canales.

Recibirás automáticamente la pista del almacén de pistas cuando los parámetros de la solicitud de la pista coincidan con los parámetros del almacén. Antes de empezar a usar el almacén de pistas, asegúrate de que esté habilitado en el contrato.

Biblioteca de música Mubert

Hemos preparado una biblioteca de más de 12.000 pistas creadas con la inteligencia artificial de Mubert y seleccionadas por nuestros editores musicales.

Parámetros

Usa el método GET para ver estadísticas de la biblioteca de música y los parámetros por los que puedes filtrar las pistas.

Solicitud

curl -X GET "https://music-api.mubert.com/api/v3/public/music-library/params" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN"

Respuesta

[
    {
        "param": "activities",
        "values": [
            {
                "value": "Mínimo 170",
                "tracks_count": 80
            },
            {
                "value": "Encantador",
                "tracks_count": 40
            },
            {
                "value": "Meditación",
                "tracks_count": 108
            },
            .
            .
            .
        ]
    },
    {
        "param": "bpm",
        "values": [
            {
                "value": "100",
                "tracks_count": 684
            },
            {
                "value": "105",
                "tracks_count": 13
            },
            {
                "value": "108",
                "tracks_count": 186
            },
            .
            .
            .
        ]
    },
    .
    .
    .
]

También puedes obtener información sobre un parámetro específico. Por ejemplo: BPM 120

curl -X GET "https://music-api.mubert.com/api/v3/public/music-library/params?bpm=120" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN"

Respuesta

{
        "param": "temas",
        "values": [
            {
                "value": "Corporativo",
                "tracks_count": 315
            },
            {
                "value": "Podcast",
                "tracks_count": 12
            },
            .
            .
            .
        ]
    },
    {
        "param": "géneros",
        "values": [
            {
                "value": "Nu Disco",
                "tracks_count": 138
            },
            {
                "value": "Folk",
                "tracks_count": 27
            },
            .
            .
            .
        ]
    },

Esto significa que puedes encontrar 315 pistas con BPM 120 en el tema "Сorporate", 12 pistas en el tema "Podcast", 138 pistas en el género "Nu Disco" y 27 pistas en el género "Folk".

Puede especificar varios parámetros y luego se les aplicará el AND lógico.

Solicitud

curl -X GET "https://music-api.mubert.com/api/v3/public/music-library/params?bpm=120&genres=Nu%20Disco" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN"

Respuesta

[
    {
        "param": "bpm",
        "values": [
            {
                "value": "120",
                "tracks_count": 138
            }
        ]
    },
    {
        "param": "géneros",
        "values": [
            {
                "value": "Nu Disco",
                "tracks_count": 138
            },
            {
                "value": "EDM",
                "tracks_count": 3
            },
            {
                "value": "Tropical House",
                "tracks_count": 11
            },
            .
            .
            .
        ]
    },
    .
    .
    .
    {
        "param": "duración",
        "values": [
            {
                "value": "15",
                "tracks_count": 7
            },
            {
                "value": "60",
                "tracks_count": 18
            },
            {
                "value": "120",
                "tracks_count": 11
            },
            {
                "value": "165",
                "tracks_count": 14
            },
            {
                "value": "180",
                "tracks_count": 64
            },
            {
                "value": "420",
                "tracks_count": 12
            },
            {
                "value": "1500",
                "tracks_count": 12
            }
        ]
    }
]

En la respuesta también puedes ver el recuento de pistas de cada duración correspondiente a la solicitud BPM 120 AND Genre Nu Disco

Pistas

Usa el método GET para recibir la lista de pistas.

Solicitud

curl -X GET "https://music-api.mubert.com/api/v3/public/music-library/tracks" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN"

Respuesta

{
    "data": [
        {
            "id": "TRACK_ID",
            "session_id": "SESSION_ID",
            "playlist_index": "0.6.1",
            "prompt": null,
            "duration": 120,
            "intensity": "alta",
            "mode": "track",
            "bpm": 100,
            "key": "D#m",
            "generations": [
                {
                    "session_id": "GENERATION_SESSION_ID",
                    "format": "mp3",
                    "bitrate": 320,
                    "status": "completado",
                    "generated_at": "2025-02-01T00:00:00.000000Z",
                    "created_at": "2025-02-01T00:00:00.000000Z",
                    "url": "YOUR_TRACK_LINK"
                }
            ]
        },
        .
        .
        .
    ],
    "meta": {
        "offset": 0,
        "limit": 100,
        "total": 10075
    }
}

La respuesta contiene una lista de modelos de pistas. Utilice la paginación para ver todos los datos. También puede usar uno o más parámetros para filtrar pistas y encontrar las más adecuadas. Por ejemplo: BPM 120 Y Género Nu Disco Y Duración 180

Solicitud

curl -X GET "https://music-api.mubert.com/api/v3/public/music-library/tracks?bpm=120&genres=Nu%20Disco&duration=180" \
-H "customer-id: CUSTOMER_ID" \
-H "access-token: ACCESS_TOKEN"

Respuesta

{
    "data": [
        {
            "id": "TRACK_ID",
            "session_id": "SESSION_ID",
            "playlist_index": null,
            "prompt": null,
            "duration": 180,
            "intensity": "high",
            "mode": "track",
            "bpm": 120,
            "key": "G",
            "generations": [
                {
                    "session_id": "GENERATION_SESSION_ID",
                    "format": "mp3",
                    "bitrate": 320,
                    "status": "completado",
                    "generated_at": "2022-02-01T00:08:00.000000Z",
                    "created_at": "2022-02-01T00:00:00.000000Z",
                    "url": "YOUR_TRACK_LINK"
                }
            ]
        },
    ],
     "meta": {
        "offset": 0,
        "limit": 100,
        "total": 64
    }
}

En la respuesta, incluye también una lista de modelos de tracks. Usa la paginación para ver todos los datos.

Desparpajo

Para obtener más información técnica, puede usar swagger: https://music-api.mubert.com/api/v3/swagger

Precios

Transparente y Flexible

Transparente y Flexible

Prueba desde $49 al mes

Plan de Prueba

Para el desarrollo y pruebas de clientes

$49

/ mes

100 generaciones / mes

100 minutos de streaming / mes

Características incluidas:

100 Pistas Generadas

100 Minutos de Streaming

Texto-a-Música

Imagen-2-Música

Alta Calidad

No reembolsable

Contenido Monetizado

Biblioteca Curada

Sub-licenciamiento

Distribución

Soporte Dedicado

Plan de Inicio

Para productos pequeños

$199

/ mes

5,000 generaciones / mes

5,000 minutos de streaming / mes

Características incluidas:

Todas las funciones de prueba

5,000 Pistas Generadas

5,000 Minutos de Streaming

12,000+ Biblioteca Curada

Webhooks

Calidad sin pérdida

Contenido Monetizado

No reembolsable

Sub-licenciamiento

Distribución

Soporte Dedicado

Plan de Startup

Para aplicaciones grandes

$499

/ mes

30,000 generaciones / mes

30,000 minutos de transmisión / mes

Características incluidas:

Todas las características de inicio

30,000 Pistas Generadas

30,000 minutos de transmisión

No reembolsable

Sub-licenciamiento

Soporte Dedicado

Distribución

Plan Personalizado

Para solicitudes especiales, escríbenos a [email protected]

Funciones posibles:

Voces

Muestras de Música Personalizadas

Branding de Audio

Horarios de música

Publicidad

Plan de Prueba

Para el desarrollo y pruebas de clientes

$49

/ mes

100 generaciones / mes

100 minutos de streaming / mes

Características incluidas:

100 Pistas Generadas

100 Minutos de Streaming

Texto-a-Música

Imagen-2-Música

Alta Calidad

No reembolsable

Contenido Monetizado

Biblioteca Curada

Sub-licenciamiento

Distribución

Soporte Dedicado

Plan de Inicio

Para productos pequeños

$199

/ mes

5,000 generaciones / mes

5,000 minutos de streaming / mes

Características incluidas:

Todas las funciones de prueba

5,000 Pistas Generadas

5,000 Minutos de Streaming

12,000+ Biblioteca Curada

Webhooks

Calidad sin pérdida

Contenido Monetizado

No reembolsable

Sub-licenciamiento

Distribución

Soporte Dedicado

Plan de Startup

Para aplicaciones grandes

$499

/ mes

30,000 generaciones / mes

30,000 minutos de transmisión / mes

Características incluidas:

Todas las características de inicio

30,000 Pistas Generadas

30,000 minutos de transmisión

No reembolsable

Sub-licenciamiento

Soporte Dedicado

Distribución

Plan Personalizado

Para solicitudes especiales, escríbenos a [email protected]

Funciones posibles:

Voces

Muestras de Música Personalizadas

Branding de Audio

Horarios de música

Publicidad

Plan de Prueba

Para el desarrollo y pruebas de clientes

$49

/ mes

100 generaciones / mes

100 minutos de streaming / mes

Características incluidas:

100 Pistas Generadas

100 Minutos de Streaming

Texto-a-Música

Imagen-2-Música

Alta Calidad

No reembolsable

Contenido Monetizado

Biblioteca Curada

Sub-licenciamiento

Distribución

Soporte Dedicado

Plan de Inicio

Para productos pequeños

$199

/ mes

5,000 generaciones / mes

5,000 minutos de streaming / mes

Características incluidas:

Todas las funciones de prueba

5,000 Pistas Generadas

5,000 Minutos de Streaming

12,000+ Biblioteca Curada

Webhooks

Calidad sin pérdida

Contenido Monetizado

No reembolsable

Sub-licenciamiento

Distribución

Soporte Dedicado

Plan de Startup

Para aplicaciones grandes

$499

/ mes

30,000 generaciones / mes

30,000 minutos de transmisión / mes

Características incluidas:

Todas las características de inicio

30,000 Pistas Generadas

30,000 minutos de transmisión

No reembolsable

Sub-licenciamiento

Soporte Dedicado

Distribución

Plan Personalizado

Para solicitudes especiales, escríbenos a [email protected]

Funciones posibles:

Voces

Muestras de Música Personalizadas

Branding de Audio

Horarios de música

Publicidad

está en vivo ahora — Pon banda sonora a tus videos

Genera música en más de 200 estados de ánimo y temas. Integra la API de Mubert en tus aplicaciones, agentes de IA, juegos y transmisiones en vivo. Música libre de regalías.

Mubert Inc
8 The Green Dover
Delaware EE. UU. 19901​
[email protected]

Spanish

© 2016 – 2026, Mubert Inc. Toda la música transmitida en los dominios *.mubert.com es generada (creada, compuesta, grabada) por Inteligencia Artificial (algoritmo, software, programa) propiedad de Mubert® Inc. y licenciada por Mubert® Inc. solo para uso personal. Todos los derechos reservados. La reproducción pública, grabación y distribución de esta música está prohibida.

Genera música en más de 200 estados de ánimo y temas. Integra la API de Mubert en tus aplicaciones, agentes de IA, juegos y transmisiones en vivo. Música libre de regalías.

Mubert Inc
8 The Green Dover
Delaware EE. UU. 19901​
[email protected]

Spanish

© 2016 – 2026, Mubert Inc. Toda la música transmitida en los dominios *.mubert.com es generada (creada, compuesta, grabada) por Inteligencia Artificial (algoritmo, software, programa) propiedad de Mubert® Inc. y licenciada por Mubert® Inc. solo para uso personal. Todos los derechos reservados. La reproducción pública, grabación y distribución de esta música está prohibida.

Genera música en más de 200 estados de ánimo y temas. Integra la API de Mubert en tus aplicaciones, agentes de IA, juegos y transmisiones en vivo. Música libre de regalías.

Mubert Inc
8 The Green Dover
Delaware EE. UU. 19901​
[email protected]

Spanish

© 2016 – 2026, Mubert Inc. Toda la música transmitida en los dominios *.mubert.com es generada (creada, compuesta, grabada) por Inteligencia Artificial (algoritmo, software, programa) propiedad de Mubert® Inc. y licenciada por Mubert® Inc. solo para uso personal. Todos los derechos reservados. La reproducción pública, grabación y distribución de esta música está prohibida.