Documentação

Mubert API de Música com IA

Versão 3.0

Bem-vindo à API de Música com IA Mubert v3!

Esta API permite integrar funcionalidades de geração de faixas e streaming de música em aplicações, jogos ou serviços. Para começar a usar a API, por favor solicite as suas chaves da API à equipa da Mubert (via [email protected]).

A API REST comunica exclusivamente em JSON sobre SSL (HTTPS). Todos os URLs dos endpoints começam com https://music-api.mubert.com/api/v3/ (exceto os URLs de streaming, que começam com https://stream.mubert.com/b2b/v3/)

Os parâmetros devem ser serializados em JSON e enviados no corpo da solicitação.
Você deve usar a designação de tipo de mídia application/json.

Existem dois diretórios principais na API:

  • serviçohttps://music-api.mubert.com/api/v3/service/ — usado pela empresa para gerir licenças e clientes.

  • públicohttps://music-api.mubert.com/api/v3/public/ — usado pelos clientes para receber funcionalidades de streaming e faixas.

Install Mubert Skill

npx skills add MubertAI/skills

Autenticação

A API REST aceita autenticação baseada em chave 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"

A API REST comunica exclusivamente em JSON sobre SSL (HTTPS). Todos os URLs dos endpoints começam com https://music-api.mubert.com/api/v3/ (exceto os URLs de streaming, que começam com https://stream.mubert.com/b2b/v3/)

Para o diretório de serviço, use um par de COMPANY_ID e LICENSE_TOKEN e, para o diretório público, use um par de CUSTOMER_ID e ACCESS_TOKEN.

Você deve substituir COMPANY_ID / LICENSE_TOKEN / CUSTOMER_ID / CUSTOMER_TOKEN pelos seus tokens reais.

Licença

Para sua conveniência, tornámos possível que uma empresa tenha várias licenças com as suas próprias capacidades e limites. Isto foi feito para que possa পৃথ separar utilizadores por licenças diferentes. Por defeito, a empresa tem uma licença e, na maioria dos casos, isso é suficiente.

Pode obter informações sobre as suas licenças e limites.

Use licenças do modelo com a solicitação GET

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

Também pode obter informações sobre uma licença 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"

Resposta

200 OK

