Documentation

API musicale IA de Mubert

Version 3.0

Bienvenue sur l'API musicale IA Mubert v3 !

Cette API permet d’intégrer des fonctionnalités de génération de morceaux et de streaming musical dans des applications, des jeux ou des services. Pour commencer à utiliser l’API, veuillez demander vos clés API à l’équipe Mubert (via [email protected]).

L'API REST communique exclusivement en JSON via SSL (HTTPS). Toutes les URL des points de terminaison commencent par https://music-api.mubert.com/api/v3/ (sauf les URL de streaming, elles commencent par https://stream.mubert.com/b2b/v3/)

Les paramètres doivent être sérialisés en JSON et transmis dans le corps de la requête.
Vous devez utiliser la désignation du type de média application/json.

Il y a deux répertoires principaux dans l’API :

  • servicehttps://music-api.mubert.com/api/v3/service/ — utilisé par l'entreprise pour gérer les licences et les clients.

  • publichttps://music-api.mubert.com/api/v3/public/ — utilisé par les clients pour recevoir les fonctionnalités de streaming et les pistes.

Install Mubert Skill

npx skills add MubertAI/skills

Authentification

L'API REST accepte l'authentification basée sur une clé API.

Pour les entreprises

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"

Pour les clients

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"

L'API REST communique exclusivement en JSON via SSL (HTTPS). Toutes les URL des points de terminaison commencent par https://music-api.mubert.com/api/v3/ (sauf les URL de streaming, elles commencent par https://stream.mubert.com/b2b/v3/)

Pour le répertoire service, utilisez une paire de COMPANY_ID et de LICENSE_TOKEN, et pour le répertoire public, utilisez une paire de CUSTOMER_ID et de ACCESS_TOKEN.

Vous devez remplacer COMPANY_ID / LICENSE_TOKEN / CUSTOMER_ID / CUSTOMER_TOKEN par vos jetons réels.

Licence

Pour vous faciliter la tâche, nous avons fait en sorte qu’une entreprise puisse avoir plusieurs licences avec leurs propres capacités et limites. Cela vous permet de répartir les utilisateurs entre différentes licences. Par défaut, l’entreprise dispose d’une seule licence et, dans la plupart des cas, cela suffit.

Vous pouvez obtenir des informations sur vos licences et vos limites.

Utilisez les licences du modèle avec la requête GET

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

Vous pouvez également obtenir des informations sur une licence spécifique

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

Réponse

200 OK

{
    "data": {
        "id": "9e113460-1125-4c09-83c0-94a3b36b0bf3",
        "company_id": "9e1133df-0ac2-4824-bb1a-827fb0698380",
        "type": "payant",
        "status": "actif",
        "webhook_url": "https://b2b3-webhook.mubert.com/",
        "webhook_enabled": true,
        "track_expiration_time": 900,
        "allow_all_features": true,
        "features": [
            "piste",
            "ttm",
            "itm",
            "diffusion en continu"
        ],
        "allow_all_bitrates": true,
        "bitrates": [
            32,
            96,
            128,
            192,
            256,
            320
        ],
        "default_bitrate": 128,
        "allow_all_intensities": true,
        "intensities": [
            "faible",
            "moyen",
            "élevé"
        ],
        "default_intensity": "élevé",
        "allow_all_formats": true,
        "track_formats": [
            "mp3",
            "wav"
        ],
        "default_format": "mp3",
        "allow_all_modes": true,
        "track_modes": [
            "piste",
            "jingle",
            "boucle",
            "mix"
        ],
        "default_mode": "piste",
        "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"
        }
    }
}

Voici le modèle de licence. Vous y trouverez les fonctionnalités de la licence, les paramètres par défaut, les limites et les statistiques.

Vous pouvez remarquer -1 dans certaines valeurs de limite, cela signifie qu'une limite n'est pas définie (illimitée).

Webhooks

Dans cette version de l’API, vous pouvez ajouter un webhook à la licence, grâce auquel vous recevrez des notifications sur l’état du processus de génération des pistes.

Utilisez la méthode PUT pour définir 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
}"

vous recevrez un modèle de licence mis à jour.

Après avoir ajouté le webhook, vous commencerez à recevoir des messages avec les modèles suivis. Comme ceci :

