Documentation
API musicale IA de Mubert
Version 3.0
Table des matières
Bienvenue sur l'API musicale IA Mubert v3 !
Cette API permet d'intégrer la génération de morceaux et la diffusion de musique dans des applications, des jeux ou des services. L'accès à l'API commence par une offre en libre-service : les identifiants de votre entreprise sont envoyés à votre adresse e-mail après le paiement. Les comptes hérités et sur mesure sont toujours configurés avec l'équipe Mubert ([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 :
service —
https://music-api.mubert.com/api/v3/service/— utilisé par l'entreprise pour gérer les licences et les clients.public —
https://music-api.mubert.com/api/v3/public/— utilisé par les clients pour recevoir les fonctionnalités de streaming et les pistes.
Pour commencer
Choisissez un forfait en libre-service.
Les identifiants de votre entreprise vous sont envoyés par e-mail après le paiement.
Connectez le serveur MCP, installez le skill Mubert ou copiez le démarrage rapide REST ci-dessous.
Effectuez une requête et enregistrez le morceau renvoyé avant l'expiration de son URL.
Vous avez déjà payé ? Retrouvez vos identifiants dans l'e-mail envoyé après le paiement. Besoin d'aide pour une configuration sur mesure ? Contactez l'équipe Mubert →
Démarrage rapide
Trois requêtes dans cet ordre : vérifiez ce que votre licence autorise, recherchez dans la bibliothèque sélectionnée, et ne consommez une génération qu'ensuite.
1. Vérifier les fonctionnalités, les limites et le quota restant
2. Rechercher dans la bibliothèque sélectionnée avant de générer
3. Générer un morceau lorsque la bibliothèque ne contient aucun résultat adapté
Vous travaillez avec un agent IA ? Connectez le serveur MCP et demandez un morceau, ou installez le skill Mubert et laissez-le écrire l'intégration pour vous.
Serveur MCP
Donnez à un agent IA un accès direct à Mubert. Le serveur MCP expose la même API sous forme d'outils que l'agent peut appeler : il génère et modifie des morceaux, gère des flux et recherche dans la bibliothèque, sans que vous ayez à écrire une ligne de code.
Le serveur lit votre licence avant chaque requête et refuse toute demande que votre forfait ne peut pas satisfaire, en indiquant dans sa réponse les valeurs autorisées et le quota restant. Un agent qui passe par lui ne dépense pas de quota pour des requêtes vouées à l'échec.
Lequel choisir
Serveur MCP — vous voulez de la musique depuis un agent, tout de suite. Demandez un morceau dans Claude, Cursor ou tout client MCP et obtenez un lien.
Skill Mubert — vous voulez qu'un agent écrive l'intégration pour votre propre produit. Il produit du code qui appelle l'API REST.
API REST — vous écrivez vous-même l'intégration. Le reste de cette page est pour vous.
Connexion
Ajoutez l'URL du serveur. Rien d'autre n'est nécessaire.
Claude Code :
Claude Desktop, Cursor et les autres clients qui acceptent une configuration JSON :
À la première utilisation, votre client ouvre une page de connexion. Collez l'identifiant d'entreprise et le jeton de licence figurant dans l'e-mail reçu après le paiement, ou choisissez un forfait sur cette page. Le client reçoit son propre jeton ; votre jeton de licence n'est jamais stocké dans le client.
Connexion depuis un backend ou une CI
Un client qui ne peut pas ouvrir de navigateur envoie les identifiants sous forme d'en-têtes :
Ajoutez X-Mubert-Client-Key avec un identifiant stable de votre choix pour déterminer sous quel client Mubert cette installation s'exécute. Conservez-le identique d'un redémarrage à l'autre : chaque nouvelle valeur crée un client et utilise l'une de vos places.
Ce que l'agent peut faire
Vingt et un outils. Neuf se limitent à la lecture et ne consomment rien.
Groupe
Outils
Consomme du quota
Licence et catalogue
get_capabilities, list_playlists, get_library_filters, search_library
Non
Génération
generate_track, generate_track_instant, regenerate_similar, edit_track
Oui, un morceau par appel
Morceaux
get_track, list_tracks, wait_for_track
Non
Streaming
start_stream, set_stream_intensity, set_stream_loop, restart_stream
Secondes de streaming
Clients
provision_customer, list_customers, delete_customer
Une place par nouveau client
Offres
list_plans, create_checkout_link, open_billing_portal
Non
Les outils de facturation ne débitent jamais rien. Ils renvoient un lien qu'il appartient à une personne d'ouvrir.
Essayez
Une fois connecté, demandez à votre agent :
J'ai besoin de 30 secondes de musique d'ambiance calme pour une démo produit. Vérifie d'abord ce que ma licence autorise, et cherche dans la bibliothèque avant de générer quoi que ce soit.
Crée un morceau lo-fi de 60 secondes pour étudier. Après l'avoir écouté, je te dirai ce qu'il faut modifier.
Lance un stream ambient à faible intensité pour une application de méditation.
Bon à savoir
Une modification crée un nouveau morceau. Remplacer la basse ou supprimer les voix renvoie un nouveau morceau et laisse le précédent intact. Chaque modification coûte un morceau sur votre quota.
Certaines durées sont instantanées. Un morceau généré à partir d'un canal en 5, 6, 8, 10, 15, 20, 30, 40, 60, 180, 240 ou 300 secondes peut provenir d'un stock pré-rendu en une seule requête. Toute autre durée est rendue de zéro.
Les URL des morceaux expirent. Enregistrez le fichier que vous souhaitez conserver.
Une URL de flux est un identifiant d'accès. Elle contient un jeton d'accès. Transmettez-la au lecteur, et à rien d'autre.
Un seul flux par client. Lancer un second flux remplace le premier.
Skill pour les agents
Les outils portent les règles. Le skill mubert-music-mcp porte la stratégie : l'ordre des appels qui garde une session économique, et comment affiner un morceau étape par étape.
Référence
Server: https://mcp.mubert.com/mcp, streamable HTTP
Présentation pour les humains et les agents : mcp.mubert.com
Texte brut pour les agents : mcp.mubert.com/llms.txt
Nom dans le registre MCP : com.mubert/music
Authentification : OAuth 2.1 avec enregistrement dynamique des clients et PKCE, ou jeton de licence porteur avec l'en-tête d'identifiant d'entreprise
Authentification
L'API REST accepte l'authentification basée sur une clé API.
Pour les entreprises
Pour les clients
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
Vous pouvez également obtenir des informations sur une licence spécifique
Réponse
200 OK
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
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 :
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.
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
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
La réponse contient une liste de modèles de clients.
Utilisez la pagination pour voir toutes les données.
Vous pouvez également obtenir des informations sur un client spécifique à l’aide de son identifiant personnalisé ou de son identifiant client. Par exemple :
Ou
Les réponses contiennent également le modèle client.
Suppression de l'utilisateur
Utilisez la requête DELETE avec le modèle customers
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.
Réponse 200 OK
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
Réponse 200 OK
Paramètres
playlist_index(obligatoire) — index du canalbitrate(facultatif) — qualité sonore mesurée en kbpsintensity(facultatif) — la complexité de l'arrangement, avec moins ou plus d'instruments jouant simultanémenttype(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,ontime(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
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
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
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
Paramètres
playlist_index(obligatoire) - index du canalduration(obligatoire) - durée de la piste en secondesformat(facultatif) - mp3 ou wavbitrate(facultatif) - qualité sonore mesurée en kbpsintensity(facultatif) - complexité de l'arrangement, moins ou plus d'instruments jouent simultanémentmode(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
Ici :
prompt,key,bpm,url— chaîne de caractères nullablegenerated_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
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
Paramètres
prompt(obligatoire) — votre invite de texte en anglais, 200 caractères maximumduration(obligatoire) — durée du morceau en secondesformat(facultatif) —mp3ouwavbitrate(facultatif) — qualité sonore mesurée en kbpsintensity(facultatif) — complexité de l’arrangement, moins ou plus d’instruments jouent simultanémentmode(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
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
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
Paramètres
image(obligatoire) — votre image au format jpeg/png, 10 Mo maximumduration(obligatoire) — durée de la piste en secondesformat(facultatif) — mp3 ou wavbitrate(facultatif) — qualité sonore mesurée en kbpsintensity(facultatif) — complexité de l'arrangement, avec moins ou plus d'instruments jouant simultanémentmode(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
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
Édition de piste
Vous pouvez modifier certains paramètres d’une piste existante.
Demande
Réponse 200 OK
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 :
DRUMScomprendDRUMS,PERCS,HATS,CLAPSBASScomprendBASSLEADScomprendMIDS,LEADS,PADSVOCALScomprendVOCALSFXcomprendFX,RISER,IMPACT
Vous pouvez remplacer à la fois l’instrument et la tige. Remplacer l’instrument/les instruments :
Remplacer le(s) instrument(s) :
Remplacer les tiges :
Supprimer l’instrument(s) :
Supprimer la/les tige(s) :
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.
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.
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
Réponse
Vous pouvez également obtenir des informations sur un paramètre spécifique. Par exemple : BPM 120
Réponse
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
Réponse
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
Réponse
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
Réponse
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
Essayez à partir de 49 $ par mois