{
    "data": {
        "id": "9e113460-1125-4c09-83c0-94a3b36b0bf3",
        "company_id": "9e1133df-0ac2-4824-bb1a-827fb0698380",
        "type": "pago",
        "status": "ativo",
        "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": [
            "baixo",
            "médio",
            "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 é o modelo de licença. Aqui pode encontrar as funcionalidades da licença, os parâmetros predefinidos, os limites e as estatísticas.

Você pode notar -1 em alguns valores de limite; isso significa que um limite não está definido (ilimitado).

Webhooks

Nesta versão da API, pode adicionar um webhook à licença através do qual receberá notificações sobre o estado do processo de geração das faixas.

Use o método PUT para configurar um 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
}"

você receberá um modelo de licença atualizado.

Depois de adicionar o webhook, você começará a receber mensagens com modelos de rastreamento. Assim:

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

Você pode saber mais sobre o modelo track na seção Geração de trilhas.

Registo de utilizador

Cada usuário final do seu produto (serviço) é identificado por um par de tokens exclusivo: customer-id e access-token. Esses tokens são necessários para acessar o conteúdo e os recursos.

Crie tantos clientes quantos forem os utilizadores a quem pretende fornecer música.

Para criá-lo, use o modelo customers com a solicitação POST descrita abaixo.

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 — o seu ID interno único de cliente, que pode consistir em letras latinas, números e caracteres especiais permitidos: ".", "_", "@", "-" e não deve ter mais de 255 caracteres.

  • company-id e license-token — fornecidos pela equipe Mubert

Responde com uma resposta 200 OK e uma resposta JSON, se for bem-sucedido.

Existe modelo de cliente

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

Aqui:

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

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

  • daily_reset_at, monthly_reset_at — data anulável

Também pode ver os limites e as estatísticas pessoais do cliente.

Gestão de utilizadores

Informações do(s) utilizador(es)

Você pode obter informações sobre todos os seus usuários com paginação.

Use GET requisição com o modelo customers

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

A resposta contém uma lista de modelos de clientes.

Use a paginação para ver todos os dados.

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"

Também pode obter informações sobre um cliente específico usando o seu identificador personalizado ou de cliente. Como isto:

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"

As respostas também contêm o modelo do cliente.

Eliminação de utilizador

Use a solicitação DELETE com o 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 com uma resposta 204 Sem Conteúdo se for bem-sucedido.

Lista de canais

Informações do(s) utilizador(es)

Tanto o streaming como a geração de faixas requerem que selecione um canal de música.

Use GET no modelo playlists para obter uma lista de todas as categorias, grupos, canais e seus índices de playlist disponíveis.

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

Resposta 200 OK

{
    "data": [
        {
            "playlist_index": "3.0.0",
            "category": "Calmo",
            "group": "Ambiente",
            "channel": "Meditação",
            "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": "Calmo",
            "group": "Ambiente",
            "channel": "Om",
            "params": [...]
        },
        {
            "playlist_index": "3.0.2",
            "category": "Calmo",
            "group": "Ambiente",
            "channel": "Zen",
            "params": [...]
        },
        .
        .
        .
}

Aqui você também pode ver a faixa de BPM e a lista de tons. Esses valores estão disponíveis para a geração de faixas.

Observe que o parâmetro bpm tem um intervalo disponível no qual você pode gerar numa categoria específica.

gt significa maior que, lt significa menor que.

Streaming de música

Antes de começar a utilizar a função de streaming, certifique-se de que ela está ativada no acordo contratual. Também pode encontrá-la nas informações da sua licença. Para obter uma ligação para o streaming, utilize o pedido abaixo

Solicitação

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\": \"médio\",
  \"type\": \"http\"
}"

Resposta 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 (obrigatório) — índice do canal

  • bitrate (opcional) — qualidade do som medida em kbps

  • intensity (opcional) — a complexidade do arranjo, menos ou mais instrumentos estão a tocar simultaneamente

  • type (opcional) — tipo de protocolo de streaming

Valores possíveis para bitrate : 32, 96, 128, 192, 256, 320

Valores possíveis para intensity : baixo, médio, alto

Valores possíveis para type : http, webrtc

Se os parâmetros opcionais forem omitidos ou contiverem valores incorretos, então os parâmetros padrão são aplicados com bitrate=128, intensity=high e type=http.

gt significa maior que, lt significa menor que.

Modo de repetição

Use a URL set-loop-state para repetir a parte mais recente da composição musical (ou desativar o modo de repetição).

Parâmetros

  • loop (obrigatório) — valores possíveis: off, on

  • time (opcional) — defina como igual ao tempo atual de reprodução do stream em segundos (desde o início da sessão) para melhorar a experiência do usuário

Solicitação

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

Resposta

Responde com um 204 Sem conteúdo se for bem-sucedido.

Intensidade

O set-intensity URL permite alterar a complexidade do arranjo. Diferentes predefinições consistem em menos ou mais instrumentos a tocar simultaneamente. As intensidades mudam de forma contínua sem interromper o fluxo.

Valores possíveis para a intensidade : low, medium, high

Solicitação

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

Resposta

Responde com um 204 Sem conteúdo se for bem-sucedido.

Reiniciar geração

Para reiniciar o stream, para que uma faixa diferente (melodia) comece a tocar com o mesmo url, use o método POST com streaming/restart.

Solicitação

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

Resposta

Responde com um 204 Sem conteúdo se for bem-sucedido.

Geração de trilhas

Antes de começar a usar a função de geração de trilhas, certifique-se de que ela está ativada ao abrigo do contrato. Além disso, pode encontrá-la nas informações da sua licença.

Com esta API, pode criar faixas personalizadas por pedido. Cada faixa é uma composição musical exclusiva, disponível para descarregar através de uma ligação especial.

Para interagir com faixas, use o modelo tracks.

Criar faixa

Use POST para criar uma faixa com um conjunto das características selecionadas.

Solicitação

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\": \"high\",
    \"mode\": \"track\"
}"

Parâmetros

  • playlist_index (obrigatório) - índice do canal

  • duration (obrigatório) - duração da faixa em segundos

  • format (opcional) - mp3 ou wav

  • bitrate (opcional) - qualidade do som medida em kbps

  • intensity (opcional) - complexidade do arranjo, menos ou mais instrumentos estão a tocar simultaneamente

  • mode (opcional) — tipo de composição (track, loop, jingle, mix)

Valores possíveis para bitrate : 32, 96, 128, 192, 256, 320

Valores possíveis para intensity : baixo, médio, alto

Se parâmetros opcionais forem omitidos ou contiverem valores incorretos, então os parâmetros padrão são aplicados com format=mp3, bitrate=128 , intensity=high, mode=track

track - significa uma faixa com estrutura comum, com intro, drops, breaks e outro

loop - designa uma faixa que pode ser repetida em loop

jingle - é ideal para conteúdos musicais com até 40 segundos de duração – são faixas curtas e completas, com uma estrutura fixa e lógica

mix - imita o trabalho de um DJ, em que as faixas seguem umas após as outras, misturando-se harmoniosamente

playlist_index é um índice universal de canais no formato “0.0.0”, composto por category_id.group_id.channel_id. Omita os últimos dígitos para misturar vários canais.

Por exemplo: playlist=0.0 reproduzirá todos os canais dentro do grupo “Calma”; playlist=0 reproduzirá toda a categoria “Humores”.

Resposta

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

Aqui:

  • prompt, key, bpm, url — cadeia de caracteres nula

  • generated_at, expired_at — data nula

Para verificar se uma faixa foi criada, use o modelo tracks com TRACK_ID. Assim:

Solicitação

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 adicione um webhook à sua licença e receba mensagens quando estiver concluído.

Texto-para-Música

Pode criar uma faixa com um prompt de texto e um conjunto de características selecionadas. Este método é semelhante ao anterior, mas, em vez de escolher um canal, envia-nos uma mensagem de texto. Esta é enviada para a rede neural transformer, com uma base de etiquetas, e os conjuntos de sons correspondentes são escolhidos automaticamente. Depois disso, o nosso motor de composição cria uma faixa e devolve-lhe o ficheiro.

Antes de começar a utilizá-lo, certifique-se de que está ativado ao abrigo do contrato.

Solicitação

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

Parâmetros

  • prompt (obrigatório) —o seu texto de prompt em inglês, no máximo 200 caracteres

  • duration (obrigatório) — duração da faixa em segundos

  • format (opcional) — mp3 ou wav

  • bitrate (opcional) — qualidade de som medida em kbps

  • intensity (opcional) — complexidade do arranjo, com menos ou mais instrumentos a tocar simultaneamente

  • mode (opcional) — tipo de composição (track, loop)

Valores possíveis para bitrate : 32, 96, 128, 192, 256, 320

Valores possíveis para intensity : baixo, médio, alto

prompt — prompt de texto que você pode receber da entrada do usuário ou de quaisquer outras entradas conectadas (modelos de linguagem, imagem-para-texto, mecânicas de jogo etc.)

track — significa uma faixa com estrutura comum com intro, drops, breaks e outro

loop — significa uma faixa que pode ser repetida em loop

Se os parâmetros opcionais forem omitidos ou contiverem valores incorretos, então os parâmetros padrão são aplicados com format=mp3, bitrate=128 , intensity=high, mode=track

Resposta

Responde com um 204 Sem conteúdo se for bem-sucedido.

Intensidade

O set-intensity URL permite alterar a complexidade do arranjo. Diferentes predefinições consistem em menos ou mais instrumentos a tocar simultaneamente. As intensidades mudam de forma contínua sem interromper o fluxo.

Valores possíveis para a intensidade : low, medium, high

Solicitação

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

Resposta

Responde com um 204 Sem conteúdo se for bem-sucedido.

Reiniciar geração

Para reiniciar o stream, para que uma faixa diferente (melodia) comece a tocar com o mesmo url, use o método POST com streaming/restart.

Solicitação

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

Resposta

Responde com um 204 Sem conteúdo se for bem-sucedido.

Imagem-2-Música

Pode criar uma faixa com uma imagem. Antes de começar a utilizá-la, certifique-se de que está ativada ao abrigo do acordo contratual.

Solicitação

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 (obrigatório) — a sua imagem no formato jpeg/png, máximo de 10 MB

  • duration (obrigatório) — duração da faixa em segundos

  • format (opcional) — mp3 ou wav

  • bitrate (opcional) — qualidade do som medida em kbps

  • intensity (opcional) — complexidade do arranjo, menos ou mais instrumentos estão a tocar simultaneamente

  • mode (opcional) — tipo de composição (track, loop)

Valores possíveis para bitrate : 32, 96, 128, 192, 256, 320

Valores possíveis para intensity : baixo, médio, alto

track — significa uma faixa com estrutura comum com intro, drops, breaks e outro

loop — significa uma faixa que pode ser repetida em loop

Se os parâmetros opcionais forem omitidos ou contiverem valores incorretos, então os parâmetros padrão são aplicados com format=mp3, bitrate=128 , intensity=high, mode=track

Geração de BPM/Tom

Pode adicionar bpm e tonalidade aos parâmetros de geração de playlist_index.

Solicitação

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

Resposta

Responde com 200 OK com o track modelo se for bem-sucedido.

Gerar semelhantes

Você pode gerar uma faixa semelhante a uma existente. Ela não será exatamente a mesma faixa, mas será semelhante.

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

Solicitação

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

Edição de faixa

Você pode alterar alguns parâmetros de uma faixa existente.

Solicitação

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

Resposta 200 OK

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

Além disso, você pode substituir parte da faixa. Cada faixa é composta por instrumentos. A faixa pode conter instrumentos como:

BATERIA, PERCUSSÕES, CHIMBALS, PALMAS, BAIXO, MÉDIOS, LEADS, FX, VOCAIS, PADS, ASCENDENTE, IMPACTO

Estes instrumentos podem ser combinados em hastes, como

Então, estas stems contêm os seguintes instrumentos:

  • DRUMS inclui DRUMS, PERCS, HATS, CLAPS

  • BASS inclui BASS

  • LEADS inclui MIDS, LEADS, PADS

  • VOCALS inclui VOCALS

  • FX inclui FX, RISER, IMPACT

Pode substituir tanto o instrumento como a haste. Substituir instrumento(s):

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

Substituir hastes:

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

Todas estas solicitações recebem o modelo track.

Lista de Faixas

Para obter a lista de faixas, use GET com o modelo tracks.

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

A resposta contém uma lista de modelos de pistas.

Use a paginação para ver todos os dados.

Também pode obter informações sobre uma faixa 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"

A resposta contém o modelo da pista.

Loja de faixas

A funcionalidade de armazenamento de faixas permite criar um buffer com faixas pré-geradas. Funciona muito bem quando pretende obter uma faixa única com a duração, o modo e o formato exatos, sem respostas demoradas. Criamos um bucket na nuvem e configuramos um gerador dedicado para acelerar o processo de receção de ficheiros. Mubert cria várias faixas com um conjunto de parâmetros e coloca-as no bucket. Quando usa um destes ficheiros, inicia-se uma geração de faixas semelhante para preencher o buffer. A quantidade de ficheiros no bucket depende da carga média do seu serviço. Para calcular isso, também precisamos de receber de si uma lista dos seguintes parâmetros: modo, duração, bitrate, intensidade, formato. Selecione os valores destes parâmetros e envie um email ao nosso gestor para continuarmos a criar o bucket. Além disso, pode escolher as playlists que pretende pré-gerar; por predefinição, usamos todos os canais.

Receberá automaticamente o track a partir do track store quando os parâmetros do pedido de track corresponderem aos parâmetros da store. Antes de começar a usar o track store, certifique-se de que está ativado ao abrigo do acordo contratual.

Mubert Biblioteca de músicas

Preparamos uma biblioteca com mais de 12.000 faixas criadas usando a inteligência artificial da Mubert e selecionadas pelos nossos editores musicais.

Parâmetros

Use o método GET para ver estatísticas da biblioteca de música e os parâmetros pelos quais pode filtrar faixas.

Solicitação

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

Resposta

[
    {
        "param": "activities",
        "values": [
            {
                "value": "Minimal 170",
                "tracks_count": 80
            },
            {
                "value": "Bonito",
                "tracks_count": 40
            },
            {
                "value": "Meditação",
                "tracks_count": 108
            },
            .
            .
            .
        ]
    },
    {
        "param": "bpm",
        "values": [
            {
                "value": "100",
                "tracks_count": 684
            },
            {
                "value": "105",
                "tracks_count": 13
            },
            {
                "value": "108",
                "tracks_count": 186
            },
            .
            .
            .
        ]
    },
    .
    .
    .
]

Você também pode obter informações sobre um parâmetro específico. Por exemplo: 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"

Resposta

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

Isto significa que pode encontrar 315 faixas com BPM 120 no tema "Сorporate", 12 faixas no tema "Podcast", 138 faixas no género "Nu Disco" e 27 faixas no género "Folk".

Você pode especificar vários parâmetros e então o AND lógico será aplicado a eles.

Solicitação

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"

Resposta

[
    {
        "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": "duração",
        "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
            }
        ]
    }
]