{
    "id": "TRACK_ID",
    "session_id": "SESSION_ID",
    "parent_session_id": null,
    "playlist_index": "1.0.0",
    "prompt": null,
    "duration": 61,
    "intensity": "élevée",
    "mode": "piste",
    "key": "A#",
    "bpm": 120,
    "generations": [
    {
        "session_id": "GENERATION_SESSION_ID",
        "format": "mp3",
        "bitrate": 128,
        "status": "terminé",
        "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"
    }]
}

Vous pouvez en apprendre davantage sur le modèle de piste dans la section génération de piste.

Inscription utilisateur

Chaque utilisateur final de votre produit (service) est identifié par une paire de jetons unique : customer-id et access-token. Ces jetons sont nécessaires pour accéder au contenu et aux fonctionnalités.

Créez autant de clients qu’il y a d’utilisateurs à qui vous souhaitez fournir de la musique.

Pour le créer, utilisez le modèle customers avec la requête POST décrite ci-dessous.

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\"
}"

Paramètres d'entrée

  • custom_id — votre identifiant client interne unique, qui peut se composer de lettres latines, de chiffres et des caractères spéciaux autorisés : ".", "_", "@", "-"' et ne doit pas dépasser 255 caractères.

  • company-id et license-token — fournis par l'équipe Mubert

Répond avec une réponse 200 OK et une réponse JSON en cas de succès.

Il y a un modèle client

{
    "data": {
        "id": "CUSTOMER_ID",
        "company_id": "COMPANY_ID",
        "custom_id": "YOUR_CUSTOM_ID",
        "status": "actif",
        "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
            }
        }
    }
}

Ici :

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

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

  • daily_reset_at, monthly_reset_at — date nullable

Vous pouvez également voir les limites et les statistiques personnelles des clients.

Gestion des utilisateurs

Informations sur les utilisateurs

Vous pouvez obtenir des informations sur tous vos utilisateurs à l’aide de la pagination.

Utilisez la requête GET avec le modèle customers

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

La réponse contient une liste de modèles de clients.

Utilisez la pagination pour voir toutes les données.

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"

Vous pouvez également obtenir des informations sur un client spécifique à l’aide de son identifiant personnalisé ou de son identifiant client. Par exemple :

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

Ou

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"

Les réponses contiennent également le modèle client.

Suppression de l'utilisateur

Utilisez la requête DELETE avec le modèle 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"

Répond avec une réponse 204 No Content en cas de succès.

Liste des canaux

Informations sur les utilisateurs

Le streaming et la génération de pistes nécessitent tous deux que vous sélectionniez un canal musical.

Utilisez GET dans le modèle playlists pour obtenir une liste de toutes les catégories, groupes, chaînes et leurs index de playlist disponibles.

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

Réponse 200 OK

{
    "data": [
        {
            "playlist_index": "3.0.0",
            "category": "Calme",
            "group": "Ambiant",
            "channel": "Méditation",
            "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": "Calme",
            "group": "Ambiant",
            "channel": "Om",
            "params": [...]
        },
        {
            "playlist_index": "3.0.2",
            "category": "Calme",
            "group": "Ambiant",
            "channel": "Zen",
            "params": [...]
        },
        .
        .
        .
}

Ici, vous pouvez également voir la plage de BPM et la liste des tonalités. Ces valeurs sont disponibles pour la génération de morceaux.

Veuillez noter que le paramètre bpm dispose d’une plage disponible dans laquelle vous pouvez générer dans une catégorie spécifique.

gt signifie supérieur à, lt signifie inférieur à.

Streaming musical

Avant de commencer à utiliser la fonction de streaming, assurez-vous qu’elle est activée dans le contrat. Vous pouvez également la trouver dans les informations de votre licence. Pour obtenir un lien vers le streaming, utilisez la requête ci-dessous

Demande

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\": \"moyenne\",
  \"type\": \"http\"
}"

Réponse 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"
    }
}

Paramètres

  • playlist_index (obligatoire) — index du canal

  • bitrate (facultatif) — qualité sonore mesurée en kbps

  • intensity (facultatif) — la complexité de l'arrangement, avec moins ou plus d'instruments jouant simultanément

  • type (facultatif) — type de protocole de streaming

Valeurs possibles pour bitrate : 32, 96, 128, 192, 256, 320

Valeurs possibles pour intensity : low, medium, high