Na resposta, também pode ver a contagem de faixas de cada duração correspondente ao pedido BPM 120 AND Genre Nu Disco

Faixas

Use o método GET para receber a lista de faixas.

Solicitação

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

Resposta

{
    "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": "concluído",
                    "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
    }
}

A resposta contém uma lista de modelos de faixas. Use paginação para ver todos os dados. Você também pode usar um ou mais parâmetros para filtrar faixas e encontrar as mais adequadas. Por exemplo: BPM 120 AND Gênero Nu Disco AND Duração 180

Solicitação

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"

Resposta

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

Na resposta, inclua também uma lista dos modelos de trilhas. Use paginação para ver todos os dados.

Swagger

Para obter informações mais técnicas, você pode usar o Swagger: https://music-api.mubert.com/api/v3/swagger

Preços

Transparente e Flexível

Transparente e Flexível

Tente por apenas $49 por mês

Plano de Teste

Para custdev e testes

$49

/ mês

100 gerações / mês

100 minutos de streaming / mês

Características incluídas:

100 Faixas Geradas

100 Minutos de Streaming

Texto-para-Música

Imagem-2-Música

Alta Qualidade

Não reembolsável

Conteúdo Monetizado

Biblioteca Curada

Sub-licenciamento

Distribuição

Suporte Dedicado

Plano de Startup

Para pequenos produtos

R$199

/ mês

5.000 gerações / mês

5.000 minutos de streaming / mês

Características incluídas:

Todos os Recursos de Teste

5.000 Faixas Geradas

5.000 minutos de streaming

12.000+ Biblioteca Curada

Webhooks

Qualidade Sem Perdas

Conteúdo Monetizado

Não reembolsável

Sub-licenciamento

Distribuição

Suporte Dedicado

Plano de Startup

Para aplicativos grandes

R$499

/ mês

30.000 gerações / mês

30.000 minutos de streaming / mês

Características incluídas:

Todos os Recursos de Startup

30.000 Faixas Geradas

30.000 Minutos de Streaming

Não reembolsável

Sub-licenciamento

Suporte Dedicado

Distribuição

Plano Personalizado

Para pedidos especiais, envie-nos uma mensagem para [email protected]

Possíveis funcionalidades:

Vozes

Estems de Música Personalizados

Identidade Sonora

Horários de Música

Publicidade

Plano de Teste

Para custdev e testes

$49

/ mês

100 gerações / mês

100 minutos de streaming / mês

Características incluídas:

100 Faixas Geradas

100 Minutos de Streaming

Texto-para-Música

Imagem-2-Música

Alta Qualidade

Não reembolsável