Valeurs possibles pour type : http, webrtc

Si les paramètres facultatifs sont omis ou contiennent des valeurs incorrectes, alors les paramètres par défaut sont appliqués avec bitrate=128, intensity=high et type=http.

gt signifie supérieur à, lt signifie inférieur à.

Mode de boucle

Utilisez l’URL set-loop-state pour mettre en boucle la dernière partie de la composition musicale (ou désactiver le mode boucle).

Paramètres

  • loop (obligatoire) — valeurs possibles : off, on

  • time (facultatif) — définir à la valeur du temps de lecture actuel du flux en secondes (depuis le début de la session) pour améliorer l’UX

Demande

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
}"

Réponse

Renvoie un 204 Aucun contenu en cas de succès.

Intensité

L'URL set-intensity permet de modifier la complexité de l'arrangement. Les différents préréglages comprennent moins ou plus d'instruments jouant simultanément. Les intensités changent de manière fluide sans interrompre le flux.

Valeurs possibles pour l’intensité : low, medium, high

Demande

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\"
}"

Réponse

Renvoie un 204 Aucun contenu en cas de succès.

Redémarrage de la génération

Pour redémarrer le flux, afin qu’une piste différente (mélodie) commence à être lue avec le même url, utilisez la méthode POST avec streaming/restart.

Demande

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

Réponse

Renvoie un 204 Aucun contenu en cas de succès.

Génération de piste

Avant de commencer à utiliser la fonction de génération de pistes, assurez-vous qu’elle est activée dans le cadre de votre contrat. Vous pouvez également la trouver dans les informations de votre licence.

Avec cette API, vous pouvez créer des morceaux personnalisés sur demande. Chaque morceau est une composition musicale exclusive disponible au téléchargement via un lien spécial.

Pour interagir avec les pistes, utilisez le modèle tracks.

Créer une piste

Utilisez POST pour créer une piste avec un ensemble de caractéristiques sélectionnées.

Demande

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\": \"élevée\",
    \"mode\": \"piste\"
}"

Paramètres

  • playlist_index (obligatoire) - index du canal

  • duration (obligatoire) - durée de la piste en secondes

  • format (facultatif) - mp3 ou wav

  • bitrate (facultatif) - qualité sonore mesurée en kbps

  • intensity (facultatif) - complexité de l'arrangement, moins ou plus d'instruments jouent simultanément

  • mode (facultatif) — type de composition (track, loop, jingle, mix)

Valeurs possibles pour bitrate : 32, 96, 128, 192, 256, 320

Valeurs possibles pour intensity : low, medium, high

Si les paramètres facultatifs sont omis ou contiennent des valeurs incorrectes, alors les paramètres par défaut sont appliqués avec format=mp3, bitrate=128 , intensity=high, mode=track

track - désigne un morceau avec une structure commune comprenant une intro, des drops, des breaks et un outro

loop - désigne un morceau pouvant être bouclé

jingle - est idéal pour du contenu musical allant jusqu’à 40 secondes — ce sont de courts morceaux complets avec une structure fixe et logique

mix - imite le travail du DJ : les morceaux se succèdent, se fondant harmonieusement

playlist_index est un index de chaîne universel au format « 0.0.0 », composé de category_id.group_id.channel_id. Omettez les derniers chiffres pour mélanger plusieurs chaînes.

Par exemple : playlist=0.0 lira toutes les chaînes du groupe « Calm » ; playlist=0 lira toute la catégorie « Moods ».

Réponse

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

Ici :

  • prompt, key, bpm, url — chaîne de caractères nullable

  • generated_at, expired_at — date nullable

Pour vérifier si une piste est créée, utilisez le modèle tracks avec TRACK_ID. Comme ceci :

Demande

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

Ou ajoutez un webhook à votre licence et recevez des messages lorsqu’elle est terminée.

Texte-en-Musique

Vous pouvez créer une piste avec une invite textuelle et un ensemble de caractéristiques sélectionnées. Cette méthode est similaire à la précédente, mais au lieu de choisir un canal, vous nous envoyez un message texte. Il est transmis au réseau neuronal de transformation avec une base de balises, et les ensembles de sons correspondants sont sélectionnés automatiquement. Ensuite, notre moteur de composition crée une piste et vous renvoie le fichier.

Avant de commencer à l’utiliser, assurez-vous qu’il est activé dans le cadre du contrat.

Demande

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\": \"YOUR_TEXT_PROMPT\",
    \"duration\": 60,
    \"bitrate\": 128,
    \"mode\": \"track\",
    \"intensity\": \"medium\",
    \"format\": \"mp3\"
}"

Paramètres

  • prompt (obligatoire) — votre invite de texte en anglais, 200 caractères maximum

  • duration (obligatoire) — durée du morceau en secondes

  • format (facultatif) — mp3 ou wav

  • bitrate (facultatif) — qualité sonore mesurée en kbps

  • intensity (facultatif) — complexité de l’arrangement, moins ou plus d’instruments jouent simultanément

  • mode (facultatif) — type de composition (track, loop)

Valeurs possibles pour bitrate : 32, 96, 128, 192, 256, 320

Valeurs possibles pour intensity : low, medium, high

prompt — prompt textuel que vous pouvez recevoir depuis votre saisie utilisateur ou toute autre entrée connectée (modèles de langage, image vers texte, mécanismes de jeu, etc.)

track — désigne une piste avec une structure commune comprenant une introduction, des drops, des breaks et une outro

loop — désigne une piste qui peut être bouclée

Si les paramètres facultatifs sont omis ou contiennent des valeurs incorrectes, alors les paramètres par défaut sont appliqués avec format=mp3, bitrate=128 , intensity=high, mode=track

Réponse

Renvoie un 204 Aucun contenu en cas de succès.

Intensité

L'URL set-intensity permet de modifier la complexité de l'arrangement. Les différents préréglages comprennent moins ou plus d'instruments jouant simultanément. Les intensités changent de manière fluide sans interrompre le flux.

Valeurs possibles pour l’intensité : low, medium, high

Demande

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\"
}"

Réponse

Renvoie un 204 Aucun contenu en cas de succès.

Redémarrage de la génération

Pour redémarrer le flux, afin qu’une piste différente (mélodie) commence à être lue avec le même url, utilisez la méthode POST avec streaming/restart.

Demande

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

Réponse

Renvoie un 204 Aucun contenu en cas de succès.

Image-2-Musique

Vous pouvez créer un parcours avec une image. Avant de commencer à l’utiliser, assurez-vous qu’il est activé dans l’accord contractuel.

Demande

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\""

Paramètres

  • image (obligatoire) — votre image au format jpeg/png, 10 Mo maximum

  • duration (obligatoire) — durée de la piste en secondes

  • format (facultatif) — mp3 ou wav

  • bitrate (facultatif) — qualité sonore mesurée en kbps

  • intensity (facultatif) — complexité de l'arrangement, avec moins ou plus d'instruments jouant simultanément

  • mode (facultatif) — type de composition (track, loop)

Valeurs possibles pour bitrate : 32, 96, 128, 192, 256, 320

Valeurs possibles pour intensity : low, medium, high

track — désigne un morceau avec une structure commune comprenant une intro, des drops, des breaks et une outro

loop — désigne un morceau qui peut être bouclé

Si les paramètres facultatifs sont omis ou contiennent des valeurs incorrectes, alors les paramètres par défaut sont appliqués avec format=mp3, bitrate=128 , intensity=high, mode=track

Génération BPM/Tonalité

Vous pouvez ajouter le BPM et la tonalité aux paramètres de génération de playlist_index.

Demande

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\"
}"

Réponse

Répond avec 200 OK avec le modèle track si la requête réussit.

Générer des éléments similaires

Vous pouvez générer un morceau similaire à un morceau existant. Ce ne sera pas exactement le même morceau, mais il sera similaire.

Utilisez POST avec https://music-api.mubert.com/api/v3/public/tracks/TRACK_ID/similar

Demande

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\"
}"

Édition de piste

Vous pouvez modifier certains paramètres d’une piste existante.

Demande

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\"
}"

Réponse 200 OK

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

Vous pouvez également remplacer une partie de la piste. Chaque piste est composée d’instruments. La piste peut contenir des instruments tels que :

BATTERIE, PERCUSSIONS, CHARLESTONS, CLAQUEMENTS, GRAVE, MOYENS, LEADS, EFFETS, VOIX, NAPPES, MONTÉE, IMPACT

Ces instruments peuvent être combinés en stems tels que