Conteúdo Monetizado

Biblioteca Curada

Sub-licenciamento

Distribuição

Suporte Dedicado

Plano de Startup

Para pequenos produtos

R$199

/ mês

5.000 gerações / mês

5.000 minutos de streaming / mês

Características incluídas:

Todos os Recursos de Teste

5.000 Faixas Geradas

5.000 minutos de streaming

12.000+ Biblioteca Curada

Webhooks

Qualidade Sem Perdas

Conteúdo Monetizado

Não reembolsável

Sub-licenciamento

Distribuição

Suporte Dedicado

Plano de Startup

Para aplicativos grandes

R$499

/ mês

30.000 gerações / mês

30.000 minutos de streaming / mês

Características incluídas:

Todos os Recursos de Startup

30.000 Faixas Geradas

30.000 Minutos de Streaming

Não reembolsável

Sub-licenciamento

Suporte Dedicado

Distribuição

Plano Personalizado

Para pedidos especiais, envie-nos uma mensagem para [email protected]

Possíveis funcionalidades:

Vozes

Estems de Música Personalizados

Identidade Sonora

Horários de Música

Publicidade

Plano de Teste

Para custdev e testes

$49

/ mês

100 gerações / mês

100 minutos de streaming / mês

Características incluídas:

100 Faixas Geradas