Ainsi, ces stems contiennent les instruments suivants :

  • DRUMS comprend DRUMS, PERCS, HATS, CLAPS

  • BASS comprend BASS

  • LEADS comprend MIDS, LEADS, PADS

  • VOCALS comprend VOCALS

  • FX comprend FX, RISER, IMPACT

Vous pouvez remplacer à la fois l’instrument et la tige. Remplacer l’instrument/les instruments :

Remplacer le(s) instrument(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\"]
}"

Remplacer les tiges :

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\"]
}"

Supprimer l’instrument(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\"]
}"

Supprimer la/les tige(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_stems\":[\"BASS\", \"FX\"]
}"

Toutes ces requêtes reçoivent le modèle track.

Liste des pistes

Pour obtenir la liste des pistes, utilisez GET avec le modèle tracks.

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

La réponse contient une liste de modèles de pistes.

Utilisez la pagination pour voir toutes les données.

Vous pouvez également obtenir des informations sur une piste spécifique.

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 réponse contient le modèle de piste.

Suivi de la boutique

La fonctionnalité de stockage des pistes vous permet de créer un tampon avec des pistes pré-générées. Cela fonctionne très bien lorsque vous souhaitez obtenir une piste unique de la durée, du mode et du format exacts, sans longs délais de réponse. Nous créons un bucket cloud et configurons un générateur dédié afin d’accélérer le processus de réception des fichiers. Mubert crée un certain nombre de pistes avec un même ensemble de paramètres et les place dans le bucket. Lorsque vous utilisez l’un de ces fichiers, une génération de piste similaire commence à remplir le tampon. Le nombre de fichiers dans le bucket dépend de la charge moyenne de votre service. Pour calculer cela, nous avons également besoin d’obtenir de votre part la liste des paramètres suivants : mode, durée, débit binaire, intensité, format. Veuillez sélectionner les valeurs de ces paramètres et envoyer un e-mail à notre responsable pour poursuivre la création du bucket. Vous pouvez également choisir les playlists que vous souhaitez pré-générer ; par défaut, nous utilisons tous les canaux.

Vous récupérerez automatiquement le track depuis le magasin de tracks lorsque les paramètres de la demande de track correspondent aux paramètres du magasin. Avant de commencer à utiliser le magasin de tracks, assurez-vous qu’il est activé dans l’accord contractuel.

Bibliothèque musicale Mubert

Nous avons préparé une bibliothèque de plus de 12 000 morceaux créés à l’aide de l’intelligence artificielle Mubert et sélectionnés par nos éditeurs musicaux.

Paramètres

Utilisez la méthode GET pour consulter les statistiques de la bibliothèque musicale et les paramètres selon lesquels vous pouvez filtrer les pistes.

Demande

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

Réponse

[
    {
        "param": "activities",
        "values": [
            {
                "value": "Minimal 170",
                "tracks_count": 80
            },
            {
                "value": "Charmant",
                "tracks_count": 40
            },
            {
                "value": "Méditation",
                "tracks_count": 108
            },
            .
            .
            .
        ]
    },
    {
        "param": "bpm",
        "values": [
            {
                "value": "100",
                "tracks_count": 684
            },
            {
                "value": "105",
                "tracks_count": 13
            },
            {
                "value": "108",
                "tracks_count": 186
            },
            .
            .
            .
        ]
    },
    .
    .
    .
]

Vous pouvez également obtenir des informations sur un paramètre spécifique. Par exemple : 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"

Réponse

{
        "param": "themes",
        "values": [
            {
                "value": "Entreprise",
                "tracks_count": 315
            },
            {
                "value": "Podcast",
                "tracks_count": 12
            },
            .
            .
            .
        ]
    },
    {
        "param": "genres",
        "values": [
            {
                "value": "Nu disco",
                "tracks_count": 138
            },
            {
                "value": "Folk",
                "tracks_count": 27
            },
            .
            .
            .
        ]
    },

Cela signifie que vous pouvez trouver 315 pistes avec BPM 120 dans le thème "Сorporate", 12 pistes dans le thème "Podcast", 138 pistes dans le genre "Nu Disco" et 27 pistes dans le genre "Folk".

Vous pouvez spécifier plusieurs paramètres, puis un AND logique leur sera appliqué.

Demande

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"

Réponse

[
    {
        "param": "bpm",
        "values": [
            {
                "value": "120",
                "tracks_count": 138
            }
        ]
    },
    {
        "param": "genres",
        "values": [
            {
                "value": "Nu Disco",
                "tracks_count": 138
            },
            {
                "value": "EDM",
                "tracks_count": 3
            },
            {
                "value": "House tropicale",
                "tracks_count": 11
            },
            .
            .
            .
        ]
    },
    .
    .
    .
    {
        "param": "durée",
        "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
            }
        ]
    }
]

Dans la réponse, vous pouvez également voir le nombre de morceaux de chaque durée correspondant à la requête BPM 120 AND Genre Nu Disco

Pistes

Utilisez la méthode GET pour recevoir la liste des pistes.

Demande

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

Réponse

{
    "data": [
        {
            "id": "TRACK_ID",
            "session_id": "SESSION_ID",
            "playlist_index": "0.6.1",
            "prompt": null,
            "duration": 120,
            "intensity": "high",
            "mode": "track",
            "bpm": 100,
            "key": "D#m",
            "generations": [
                {
                    "session_id": "GENERATION_SESSION_ID",
                    "format": "mp3",
                    "bitrate": 320,
                    "status": "terminé",
                    "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 réponse contient une liste de modèles de pistes. Utilisez la pagination pour voir toutes les données. Vous pouvez également utiliser un ou plusieurs paramètres pour filtrer les pistes et trouver les plus adaptées. Par exemple : BPM 120 ET Genre Nu Disco ET Durée 180

Demande

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"

Réponse

{
    "data": [
        {
            "id": "TRACK_ID",
            "session_id": "SESSION_ID",
            "playlist_index": null,
            "prompt": null,
            "duration": 180,
            "intensity": "élevée",
            "mode": "piste",
            "bpm": 120,
            "key": "G",
            "generations": [
                {
                    "session_id": "GENERATION_SESSION_ID",
                    "format": "mp3",
                    "bitrate": 320,
                    "status": "terminé",
                    "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
    }
}

Dans la réponse, incluez également la liste des modèles de pistes. Utilisez la pagination pour voir toutes les données.

Allure

Pour plus d'informations techniques, vous pouvez utiliser swagger : https://music-api.mubert.com/api/v3/swagger

Tarification

Transparent et Flexible

Transparent et Flexible

Essayez à partir de 49 $ par mois

Plan d'essai

Pour le développement client et les tests

49 $

/ mois

100 générations / mois

100 minutes de streaming / mois

Fonctionnalités incluses :

100 pistes générées

100 minutes de streaming

Texte-en-Musique

Image-2-Musique

Haute Qualité

Non remboursable

Contenu monétisé

Bibliothèque Curatée

Sous-licence

Distribution

Support dévoué

Plan de démarrage

Pour les petits produits

199 $

/ mois

5 000 générations / mois

5 000 minutes de streaming par mois

Fonctionnalités incluses :

Toutes les fonctionnalités d'essai

5 000 morceaux générés

5 000 minutes de streaming

Bibliothèque de plus de 12 000 documents sélectionnés

Webhooks

Qualité sans perte

Contenu monétisé

Non remboursable

Sous-licence

Distribution

Support dévoué

Plan de startup

Pour les grandes applications

499 $

/ mois

30 000 générations / mois

30 000 minutes de streaming / mois

Fonctionnalités incluses :

Toutes les fonctionnalités de démarrage

30 000 pistes générées

30 000 minutes de streaming

Non remboursable

Sous-licence

Support dévoué

Distribution

Plan personnalisé

Pour des demandes spéciales, envoyez-nous un texte à [email protected]

Fonctionnalités possibles :

Vocales

Pistes de musique personnalisées

Branding audio

Horaires de musique

Publicité

Plan d'essai

Pour le développement client et les tests

49 $

/ mois

100 générations / mois

100 minutes de streaming / mois

Fonctionnalités incluses :

100 pistes générées

100 minutes de streaming

Texte-en-Musique

Image-2-Musique

Haute Qualité

Non remboursable

Contenu monétisé

Bibliothèque Curatée

Sous-licence

Distribution

Support dévoué

Plan de démarrage

Pour les petits produits

199 $

/ mois

5 000 générations / mois

5 000 minutes de streaming par mois

Fonctionnalités incluses :

Toutes les fonctionnalités d'essai

5 000 morceaux générés

5 000 minutes de streaming

Bibliothèque de plus de 12 000 documents sélectionnés

Webhooks

Qualité sans perte

Contenu monétisé

Non remboursable

Sous-licence

Distribution

Support dévoué

Plan de startup

Pour les grandes applications

499 $

/ mois

30 000 générations / mois

30 000 minutes de streaming / mois

Fonctionnalités incluses :

Toutes les fonctionnalités de démarrage

30 000 pistes générées

30 000 minutes de streaming

Non remboursable

Sous-licence

Support dévoué

Distribution

Plan personnalisé

Pour des demandes spéciales, envoyez-nous un texte à [email protected]

Fonctionnalités possibles :

Vocales

Pistes de musique personnalisées

Branding audio

Horaires de musique

Publicité

Plan d'essai

Pour le développement client et les tests

49 $

/ mois

100 générations / mois

100 minutes de streaming / mois

Fonctionnalités incluses :

100 pistes générées

100 minutes de streaming

Texte-en-Musique

Image-2-Musique

Haute Qualité

Non remboursable

Contenu monétisé

Bibliothèque Curatée

Sous-licence

Distribution

Support dévoué

Plan de démarrage

Pour les petits produits

199 $

/ mois

5 000 générations / mois

5 000 minutes de streaming par mois

Fonctionnalités incluses :

Toutes les fonctionnalités d'essai

5 000 morceaux générés

5 000 minutes de streaming

Bibliothèque de plus de 12 000 documents sélectionnés

Webhooks

Qualité sans perte

Contenu monétisé

Non remboursable

Sous-licence

Distribution

Support dévoué

Plan de startup

Pour les grandes applications

499 $

/ mois

30 000 générations / mois

30 000 minutes de streaming / mois

Fonctionnalités incluses :

Toutes les fonctionnalités de démarrage

30 000 pistes générées

30 000 minutes de streaming

Non remboursable

Sous-licence

Support dévoué

Distribution

Plan personnalisé

Pour des demandes spéciales, envoyez-nous un texte à [email protected]

Fonctionnalités possibles :

Vocales

Pistes de musique personnalisées

Branding audio

Horaires de musique

Publicité

est en direct maintenant — ajoutez une bande-son à vos vidéos

Générez de la musique dans plus de 200 ambiances et thèmes. Intégrez l'API Mubert dans vos applications, agents IA, jeux et diffusions en direct. Musique libre de droits.

Mubert Inc
8 The Green Dover
Delaware US 19901​
[email protected]

French

© 2016 – 2026, Mubert Inc. Toute la musique diffusée sur les domaines *.mubert.com est générée (créée, composée, enregistrée) par une intelligence artificielle (algorithme, logiciel, programme) appartenant à Mubert® Inc et licenciée par Mubert® Inc uniquement pour un usage personnel. Tous droits réservés. La reproduction, l'enregistrement et la distribution publiques de cette musique sont interdites.

Générez de la musique dans plus de 200 ambiances et thèmes. Intégrez l'API Mubert dans vos applications, agents IA, jeux et diffusions en direct. Musique libre de droits.

Mubert Inc
8 The Green Dover
Delaware US 19901​
[email protected]

French

© 2016 – 2026, Mubert Inc. Toute la musique diffusée sur les domaines *.mubert.com est générée (créée, composée, enregistrée) par une intelligence artificielle (algorithme, logiciel, programme) appartenant à Mubert® Inc et licenciée par Mubert® Inc uniquement pour un usage personnel. Tous droits réservés. La reproduction, l'enregistrement et la distribution publiques de cette musique sont interdites.

Générez de la musique dans plus de 200 ambiances et thèmes. Intégrez l'API Mubert dans vos applications, agents IA, jeux et diffusions en direct. Musique libre de droits.

Mubert Inc
8 The Green Dover
Delaware US 19901​
[email protected]

French

© 2016 – 2026, Mubert Inc. Toute la musique diffusée sur les domaines *.mubert.com est générée (créée, composée, enregistrée) par une intelligence artificielle (algorithme, logiciel, programme) appartenant à Mubert® Inc et licenciée par Mubert® Inc uniquement pour un usage personnel. Tous droits réservés. La reproduction, l'enregistrement et la distribution publiques de cette musique sont interdites.