100 Minutos de Streaming

Texto-para-Música

Imagem-2-Música

Alta Qualidade

Não reembolsável

Conteúdo Monetizado

Biblioteca Curada

Sub-licenciamento

Distribuição

Suporte Dedicado

Plano de Startup

Para pequenos produtos

R$199

/ mês

5.000 gerações / mês

5.000 minutos de streaming / mês

Características incluídas:

Todos os Recursos de Teste

5.000 Faixas Geradas

5.000 minutos de streaming

12.000+ Biblioteca Curada

Webhooks

Qualidade Sem Perdas

Conteúdo Monetizado

Não reembolsável

Sub-licenciamento

Distribuição

Suporte Dedicado

Plano de Startup

Para aplicativos grandes

R$499

/ mês

30.000 gerações / mês

30.000 minutos de streaming / mês

Características incluídas:

Todos os Recursos de Startup

30.000 Faixas Geradas

30.000 Minutos de Streaming

Não reembolsável

Sub-licenciamento

Suporte Dedicado

Distribuição

Plano Personalizado

Para pedidos especiais, envie-nos uma mensagem para [email protected]

Possíveis funcionalidades:

Vozes

Estems de Música Personalizados

Identidade Sonora

Horários de Música

Publicidade

está ao vivo agora — Dê trilha sonora aos seus vídeos

Gere música em mais de 200 humores e temas. Integre a API do Mubert nos seus aplicativos, agentes de IA, jogos e transmissões ao vivo. Música livre de royalties.

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

Portuguese

© 2016 – 2026, Mubert Inc. Toda música transmitida nos domínios *.mubert.com é gerada (criada, composta, gravada) por Inteligência Artificial (algoritmo, software, programa) de propriedade da Mubert® Inc e licenciada pela Mubert® Inc apenas para uso pessoal. Todos os direitos estão reservados. A reprodução pública, gravação, distribuição desta música é proibida.

Gere música em mais de 200 humores e temas. Integre a API do Mubert nos seus aplicativos, agentes de IA, jogos e transmissões ao vivo. Música livre de royalties.

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

Portuguese

© 2016 – 2026, Mubert Inc. Toda música transmitida nos domínios *.mubert.com é gerada (criada, composta, gravada) por Inteligência Artificial (algoritmo, software, programa) de propriedade da Mubert® Inc e licenciada pela Mubert® Inc apenas para uso pessoal. Todos os direitos estão reservados. A reprodução pública, gravação, distribuição desta música é proibida.

Gere música em mais de 200 humores e temas. Integre a API do Mubert nos seus aplicativos, agentes de IA, jogos e transmissões ao vivo. Música livre de royalties.

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

Portuguese

© 2016 – 2026, Mubert Inc. Toda música transmitida nos domínios *.mubert.com é gerada (criada, composta, gravada) por Inteligência Artificial (algoritmo, software, programa) de propriedade da Mubert® Inc e licenciada pela Mubert® Inc apenas para uso pessoal. Todos os direitos estão reservados. A reprodução pública, gravação, distribuição desta música é proibida.